SETTO API

Entrar con tu cuenta de SETTO

Conecta claude.ai, ChatGPT, Codex o Claude Code a SETTO con OAuth en lugar de un token. Apruebas seis permisos en app.setto.io, la aplicación actúa como tú, cada cambio queda en «Actividad» y «Conexiones» la desconecta.

claude.ai, ChatGPT y Codex solo se conectan a servidores MCP remotos con OAuth, y Claude Code también lo admite. SETTO es su propio servidor de autorización OAuth, así que estas aplicaciones se conectan al servidor MCP en https://docs.setto.io/mcp con tu cuenta de SETTO: no hay token que crear, copiar ni pegar. Apruebas lo que la aplicación puede hacer en una pantalla de consentimiento en app.setto.io, y puedes cortarle el acceso cuando quieras.

Cómo funciona

  1. Agregas https://docs.setto.io/mcp en la aplicación.
  2. La aplicación abre SETTO en tu navegador. Si todavía no iniciaste sesión en SETTO, inicias sesión primero y vuelves a la misma solicitud.
  3. La pantalla de consentimiento de SETTO nombra la aplicación, su dominio, la dirección a la que vas a volver y la cuenta con la que iniciaste sesión, y lista los seis permisos con todos los que pidió la aplicación ya marcados. Desmarca lo que no quieras permitir; «Leer» siempre va incluido.
  4. Eliges Permitir acceso. SETTO te regresa a la aplicación, que ya tiene un token de acceso de tu cuenta.
  5. Desde ese momento cada llamada de herramienta actúa como tú: alcanza los torneos que administras — los que creaste, los que te invitaron a administrar y los de cada organización a la que perteneces, hoy y más adelante — y solo con los permisos que diste. Cada cambio que haga queda registrado en «Actividad».

El token de acceso es un token de API de SETTO como cualquier otro: el mismo prefijo setto_live_, la misma cabecera Authorization: Bearer, así que la API REST también lo acepta. Nunca aparece en «Tokens de API»; la aplicación aparece en «Conexiones».

¿Otra cuenta?

La pantalla de consentimiento muestra la cuenta con la que iniciaste sesión. Si no es la que quieres, elige ¿No eres tú? Cerrar sesión, inicia sesión con la cuenta correcta y la misma solicitud continúa ahí. Una solicitud dura 10 minutos.

Los seis permisos

PermisoidQué permiteLo usa hoy
«Leer»readVer torneos, categorías, equipos, resultados, horarios y la actividad. Siempre incluidoTodas las herramientas de lectura, search_tournament, y propose_pool_per_court_schedule, preview_team_withdrawal, preview_division_format, preview_pools y preview_draw (no escriben nada)
«Programar partidos»scheduleAsignar y mover el día, la hora y la cancha de los partidos que no se han jugadoapply_schedule_placements
«Gestionar torneos»manageCrear y editar torneos, categorías, cabezas de serie, equipos y jugadores; inscribir equipos; sustituir a un jugador («Sustitución») o dar de baja a un equipo («Baja»); fijar el formato de una categoría, sus grupos y su cuadroLas quince herramientas de configuración: create_tournament, update_tournament, publish_tournament, set_tournament_lifecycle, create_division, update_division, delete_division, set_division_seeds, register_team, register_teams, update_team, remove_team, update_player, substitute_player, withdraw_team; y las seis de cuadros: apply_division_format, append_elimination_round, apply_pools, apply_draw, confirm_draw, set_game_teams
«Cargar resultados»resultsRegistrar, corregir y borrar resultados de partidosrecord_game_result, clear_game_result
«Página pública»landingCambiar el diseño, las secciones, los patrocinadores y la visibilidad de la página públicaNinguna herramienta todavía
«Enviar comunicaciones»communicationsEnviar correos a los participantes de tus torneosNinguna herramienta todavía

Ningún permiso cambia ningún precio, marca de pago, registro de pago ni reembolso; una baja cierra los enlaces de pago sin pagar del equipo. Además, cada permiso está limitado por lo que tú puedes hacer en el panel: una aplicación nunca hace más de lo que podrías hacer tú. Los tokens de API llevan los mismos seis permisos — consulta Qué puede cambiar un token.

Un permiso que desmarcas no se otorga, y la aplicación no puede agregarlo a mitad de una sesión. Para cambiar lo que una aplicación puede hacer, conéctala otra vez desde la aplicación: el nuevo consentimiento reemplaza los permisos que tenía (la pantalla de consentimiento te lo avisa cuando ya la habías conectado). O desconéctala primero en «Conexiones».

Conecta tu aplicación

La URL del servidor es la misma en todas: https://docs.setto.io/mcp.

  1. En claude.ai abre Personalizar → Conectores (Customize → Connectors), elige + Agregar y luego Agregar conector personalizado.
  2. Llámalo SETTO, pega https://docs.setto.io/mcp y continúa. claude.ai encuentra el inicio de sesión de SETTO por sí solo, así que deja vacíos los campos de cliente OAuth.
  3. Elige Agregar y luego inicia sesión cuando claude.ai te lo pida: se abre la pantalla de consentimiento de SETTO, apruebas los permisos y claude.ai lista las herramientas de SETTO.

Los conectores personalizados funcionan en todos los planes de Claude; en Free puedes agregar uno. En Team y Enterprise un propietario agrega el conector una vez, en la configuración de la organización (Organization settings → Connectors), y luego cada miembro elige Conectar en Personalizar → Conectores e inicia sesión con su propia cuenta de SETTO. Claude Desktop usa el mismo conector.

