Saltar al contenido principal

Conectar un cliente MCP

Disponible enFreeProResearch

Readsira ejecuta un servidor del Model Context Protocol, para que los asistentes puedan buscar y leer tu biblioteca mientras trabajas. El asistente trae su propio modelo: Readsira solo devuelve pasajes y documentos, con un enlace de vuelta a cada fuente.

  • URL del servidor: https://api.readsira.com/mcp
  • Transporte: Streamable HTTP, sin estado (no hay sesión que mantener)
  • Autenticación: iniciar sesión con Readsira (OAuth) para Claude y ChatGPT, o una clave MCP enviada como Authorization: Bearer pk_... para Claude Code, Cursor y otros clientes que aceptan una cabecera. Ambas llegan a las mismas herramientas, permisos y límites.

Claude (web y escritorio)​

  1. En Claude, abre Settings, Connectors y elige Add custom connector.
  2. Pega https://api.readsira.com/mcp y añádelo. Claude abre Readsira en tu navegador.
  3. Inicia sesión si te lo piden. La pantalla de consentimiento muestra con palabras sencillas lo que pide Claude; desmarca lo que no quieras (para buscar nunca hace falta escribir) y elige Permitir.
  4. Pídele a Claude que "busque en mi biblioteca de Readsira almacenamiento de iones de sodio".

No se pega ninguna clave. La conexión aparece en API y MCP dentro de Configuración, en la lista Apps conectadas.

ChatGPT​

  1. En ChatGPT, abre Settings, Apps and connectors y crea un conector (el modo de desarrollador debe estar activado para los conectores personalizados).
  2. Pega https://api.readsira.com/mcp como URL del servidor y elige OAuth como autenticación.
  3. ChatGPT abre Readsira: inicia sesión, revisa los permisos y elige Permitir.
  4. Activa el conector en un chat y pídele que busque en tu biblioteca.

Los nombres de los menús de Claude y ChatGPT cambian de vez en cuando; la URL del servidor y la pantalla de consentimiento de Readsira se mantienen.

Clientes con cabecera: crear una clave MCP​

En la aplicación, abre Configuración, elige API y MCP y selecciona Crear clave MCP.

La clave por defecto solo puede leer (mcp + read:library). Añade read:projects para usar tus proyectos. Añade write:bookmarks o write:notes solo si quieres que el asistente guarde enlaces o añada notas, y solo si revisas lo que hace: el texto de las páginas web puede intentar manipular a un asistente. Copia la clave ahora; se muestra una sola vez.

Añadir el servidor a tu cliente​

Claude Code​

claude mcp add --transport http readsira https://api.readsira.com/mcp \
--header "Authorization: Bearer pk_your_key"

Después escribe /mcp en una sesión de Claude Code: readsira aparece como conectado. Pregunta "busca en mi biblioteca de Readsira almacenamiento de iones de sodio". Este comando se prueba contra el servidor de Readsira antes de cada versión (claude mcp list lo muestra como conectado).

Cursor​

Añade esto a .cursor/mcp.json en tu proyecto, o a los ajustes MCP globales de Cursor:

{
"mcpServers": {
"readsira": {
"url": "https://api.readsira.com/mcp",
"headers": { "Authorization": "Bearer pk_your_key" }
}
}
}

Otros clientes que aceptan una cabecera​

Cualquier cliente que admita servidores MCP remotos por Streamable HTTP con cabeceras personalizadas funciona con la misma URL y la misma cabecera Authorization.

Clientes que solo inician sesión​

Un cliente que admita la especificación de autorización de MCP (OAuth 2.1 con registro dinámico de clientes) solo necesita la URL del servidor: descubre el inicio de sesión de Readsira a partir del servidor, como hacen Claude y ChatGPT.

Herramientas​

