Sitelet https://cursor.com/es/docs/api/origin/mcp
Skip to main content

Command Palette

Search for a command to run...

API

Origin MCP

El servidor MCP de Origin permite a los agentes de programación acceder a los repositorios y pull requests alojados en Origin (origin.cursor.com). Abarca la exploración y búsqueda de repositorios, commits y ramas, la lectura y escritura de pull requests, revisiones y comentarios, etiquetas, revisores y comprobaciones. Las herramientas solo ven los repositorios alojados en Origin, identificados por su espacio de nombres de Origin (owner) y el name del repositorio. Un repositorio que se replica en Origin se considera alojado allí.

Para ver todas las herramientas con sus parámetros, límites y campos de retorno, consulta la referencia de herramientas.

Endpoints

URLHerramientas disponibles
https://api.origin.cursor.com/mcpTodas las herramientas que el llamador puede usar.
https://api.origin.cursor.com/mcp/readonlyÚnicamente herramientas de solo lectura. Las herramientas de escritura se ocultan y se rechazan.

Enviar el encabezado x-mcp-readonly: true a /mcp equivale a llamar a /mcp/readonly.

Transporte

El servidor usa MCP sobre HTTP transmisible (streamable HTTP) sin estado:

  • Envía cada mensaje JSON-RPC como una solicitud HTTP POST con Content-Type: application/json. Los demás métodos devuelven 405 y los demás tipos de contenido devuelven 415.
  • Las respuestas son JSON sin formato. El servidor no abre flujos de eventos enviados por el servidor (SSE) ni mantiene sesiones, así que cada solicitud es independiente.
  • El servidor solo es compatible con la funcionalidad de herramientas: no admite recursos, instrucciones ni muestreo.
  • Las solicitudes tienen un límite de tamaño y un tiempo máximo. Si una solicitud supera el tamaño permitido, se devuelve 413.

Autenticación

Envía un token de portador en el encabezado Authorization. El servidor acepta:

Las herramientas actúan en nombre del llamador autenticado. Cada llamada se somete a las mismas comprobaciones de permisos y límites de uso que la solicitud equivalente a la API de Origin, por lo que una herramienta solo puede hacer lo que el llamador podría hacer a través de la API. La referencia de herramientas indica los scopes que necesita cada herramienta. Las sesiones del agente de programación con scopes limitados no ven las herramientas que sus scopes rechazarían en cualquier caso.

Si la autenticación falla, se devuelve 401 (credenciales ausentes o no válidas), 403 (no permitido) o 503 (no se pueden comprobar las credenciales temporalmente).

Confirmación

Las herramientas destructivas o difíciles de deshacer, como fusionar una pull request o descartar una revisión, establecen _meta["cursor/requiresConfirmation"]: true en tools/list. Los clientes de Cursor muestran una solicitud de aprobación antes de cada llamada a este tipo de herramientas. Otros clientes MCP pueden usar el mismo indicador, o la anotación estándar destructiveHint, para decidir cuándo pedir confirmación al usuario.

Errores

Cuando una herramienta falla, devuelve un resultado normal de herramienta MCP con isError: true. El contenido de texto es un mensaje legible seguido de un ID de solicitud. El contenido estructurado es el siguiente:

{  "data": {    "category": "not_found",    "message": "…",    "requestId": "6e0d261c-86a2-4383-89f0-9162c1c10662",    "retryAfterSeconds": 30,    "rateLimit": { "limit": "…", "remaining": "…", "reset": "…" }  }}

category puede ser not_found, forbidden, quota_exceeded, conflict, validation_error o upstream_failure. retryAfterSeconds y rateLimit solo aparecen cuando la llamada ha superado el límite de uso. Incluye el ID de solicitud al informar de un problema.

Las herramientas desconocidas y los parámetros no válidos devuelven errores JSON-RPC en lugar de resultados de herramientas.

Paginación

Las herramientas de listado aceptan pageSize y pageToken, y devuelven nextPageToken. Pasa el nextPageToken devuelto como pageToken para obtener la página siguiente; en la última página no se incluye. Las herramientas que filtran una lista, como list_pull_requests, requieren los mismos filtros en todas las páginas.