Otros clientes:

  • Claude Desktop usa los conectores de tu cuenta de Claude: agrega SETTO como en la pestaña de claude.ai.
  • VS Code también puede iniciar sesión: agrega el servidor sin su bloque headers y VS Code abre el inicio de sesión de SETTO.
  • Cursor todavía no puede iniciar sesión en SETTO: vuelve a una dirección cursor://, y el inicio de sesión de SETTO solo regresa a direcciones https:// y locales (http://localhost). Conecta Cursor con un token de API, como en la página del servidor MCP.

«Conexiones»: ver y desconectar aplicaciones

En app.setto.io → Configuración → Conexiones ves cada aplicación conectada a tu cuenta: su nombre y dominio, los permisos que le diste, cuándo la conectaste y cuándo se usó por última vez. Una aplicación que publica sus propios metadatos de cliente muestra un dominio verificado; el nombre de cualquier otra es el que ella misma declaró.

Desconectar le corta el acceso de inmediato. Su siguiente llamada de herramienta falla, su siguiente petición se rechaza, y tiene que pedirte que inicies sesión otra vez. Puedes tener hasta 25 aplicaciones conectadas.

«Actividad»

Cada cambio que una aplicación o un token hace en SETTO queda registrado en «Actividad»: quién actuó (tú, a través de qué aplicación o token), qué cambió, cuándo, y si funcionó o se rechazó, con su código. Crear o revocar un token, y conectar o desconectar una aplicación, también quedan registrados. La encuentras en Configuración → Actividad (tus aplicaciones y tokens), en la configuración de una organización (sus torneos y sus tokens) y en el menú de cada torneo. Una aplicación conectada lee los cambios que las aplicaciones y los tokens hicieron en los torneos que alcanza con la herramienta list_activity (GET /v1/external/activity). Lo que editas a mano en un torneo desde el panel no aparece ahí. Si guardar un renglón falla, el cambio ya hecho se conserva, ese renglón falta y SETTO recibe un aviso.

Solución de problemas

Lo que vesPor quéQué hacer
Un error de herramienta unauthorized, o la aplicación te pide iniciar sesión otra vezDesconectaste la aplicación en «Conexiones», o su acceso expiróInténtalo una vez más: la aplicación renueva su acceso o abre el inicio de sesión de SETTO. Si sigue fallando, conecta SETTO otra vez desde la aplicación
INSUFFICIENT_SCOPEA la conexión le falta el permiso que necesita esa herramienta, por ejemplo «Programar partidos»Conecta SETTO otra vez desde la aplicación y deja ese permiso marcado en la pantalla de consentimiento
«La solicitud expiró» en la pantalla de consentimientoUna solicitud de inicio de sesión dura 10 minutosEmpieza a conectar otra vez desde la aplicación
«Tienes demasiadas aplicaciones conectadas»Llegaste a 25 aplicaciones conectadasDesconecta una en Configuración → Conexiones y vuelve a intentarlo
Cursor no puede iniciar sesiónVuelve a una dirección cursor://, que SETTO todavía no aceptaUsa un token de API en Cursor

Para desarrolladores

La api de SETTO es su propio servidor de autorización OAuth 2.1, y el servidor MCP es un recurso protegido de ella.

Metadatos del servidor de autorizaciónhttps://api.setto.io/.well-known/oauth-authorization-server (RFC 8414; el mismo documento en /.well-known/openid-configuration)
Emisor (issuer)https://api.setto.io, enviado también como iss en cada respuesta de autorización que vuelve a la aplicación (RFC 9207)
Metadatos del recurso protegidohttps://docs.setto.io/.well-known/oauth-protected-resource/mcp (RFC 9728), nombrados en resource_metadata de cada 401 de /mcp
Endpointshttps://api.setto.io/v1/oauth/authorize, /v1/oauth/token, /v1/oauth/register, /v1/oauth/revoke
FlujoCódigo de autorización con PKCE, solo S256; solo clientes públicos (token_endpoint_auth_method: none)
Identidad del clienteUn Client ID Metadata Document (un client_id https://, preferido) o Dynamic Client Registration
Redirect URIshttps://, o http:// de loopback (localhost, 127.0.0.1, [::1], cualquier puerto). Los esquemas privados como cursor:// se rechazan
Errores de autorizaciónUn cliente desconocido o una redirect URI sin registrar: un 400 JSON, nunca una redirección. Después de eso, una petición incorrecta es un 400 JSON sin Location si la redirect URI es https://, y un 302 con error, state e iss si es de loopback. Elegir No permitir en la pantalla de consentimiento siempre vuelve a la aplicación
Scopesread schedule manage results landing communications, separados por espacios. read siempre se otorga; openid, offline_access, profile y email se ignoran
Recurso (RFC 8707)https://docs.setto.io/mcp (el predeterminado) o https://api.setto.io/v1/external
Token de acceso30 días. Un token de API de SETTO (setto_live_…)
Refresh tokenRota en cada uso; la sesión de la aplicación termina 90 días después de iniciarse
RevocaciónPOST /v1/oauth/revoke (RFC 7009), o «Desconectar» en «Conexiones»

El 401 de /mcp no lleva scope= a propósito: así los clientes piden lo que listan los metadatos del recurso protegido — los seis permisos — y el organizador decide en la pantalla de consentimiento.

Relacionado

  • Servidor MCP — las herramientas, el flujo de programación y la conexión con un token de API.
  • Autenticación — los tokens de API, los seis permisos y la diferencia entre 401 y 403.
  • Agent Skills — la alternativa agnóstica al cliente.

En esta página