outline-mcp
outline-mcp
Servidor MCP de solo lectura para Outline. Da a un agente acceso de búsqueda y lectura a tu wiki — sin escrituras, por diseño.
Por qué
La API de Outline es una superficie RPC plana — cada endpoint es
POST {base}/api/<method> con un cuerpo JSON y un token Bearer. Esa uniformidad
significa que un servidor MCP útil es una única función de solicitud más una lista
de herramientas seleccionadas. Este paquete es deliberadamente pequeño: sin
dependencias de ejecución más allá del SDK de MCP y zod, y control total sobre las
descripciones de herramientas y la forma de salida que determinan si el agente
elige la herramienta correcta.
El servidor es de solo lectura: no hay ninguna ruta de creación, actualización, movimiento o archivo en el código.
Related MCP server: outline-mcp
Herramientas
Herramienta | Método de Outline | Úsalo para |
|
| Búsqueda de texto completo; devuelve fragmentos, no cuerpos |
|
| Localiza una página que ya casi puedes nombrar |
|
| Lee un documento como markdown |
|
| Encuentra valores de |
|
| Explora una colección o los hijos de un documento |
|
| Ver cómo ha cambiado un documento con el tiempo |
|
| Lee una versión anterior |
|
| Comentarios de revisores no presentes en el cuerpo |
get_document acepta una URL completa, un urlId simple o un UUID. Un urlId es
[A-Za-z0-9]{10,15} — un slug sin un sufijo de id válido se rechaza localmente,
porque la API responde 400 validation_error para ello.
Requisitos
Node 18 o superior (usa
fetchintegrado; sin dependencias nativas).Una instancia de Outline — autoalojada o Outline.com.
Primeros pasos
git clone https://github.com/minhquan2904/outline-mcp.git
cd outline-mcp
npm ciObtén una clave de API
En Outline: Configuración → API y aplicaciones → Nueva clave de API. El valor comienza con
ol_api_ seguido de 38 caracteres alfanuméricos.
Configura las dos variables de entorno
export OUTLINE_API_URL=https://your-outline-instance
export OUTLINE_API_KEY=ol_api_…
node index.jsConfiguración
El servidor lee exactamente dos variables de entorno:
Variable | Significado |
| URL base de tu instancia de Outline, p. ej. |
| Una clave de API de Outline ( |
Claude Code — mcp.json (proyecto) o .mcp.json (usuario):
{
"mcpServers": {
"outline": {
"command": "node",
"args": ["/path/to/outline-mcp/index.js"],
"env": {
"OUTLINE_API_URL": "https://your-outline-instance",
"OUTLINE_API_KEY": "ol_api_…"
}
}
}
}Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"outline": {
"command": "node",
"args": ["/path/to/outline-mcp/index.js"],
"env": {
"OUTLINE_API_URL": "https://your-outline-instance",
"OUTLINE_API_KEY": "ol_api_…"
}
}
}
}Nota: Claude Desktop no expande las referencias ${VAR} en este archivo
— pega la clave literalmente, no escribas "${OUTLINE_API_KEY}".
Cualquier otro cliente MCP (Zed, Cline o cualquier cosa que hable el protocolo
MCP stdio) — misma forma: lanza node /path/to/outline-mcp/index.js con las dos
variables en su entorno.
Cómo funciona
flowchart LR
CC[Claude Code / any MCP client]
OM[outline-mcp<br/>Node 18+, stdio server]
O[Outline instance]
F[format.js<br/>parse ref · truncate · render]
C[client.js<br/>timeout · error map · 429 retry]
CC -->|stdio| OM
OM -->|"POST /api/{method} · Bearer ol_api_…"| O
OM -.-> F
OM -.-> CEl servidor nunca valida credenciales al inicio. Un servidor que sale al arrancar aparece en el cliente como "no se pudo conectar" sin explicación; en cambio, se inicia, lista sus herramientas y cada llamada devuelve un mensaje que nombra la variable que falta.
Desarrollo
npm ci
npm test # unit tests, fully offline (fetch is stubbed)
npm run smoke # every tool against a real instance; no-ops without credentialsnpm run smoke requiere OUTLINE_API_URL + OUTLINE_API_KEY apuntando a una
instancia en vivo; sin ellos imprime una línea "smoke omitido" y sale con 0.
Consulta CONTRIBUTING.md para saber cómo añadir una herramienta.
Limitaciones
Solo lectura por diseño. Sin escrituras de creación, actualización, movimiento, archivo o comentarios.
Los adjuntos no se resuelven. Las imágenes y archivos incrustados permanecen como enlaces
/api/attachments.redirect?id=…en el markdown; no se cargarán para un agente que lea el texto.Sin señal proactiva de límite de velocidad. La instancia no devuelve cabeceras
RateLimit-*. En un429el cliente respetaRetry-After(máximo 10 s) y reintenta exactamente una vez, luego informa del fallo.Los documentos largos se truncan en
maxChars(por defecto 40 000) con un marcador que indica la longitud total real.
Seguridad
La clave de API viaja solo en la cabecera Authorization de las solicitudes salientes.
Cualquier mensaje de error que salga del cliente pasa por un paso de redacción que
reemplaza la clave con ol_api_***, y nada en la ruta de la clave (el transporte
stdio o el registro de stderr) imprime la clave en sí. Si tu instancia de Outline
admite claves con ámbito, prefiere una clave con ámbito de solo lectura para este
servidor.
Licencia
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 Connectors
Read-only MCP for the Eco game wiki: search, Markdown pages, and wiki_* lookups. No keys, no writes.
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
OrganiKPI MCP: search and fetch services, posts and tools as clean markdown (read-only).
Read and write your team's shared, AI-readable wiki from any MCP client.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables reading, writing, and searching documents in Outline via its API. It supports document management, full-text search, and collection organization using Markdown formatting.81817MIT
- AlicenseNot gradedqualityDmaintenanceConnects MCP clients to Outline workspaces, enabling agents to safely read, update, and manage documentation through structured tools.462MIT
- AlicenseAqualityDmaintenanceEnables reading Feishu documents and Wiki pages, including full content and metadata, via MCP protocol.234ISC
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server for accessing GitBook content, including spaces, pages, and search, through AI assistants.189MIT
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/minhquan2904/outline-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server