outline-mcp
outline-mcp
Nur-Lese-MCP-Server für Outline. Bietet einem Agenten Such- und Lesezugriff auf dein Wiki – keine Schreibvorgänge, bewusst.
Warum
Die API von Outline ist eine flache RPC-Oberfläche – jeder Endpunkt ist
POST {base}/api/<method> mit einem JSON-Body und einem Bearer-Token. Diese
Einheitlichkeit bedeutet, dass ein nützlicher MCP-Server aus einer einzigen
Request-Funktion plus einer kuratierten Tool-Liste besteht. Dieses Paket ist
bewusst klein: keine Laufzeitabhängigkeit außer dem MCP-SDK und zod, und volle
Kontrolle über die Tool-Beschreibungen und die Ausgabeformatierung, die
darüber entscheiden, ob der Agent das richtige Tool auswählt.
Der Server ist nur lesend: Es gibt keinen Create-, Update-, Move- oder Archiv-Pfad im gesamten Code.
Related MCP server: outline-mcp
Tools
Tool | Outline method | Verwendung |
|
| Volltextsuche; liefert Ausschnitte, keine Inhalte |
|
| Eine Seite finden, die du fast schon benennen kannst |
|
| Ein Dokument als Markdown lesen |
|
|
|
|
| Eine Sammlung oder die Unterdokumente eines Dokuments durchsuchen |
|
| Sehen, wie sich ein Dokument im Laufe der Zeit verändert hat |
|
| Eine frühere Version lesen |
|
| Rückmeldungen von Reviewern, die nicht im Inhalt enthalten sind |
get_document akzeptiert eine vollständige URL, eine nackte urlId oder eine
UUID. Eine urlId ist [A-Za-z0-9]{10,15} – ein Slug ohne gültiges ID-Suffix
wird lokal abgelehnt, weil die API mit 400 validation_error antwortet.
Voraussetzungen
Node 18 oder neuer (verwendet das eingebaute
fetch; keine nativen Abhängigkeiten).Eine Outline-Instanz – selbst gehostet oder Outline.com.
Erste Schritte
git clone https://github.com/minhquan2904/outline-mcp.git
cd outline-mcp
npm ciAPI-Schlüssel erhalten
In Outline: Einstellungen → API & Apps → Neuer API-Schlüssel. Der Wert
beginnt mit ol_api_ gefolgt von 38 alphanumerischen Zeichen.
Die zwei Umgebungsvariablen setzen
export OUTLINE_API_URL=https://your-outline-instance
export OUTLINE_API_KEY=ol_api_…
node index.jsKonfiguration
Der Server liest genau zwei Umgebungsvariablen:
Variable | Bedeutung |
| Basis-URL deiner Outline-Instanz, z. B. |
| Ein Outline-API-Schlüssel ( |
Claude Code – mcp.json (Projekt) oder .mcp.json (Benutzer):
{
"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_…"
}
}
}
}Hinweis: Claude Desktop expandiert keine ${VAR}-Referenzen in dieser
Datei – füge den Schlüssel wörtlich ein, schreibe nicht "${OUTLINE_API_KEY}".
Jeder andere MCP-Client (Zed, Cline oder alles, was das MCP-stdio-Protokoll
spricht) – gleiche Form: starte node /path/to/outline-mcp/index.js mit den
beiden Variablen in seiner Umgebung.
So funktioniert es
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 -.-> CDer Server validiert Anmeldedaten nie beim Start. Ein Server, der beim Booten beendet wird, erscheint im Client als „Verbindung fehlgeschlagen“ ohne Erklärung; stattdessen startet er, listet seine Tools auf, und jeder Aufruf gibt eine Meldung zurück, die die fehlende Variable benennt.
Entwicklung
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 erfordert OUTLINE_API_URL + OUTLINE_API_KEY, die auf eine
Live-Instanz zeigen; ohne sie gibt es eine Zeile „smoke skipped“ aus und
beendet sich mit 0. Siehe CONTRIBUTING.md für Hinweise zum
Hinzufügen eines Tools.
Einschränkungen
Nur-Lese-Design. Keine Create-, Update-, Move-, Archiv- oder Kommentar-Schreibvorgänge.
Anhänge werden nicht aufgelöst. Eingebettete Bilder und Dateien bleiben als
/api/attachments.redirect?id=…-Links im Markdown; sie werden für einen Agenten, der den Text liest, nicht geladen.Kein proaktives Rate-Limit-Signal. Die Instanz gibt keine
RateLimit-*-Header zurück. Bei einem429beachtet der ClientRetry-After(auf 10s begrenzt) und versucht es genau einmal erneut, dann meldet er den Fehler.Lange Dokumente werden bei
maxChars(Standard 40 000) abgeschnitten, mit einem Marker, der die tatsächliche Gesamtlänge angibt.
Sicherheit
Der API-Schlüssel reist nur im Authorization-Header ausgehender Anfragen.
Jede Fehlermeldung, die den Client verlässt, durchläuft einen Schwärzungsschritt,
der den Schlüssel durch ol_api_*** ersetzt, und nichts auf dem Pfad des
Schlüssels (der stdio-Transport oder das stderr-Log) gibt jemals den Schlüssel
selbst aus. Wenn deine Outline-Instanz bereichsbezogene Schlüssel unterstützt,
bevorzuge einen nur-lesenden Schlüssel für diesen Server.
Lizenz
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