Sprintcheckout
Permite que tu agente de codificación configure pagos de SprintCheckout: lee configuraciones, pedidos y recibos, crea enlaces de pago y claves API. Servidor MCP remoto, OAuth 2.1 con consentimiento de alcance limitado y revocable.
Documentación
Servidor MCP
Conecta tu agente de codificación a Sprintcheckout a través de MCP: lee configuraciones y pedidos, crea enlaces de pago y claves API, con consentimiento limitado que puedes revocar.
Sprintcheckout ejecuta un servidor MCP remoto para que tu agente de codificación — Claude Code, Cursor, VS Code o cualquier cliente MCP — pueda hacer las cosas que de otro modo harías manualmente en el panel: leer tu configuración de pagos, listar pedidos pagados, obtener un recibo, crear un enlace de pago, generar una clave API. Lo autorizas una vez en el navegador con tu cuenta de Google de Sprintcheckout, marcas los alcances que deseas otorgar, y puedes revocarlo en cualquier momento desde Panel → Desarrolladores.
Nota
Dos máquinas diferentes, dos documentos diferentes. Un agente de codificación integra y configura tu cuenta — esa es esta página. Un agente de compra te paga a través de x402 y no necesita MCP en absoluto; consulta Aceptación de pagos x402.
| Endpoint | https://mcp.sprintcheckout.com/mcp |
| Transporte | HTTP transmisible, solo POST (un GET devuelve 405) |
| Versiones de protocolo | 2026-07-28 y 2025-11-25 |
| Autorización | Código de autorización OAuth 2.1 + PKCE (S256), inicio de sesión en el navegador con Google |
| Registro de cliente | Documentos de metadatos de ID de cliente — sin registro dinámico de cliente, y no se necesita ninguno |
Instalación
El servidor no necesita clave API ni proceso local — es una URL. Cada cliente a continuación autoriza en tu navegador la primera vez que usas una herramienta.
```bash theme={null} claude mcp add --transport http sprintcheckout https://mcp.sprintcheckout.com/mcp ```Luego ejecuta `/mcp` y elige autenticarte. Claude Code abre la página de consentimiento en tu navegador.
Para compartir el servidor con un repositorio, confirma un `.mcp.json` en su raíz:
```json .mcp.json theme={null}
{
"mcpServers": {
"sprintcheckout": {
"type": "http",
"url": "https://mcp.sprintcheckout.com/mcp"
}
}
}
```
Un clic — [**Agregar Sprintcheckout a Cursor**](cursor://anysphere.cursor-deeplink/mcp/install?name=sprintcheckout\&config=eyJ1cmwiOiJodHRwczovL21jcC5zcHJpbnRjaGVja291dC5jb20vbWNwIn0=)
Si el enlace no se abre, pega esto en la barra de direcciones de tu navegador:
```text Cursor deeplink theme={null}
cursor://anysphere.cursor-deeplink/mcp/install?name=sprintcheckout&config=eyJ1cmwiOiJodHRwczovL21jcC5zcHJpbnRjaGVja291dC5jb20vbWNwIn0=
```
El valor de `config` es base64 de `{"url":"https://mcp.sprintcheckout.com/mcp"}`. O edita
`~/.cursor/mcp.json` (global) o `.cursor/mcp.json` (por proyecto) manualmente:
```json .cursor/mcp.json theme={null}
{
"mcpServers": {
"sprintcheckout": {
"url": "https://mcp.sprintcheckout.com/mcp"
}
}
}
```
Un clic — [**Agregar Sprintcheckout a VS Code**](https://vscode.dev/redirect/mcp/install?name=sprintcheckout\&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.sprintcheckout.com%2Fmcp%22%7D)
O desde una terminal:
```bash theme={null}
code --add-mcp '{"name":"sprintcheckout","type":"http","url":"https://mcp.sprintcheckout.com/mcp"}'
```
O confirma `.vscode/mcp.json` en el espacio de trabajo:
```json .vscode/mcp.json theme={null}
{
"servers": {
"sprintcheckout": {
"type": "http",
"url": "https://mcp.sprintcheckout.com/mcp"
}
}
}
```
Apunta el cliente a `https://mcp.sprintcheckout.com/mcp` como un servidor **HTTP transmisible**. Él
descubre todo lo demás por sí mismo:
```bash theme={null}
curl -i -X POST https://mcp.sprintcheckout.com/mcp \
--header 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```
```http 401 Unauthorized theme={null}
HTTP/2 401
WWW-Authenticate: Bearer resource_metadata="https://mcp.sprintcheckout.com/.well-known/oauth-protected-resource", scope="settings:read orders:read"
```
El cliente sigue `resource_metadata` al documento de recurso protegido, luego a los
metadatos del servidor de autorización, y ejecuta el flujo de código + PKCE. Consulta
[Documentos de descubrimiento](#discovery-documents).
Herramientas
Nota
tools/listdevuelve todas las herramientas sin importar qué alcances hayas otorgado, y cada descripción nombra el alcance que necesita. Eso es deliberado: un agente de codificación solo puede pedirte un alcance que pueda ver.
| Herramienta | Alcance | Qué hace |
|---|---|---|
get_payment_settings | settings:read | Detalles del negocio, cadenas configuradas y los tokens aceptados en cada una. Nunca devuelve tu dirección de billetera de pagos — solo si está configurada. |
list_orders | orders:read | Pedidos pagados, más recientes primero, paginados con page y size. |
get_receipt | orders:read | Un recibo público por publicOrderId (con o sin el prefijo TX-). |
list_api_keys | keys:read | Claves API enmascaradas — … más los últimos cuatro caracteres — y un conteo. Nunca en texto claro. |
create_payment_session | sessions:write | Crea un enlace de pago real en tu cuenta activa. |
create_api_key | keys:write | Genera una clave API y la devuelve una vez. Nunca se puede leer de nuevo. |
También hay un recurso, sprintcheckout://quickstart (requiere settings:read): una breve
guía de inicio en markdown renderizada desde el estado de tu cuenta activa — las cadenas y tokens que realmente
aceptas, si una dirección de pago está configurada, y la ruta base de la API.
create_payment_session
Más allá de amount, currency y orderType, toma:
editable+minAmount— un monto elegido por el comprador con un mínimo.minAmounten una sesión de monto fijo es rechazado, no ignorado.chains— limita una sesión a cadenas y tokens específicos, validados contra lo que tu cuenta acepta, y opcionalmente nombrando unpublicAddressal que debe ir este pago en particular.
{
"amount": 10.00,
"currency": "USD",
"orderType": "TRANSIENT",
"chains": [
{ "name": "base", "tokens": ["USDC"], "publicAddress": "0xAf1D…dA32" }
]
}
Advertencia
Los argumentos desconocidos son rechazados por nombre, nunca ignorados silenciosamente. Llamar a una herramienta con un argumento que no acepta no hace nada y devuelve un error nombrando lo que rechazó y lo que la herramienta acepta. Nada de lo que pediste se descarta silenciosamente.
Alcances
Iniciar sesión otorga los dos alcances de lectura. Todo lo demás es opt-in, y la pantalla de consentimiento muestra cada uno en lenguaje claro con lectura y elevado claramente separados.
| Alcance | Otorgado | Qué permite |
|---|---|---|
settings:read | En la primera autorización | Leer la configuración de pagos y el recurso de inicio rápido. |
orders:read | En la primera autorización | Leer pedidos pagados y recibos públicos. |
sessions:write | Opt-in | Crear enlaces de pago en tu cuenta activa, incluidos enlaces que nombran su propia dirección de destino. |
keys:read | Opt-in | Listar claves API, enmascaradas. |
keys:write | Opt-in | Generar nuevas claves API. |
Escalada: cómo un agente de codificación pide más
Llamar a una herramienta que no otorgaste devuelve 403 nombrando exactamente el alcance que necesita — todos en un
solo desafío, nunca uno a la vez:
HTTP/2 403
WWW-Authenticate: Bearer error="insufficient_scope", scope="keys:write", resource_metadata="https://mcp.sprintcheckout.com/.well-known/oauth-protected-resource"
Tu cliente luego vuelve a ejecutar la autorización pidiendo ese alcance, y tú lo apruebas o rechazas en el navegador.
Consejo
También puedes otorgar más de lo que el agente de codificación pidió. La pantalla de consentimiento lista cada alcance otorgable; los que el cliente solicitó están pre-marcados, el resto están desmarcados y son tuyos para agregar. Un alcance elevado nunca está pre-marcado para ti.
Lo que un agente de codificación no puede hacer
Advertencia
La dirección de billetera de pagos en tu cuenta no se puede cambiar a través de MCP. No hay herramienta para ello, no hay alcance para ello, y no hay casilla en la pantalla de consentimiento que pueda otorgar uno. La API rechaza el cambio incluso si se intenta directamente. Cambiarlo es solo desde el panel, por ti, con sesión iniciada.
Hay una excepción real que debes entender antes de otorgar sessions:write: un enlace de pago
creado con create_payment_session puede nombrar una dirección de destino para ese pago, y
x402 paga la dirección que anuncia el enlace. No puede tocar la dirección en tu cuenta, y no
puede redirigir ningún otro pago — pero puede dirigir el pago que crea. Otorga sessions:write
solo a un agente de codificación en el que confiarías para recibir un pago en tu nombre.
Más allá de eso:
- Las claves API nunca son legibles.
create_api_keydevuelve una clave una vez;list_api_keysenmascara cada valor, incluido el recién generado. Guárdala inmediatamente o se pierde. - La generación está limitada al doble — 5 claves por 24 horas por autorización, y 25 claves en la cuenta.
get_payment_settingsno contiene ninguna dirección de billetera en ningún lugar, solo un booleano configurado/no configurado por cadena.- Cada llamada a herramienta es auditada, incluidas las rechazadas. Los argumentos se registran como un digest SHA-256, nunca en texto claro.
- Las llamadas a herramientas están limitadas a 300 por hora por autorización.
Gestión y revocación de acceso
Abre Panel → Desarrolladores → Agentes de codificación autorizados. Cada autorización está listada con el nombre del cliente, su dominio, los alcances que otorgaste, las etiquetas de cualquier clave API que creó, cuándo lo autorizaste y cuándo se usó por última vez.
Revocar tiene efecto inmediato. La próxima solicitud que haga ese agente de codificación es rechazada — el servidor vuelve a verificar tu concesión en cada llamada, por lo que un token ya en sus manos deja de funcionar en el momento en que revocas, no cuando expira. Para usar el servidor de nuevo, debe ser autorizado de nuevo desde tu editor.
Documentos de descubrimiento
Todo lo que un cliente necesita está publicado; nunca deberías tener que configurarlo manualmente.
| Documento | URL |
|---|---|
| Metadatos de recurso protegido (RFC 9728) | https://mcp.sprintcheckout.com/.well-known/oauth-protected-resource — también servido en /.well-known/oauth-protected-resource/mcp |
| Metadatos del servidor de autorización (RFC 8414) | https://mcp.sprintcheckout.com/.well-known/oauth-authorization-server |
| Claves de firma | https://mcp.sprintcheckout.com/.well-known/jwks.json |
{
"resource": "https://mcp.sprintcheckout.com/mcp",
"authorization_servers": ["https://mcp.sprintcheckout.com"],
"scopes_supported": ["settings:read", "orders:read"],
"bearer_methods_supported": ["header"],
"resource_documentation": "https://docs.sprintcheckout.com/mcp-server"
}
Nota
Los tokens de acceso están vinculados a este servidor y no valen nada en ningún otro lugar. Su audiencia es
https://mcp.sprintcheckout.com/mcp; presentar uno a la API regular de Sprintcheckout enapi.sprintcheckout.comdevuelve401. Los tokens de acceso son de corta duración y se actualizan automáticamente por tu cliente, con rotación de tokens de actualización.
Nota
No hay un endpoint de registro dinámico de cliente, a propósito. DCR está obsoleto a partir de la especificación MCP
2026-07-28; este servidor admite Documentos de metadatos de ID de cliente en su lugar, que cada cliente actual anterior usa. Un cliente que solo puede hacer DCR no puede conectarse.