HerramientaPermisoQué hace
search_libraryread:libraryLos pasajes que mejor coinciden, con título, URL, página de PDF y marcas de tiempo de medios (query, limit 1-20)
get_documentread:libraryEl texto de un documento por páginas (documentId, bookmarkId o url; offset, maxChars) más tus etiquetas, notas y resaltados
list_projectsread:projectsTus proyectos, los de actividad más reciente primero (status active o archived, limit 1-50)
get_project_contextread:projectsLas instrucciones de un proyecto, decisiones tomadas, notas fijadas y fuentes; con query, los mejores pasajes del proyecto (maxChars hasta 32 000)
add_bookmarkwrite:bookmarksGuarda una URL; guardar una que ya tienes devuelve created: false y solo añade etiquetas. Con projectId (necesita también write:projects), la añade además a ese proyecto
create_notewrite:notesAñade una nota a uno de tus elementos guardados (bookmarkId), o añade una nota a un proyecto (projectId, title opcional; necesita write:projects); pasa a ser buscable

Las herramientas que los permisos de tu clave no permiten no aparecen en la lista. get_project_context da al asistente las instrucciones del proyecto para que pueda seguirlas mientras trabaja para ti en ese proyecto. Cuando el contexto es más largo que maxChars, se dejan fuera primero las fuentes, después los pasajes, las notas y las decisiones, y el resultado dice truncated: true.

Los errores de las herramientas vuelven como resultados de herramienta con isError: true y un código: SCOPE_REQUIRED, NOT_FOUND, RATE_LIMITED (con retryAfterSeconds), PLAN_REQUIRED, VALIDATION_FAILED, URL_REJECTED y, para las escrituras en proyectos, PROJECT_LIMIT_REACHED (los elementos por proyecto del plan) o PROJECT_ARCHIVED. Si la búsqueda con IA está en pausa durante el día, search_library sigue respondiendo con coincidencia de texto y dice degraded: "lexical".

Límites​

PlanMCP keysTool calls per dayCalls per hour per keyTools
Free110060read tools
Pro1010,000600all
Research1025,0001,200all

Los días son UTC. Enumerar herramientas no cuenta; leer un documento largo cuenta una llamada por cada 12 000 caracteres y las escrituras cuentan dos. Todos los límites de los planes: Límites de los planes.

Revocar y revisar​

Apps conectadas en API y MCP dentro de Configuración enumera cada aplicación que permitiste con sus permisos, cuándo se conectó y cuándo usó por última vez tu biblioteca. Desconectar la detiene al instante (su siguiente llamada se rechaza); para volver a usarla, conéctala de nuevo desde la aplicación. Recibes un aviso en la aplicación cada vez que una aplicación se conecta, para que una conexión inesperada sea visible.

La misma página enumera cada clave con su último uso y su cliente, y una tabla Actividad con cada llamada a una herramienta (hora, herramienta, estado, cliente, número de resultados). Readsira nunca registra ahí el texto de tus búsquedas ni de tus notas. Revocar detiene una clave al instante. La primera vez que se usa una clave recibes un aviso en la aplicación que nombra el cliente, para que un uso inesperado sea visible.

Para desarrolladores de clientes: detalles de OAuth​

Readsira es su propio servidor de autorización, según la especificación de autorización de MCP:

QuéValor
Metadatos del recurso protegido (RFC 9728)https://api.readsira.com/.well-known/oauth-protected-resource/mcp
Metadatos del servidor de autorización (8414)https://api.readsira.com/.well-known/oauth-authorization-server
Registro dinámico de clientes (7591)POST /oauth/register; clientes públicos (none) o client_secret_post / _basic
AutorizaciónGET /oauth/authorize, flujo de código con PKCE S256 solamente (plain se rechaza), state obligatorio
TokenPOST /oauth/token: authorization_code, refresh_token
Revocación (7009)POST /oauth/revoke
Permisosread:library (por defecto), read:projects, write:projects, write:bookmarks, write:notes
  • Un 401 de /mcp lleva WWW-Authenticate: Bearer resource_metadata="...", para que los clientes puedan empezar el descubrimiento desde la URL del servidor.
  • Las URI de redirección deben estar registradas y se comparan exactamente: https, o http en 127.0.0.1, localhost o [::1] para aplicaciones nativas.
  • La respuesta de autorización lleva iss (RFC 9207). Los códigos duran 60 segundos y sirven una sola vez.
  • Los tokens de acceso duran una hora. Los tokens de actualización rotan en cada uso; presentar de nuevo un token de actualización ya usado revoca toda la conexión.
  • Los tokens son solo para el servidor MCP; la API REST usa claves de API.
  • El registro tiene un límite de frecuencia por dirección IP, y los clientes registrados que no se usan durante 30 días se eliminan.