readeck-mcp
Readeck MCP
Un servidor MCP que convierte una biblioteca de Readeck en una base de conocimiento de lectura/escritura para agentes de IA: los agentes pueden enviar el HTML que generan directamente a Readeck (auto-etiquetado por un LLM) y después recuperar y leer esos documentos. Construido con FastMCP — el mismo código se ejecuta como servidor local stdio o como servidor remoto HTTP detrás de un proxy inverso.
A diferencia de los MCP de Readeck existentes (que son asistentes de solo lectura), este ingiere HTML generado por agentes y lo auto-etiqueta con un LLM a partir de una taxonomía fija.
Herramientas
Herramienta | Propósito |
| Guardar HTML sin procesar como marcador legible; auto-etiqueta cuando no se dan etiquetas. |
| Búsqueda: encontrar el/los documento(s) que mejor coinciden y devolver su texto legible completo. |
| Buscar en la biblioteca (solo metadatos). |
| Listar las etiquetas existentes con recuentos. |
readeck_save utiliza la API de creación JSON de Readeck con el campo html de HTML sin procesar (base64/data-URI no funcionan). Envía un User-Agent de navegador para que un WAF (p. ej. el error 1010 de Cloudflare) no lo bloquee, y hace un breve sondeo para devolver el id, word_count y reading_url del nuevo marcador.
Related MCP server: Doc Monitor MCP
Auto-etiquetado
Cuando se llama a readeck_save sin labels, un LLM clasifica el documento. Es resistente a inyecciones por diseño: el modelo solo puede elegir entre una taxonomía fija (LABEL_TAXONOMY), y el resultado se cruza con esa lista en el lado del servidor, por lo que es imposible tener etiquetas fuera del vocabulario. Una etiqueta de origen (ORIGIN_LABEL, por defecto propio) siempre la añade el menú, nunca el LLM.
Independiente del proveedor (compatible con OpenAI o Anthropic). Funciona con planes gratuitos como Groq — para modelos de razonamiento como gpt-oss configura un LLM_MAX_TOKENS generoso y el servidor envía reasoning_effort: low automáticamente.
Salvaguardas
Autenticación HTTP de bloqueo ante fallos: mediante
autorizaciónde transporte HTTP, cada tool en invoca requiereAuthorization: Bearer $MCP_AUTH_TOKEN(comparación de tiempo constante).Validación de entradas: límite de tamaño de HTML, rechazo de no-HTML, lista de permitidos de esquemas de URL, saneamiento y comprobación de límites de etiquetas.
Limitación de ritmo tipo token-bucket por proceso.
Las llamadas LLM se reintentan en 429/5xx con retroceso y se degradan correctamente (el etiquetado es de mejor esfuerzo; un error nunca bloquea el guardado).
Configuración (entorno)
Variable | Por defecto | Notas |
|
| URL base de Readeck. |
| — | Requerido. Readeck → Ajustes → Tokens de API. |
|
|
|
|
| Solo modo http. |
| — | Requerido en modo http (bloqueo ante autenticaciones). |
|
| Habilitar el auto-etiquetado por LLM. |
|
| Etiqueta de origen siempre añadida. |
| ver | Vocabulario cerrado separado por comas. |
|
| Número máximo de temas LLM por documento. |
|
|
|
|
| Incluye el prefijo de versión para openai (p. ej. |
|
| Cualquier modelo de chat del proveedor elegido. |
| — | Clave para el proveedor de LLM. |
|
| Presupuesto de salida / texto de entrada enviado. |
Local (stdio)
READECK_TOKEN=... uv run --script server.py --selftest # smoke testRegístrate con un cliente MCP (mcpServers), por ejemplo:
{
"mcpServers": {
"readeck": {
"command": "uv",
"args": ["run", "--script", "/path/to/readeck-mcp/server.py"],
"env": { "READECK_URL": "https://readeck.example.com", "READECK_TOKEN": "..." }
}
}
}Remoto (HTTP / Docker)
Ejecútalo con READECK_MCP_TRANSPORT=http (ver Dockerfile). Colócalo detrás de tu proxy inverso o túnel, por ejemplo en https://mcp-readeck.example.com. Cuando se ejecute junto a Readeck, define READECK_URL=http://readeck:8000 para evitar el doble viaje público. Apunta los clientes al endpoint:
{
"mcpServers": {
"readeck": {
"type": "http",
"url": "https://mcp-readeck.example.com/mcp",
"headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
}
}
}Nota: usa la ruta del endpoint sin barra final (
/mcp, no/mcp/): algunos proxies convierten la redirección de la barra final en un 307 que rompe los clientes streamable-HTTP.
Define siempre un MCP_AUTH_TOKEN robusto antes de exponer el endpoint: ese token concede acceso de escritura a tu biblioteca.
Licencia
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI agents and coding assistants with advanced web crawling and RAG capabilities, allowing them to scrape websites and leverage that knowledge through various retrieval strategies.2MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to monitor web documentation for changes, perform semantic search with RAG, and analyze breaking changes in APIs.9
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and search library documentation from GitHub repositories or web pages using RAG and web scraping.
- AlicenseNot gradedqualityDmaintenanceProvides AI agents and assistants with advanced web crawling and RAG capabilities, enabling them to scrape websites and perform semantic search over crawled content.1MIT
Related MCP Connectors
Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Shared knowledge base for AI agents. Semantic search across agents, no setup required — just a URL.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alozur/readeck-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server