MCP Outline Server について
MCP Outline Serverは、AIアシスタントやMCPクライアントからOutlineのドキュメントを扱うためのサーバーです。文書やコレクションの管理、共同作業、リソース参照に対応し、書き込み操作を設定で制限できます。
主な機能
- 01ドキュメントの検索・閲覧・編集
- 02コレクションと階層の管理
- 03コメント追加とバックリンク検索
- 04ドキュメントの一括作成・更新・移動
- 05URIによるリソース公開
- 06レート制限への再試行対応
活用シーン
- 01Outline内のドキュメント検索と閲覧
- 02コレクションの更新や整理
- 03ドキュメントへのコメントと議論の確認
- 04ドキュメントの一括アーカイブやエクスポート
MCP 対応
MCP サーバーとして、Outlineのドキュメント、コレクション、コメント、一括操作をツールとして公開し、outline:// URIでリソースを提供します。ローカルのstdioに加え、SSEとstreamable HTTPに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx mcp-outlineOUTLINE_API_KEYシークレットOutline API key (Settings > API). Can also be set in ~/.config/mcp-outline/.envOUTLINE_API_URLOutline API URL for self-hosted instancesローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
38掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | |
| query | string | はい | |
| offset | integer | いいえ | |
| collection_id | any | いいえ | |
| status_filter | any | いいえ |
詳細
MCP Outline Server
📢 Outline の公式 MCP サーバーが利用可能になりました
Outline では公式 MCP サーバーが提供されています。こちらのご利用をおすすめします。 ドキュメントを読む。
Outline のドキュメント管理と連携するための Model Context Protocol サーバーです。
機能
- ドキュメント操作:ドキュメントの検索、閲覧、作成、編集、アーカイブ
- コレクション:ドキュメント階層の一覧表示、作成、管理
- コメント:スレッド形式のコメントの追加と表示
- バックリンク:特定のドキュメントを参照しているドキュメントの検索
- MCP リソース:URI(outline://document/{id}、outline://collection/{id} など)からコンテンツに直接アクセス
- 自動レート制限:再試行ロジックにより API の制限を透過的に処理
前提条件
この MCP サーバーを使用するには、以下が必要です。
- Outline アカウント(クラウドホスト型またはセルフホスト型)
- Outline の Web UI から取得した API キー:Settings → API Keys → Create New
- Python 3.10 以降(Docker を使用しないインストールの場合)
API キーの取得方法:Outline にログインし、プロフィールをクリックして、Settings → API Keys → 「New API Key」を選択します。生成されたトークンをコピーしてください。
クイックスタート
ワンクリックインストール
ボタンをクリックすると、API キーを対話形式で入力してインストールできます。
手動インストール
uv(推奨)、pip、または Docker でインストールします。
uvx mcp-outline # using uv
pip install mcp-outline # using pip
# using Docker
docker run -e OUTLINE_API_KEY=<your-key> ghcr.io/vortiago/mcp-outline:latest
次に、MCP クライアントの設定に追加します(VS Code、Claude Desktop、Cursor などで動作します)。
{
"inputs": [
{
"id": "outline_api_key",
"type": "promptString",
"description": "Enter OUTLINE_API_KEY",
"password": true
},
{
"id": "outline_api_url",
"type": "promptString",
"description": "Outline API URL (optional, for self-hosted)",
"password": false
}
],
"servers": {
"mcp-outline": {
"command": "uvx",
"args": ["mcp-outline"],
"env": {
"OUTLINE_API_KEY": "${input:outline_api_key}",
"OUTLINE_API_URL": "${input:outline_api_url}"
}
}
}
}
Claude Code
claude mcp add mcp-outline uvx mcp-outline
リポジトリをプラグインとしてインストールすると、outline-explorer エージェント(読み取り専用の高速な Wiki 探索)と、outline スキル(Outline の規約:mermaidjs フェンス、ドキュメント構成、編集ワークフロー)もあわせてインストールされます。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json に追加します。
{
"mcpServers": {
"mcp-outline": {
"command": "uvx",
"args": ["mcp-outline"],
"env": {
"OUTLINE_API_KEY": "<YOUR_API_KEY>",
"OUTLINE_API_URL": "<YOUR_OUTLINE_URL>"
}
}
}
}
その他のクライアント向けセットアップガイド:Docker(HTTP)、Cline、Codex、Windsurf など
設定
| 変数 | 必須 | デフォルト | 備考 |
|---|---|---|---|
OUTLINE_API_KEY | はい* | - | ツール呼び出しを正常に行うには必須です。SSE/HTTP の場合、リクエストごとに x-outline-api-key ヘッダーで指定することもできます(詳細) |
OUTLINE_API_URL | いいえ | https://app.getoutline.com/api | セルフホストの場合:https://your-domain/api |
OUTLINE_VERIFY_SSL | いいえ | true | 自己署名証明書を使用する場合は false に設定します |
OUTLINE_READ_ONLY | いいえ | false | true = すべての書き込み操作を無効にします(詳細) |
OUTLINE_DISABLE_DELETE | いいえ | false | true = 削除操作のみを無効にします(詳細) |
OUTLINE_DISABLE_AI_TOOLS | いいえ | false | true = AI ツールを無効にします(OpenAI を利用できない Outline インスタンス向け) |
OUTLINE_DISABLE_RECENT_DOCUMENTS | いいえ | false | true = list_recently_updated_documents ツールを無効にします |
OUTLINE_DYNAMIC_TOOL_LIST | いいえ | false | true = ロール/キーのスコープに基づいて、ユーザーごとのツールフィルタリングを有効にします(詳細) |
OUTLINE_MAX_CONNECTIONS | いいえ | 100 | 接続プール内の最大同時接続数 |
OUTLINE_MAX_KEEPALIVE | いいえ | 20 | 接続プール内の最大アイドル接続数 |
OUTLINE_TIMEOUT | いいえ | 30.0 | 読み取りタイムアウト(秒) |
OUTLINE_CONNECT_TIMEOUT | いいえ | 5.0 | 接続タイムアウト(秒) |
OUTLINE_WRITE_TIMEOUT | いいえ | 30.0 | 書き込みタイムアウト(秒) |
OUTLINE_CACHE_TTL | いいえ | 30 | ドキュメントキャッシュの TTL(秒)。短いデフォルト値により、同じタスク内で発生する読み取りの集中を吸収し、Outline API への負荷を抑えます。キャッシュを無効にする(常に最新の内容を読み取る)には 0 を、API の呼び出しをさらに減らすには(例:300)より大きな値を設定します。ステージング編集はどちらの場合も機能します |
OUTLINE_CACHE_MAX_SIZE | いいえ | 100 | キャッシュするドキュメントの最大数 |
MCP_TRANSPORT | いいえ | stdio | トランスポートモード:stdio(ローカル)、sse または streamable-http(リモート) |
MCP_HOST | いいえ | 127.0.0.1 | サーバーのホスト。外部接続を受け付けるには、Docker で 0.0.0.0 を使用します |
MCP_PORT | いいえ | 3000 | HTTP サーバーのポート(sse モードおよび streamable-http モードのみ) |
アクセス制御
| 機能 | 環境変数 | 効果 |
|---|---|---|
| 読み取り専用モード | OUTLINE_READ_ONLY=true | すべての書き込み操作を無効にします。利用できるのは検索、読み取り、エクスポートのツールのみです |
| 削除を無効化 | OUTLINE_DISABLE_DELETE=true | 削除操作のみを無効にし、その他の書き込み操作はすべて許可します |
| 最近の変更ツールを無効化 | OUTLINE_DISABLE_RECENT_DOCUMENTS=true | list_recently_updated_documents ツールのみを無効にします |
| 動的なツールリスト | OUTLINE_DYNAMIC_TOOL_LIST=true | Outline のロールと API キーのスコープに基づいて、ユーザーごとにツールをフィルタリングします |
| ユーザーごとの Outline API キー | x-outline-api-key ヘッダー | マルチユーザー構成で、HTTP モードでは各ユーザーが自身の Outline API キーを渡します |
読み取り専用モードは削除の無効化より優先されます。詳細は設定ガイドを参照してください。
ツール
注:利用できるツールは、アクセス制御の設定によって異なります。
検索と検出
search_documents(query, collection_id?, limit?, offset?, statusFilter?)- ページネーションを使用して、キーワードでドキュメントを検索します。デフォルトでは公開済みドキュメントが対象です。ほかのステータスを含めるには、statusFilterにdraft、archived、および/またはpublishedを指定しますlist_recently_updated_documents(date_filter?, collection_id?, status_filter?, limit?, offset?)- 最近変更された順(新しい順)にドキュメントを一覧表示します(例:「今週何が変更されましたか」)。date_filterは最終変更からの期間を指定します:day/week/month/year(デフォルトはweek)。デフォルトでは公開済みドキュメントが対象ですlist_collections()- すべてのコレクションを一覧表示しますget_collection_structure(collection_id)- コレクション内のドキュメント階層を取得しますget_document_id_from_title(query, collection_id?)- タイトルで検索してドキュメント ID を見つけます
ドキュメントの読み取り
read_document(document_id, offset?, limit?)- 行範囲のページネーションを指定して、ドキュメントの内容を取得しますexport_document(document_id)- ドキュメントを Markdown としてエクスポートします
ドキュメントのナビゲーション
get_document_toc(document_id)- 見出し構造と行番号を含む目次を取得しますread_document_section(document_id, heading)- 見出しとの一致(大文字と小文字を区別しない部分一致)で特定のセクションを読み取ります
ドキュメントの管理
create_document(title, collection_id, text?, parent_document_id?, publish?)- 新しいドキュメントを作成しますupdate_document(document_id, title?, text?, append?)- ドキュメントの内容全体を置き換えます(追記モードも利用できます)
ドキュメントの編集
edit_document(document_id, edits, save?)- 文字列マッチングによる編集を行い、置換をまとめて適用します。save=Falseの場合は変更をローカルにステージングし、最後の呼び出しでsave=Trueにすると、すべての変更を反映しますmove_document(document_id, collection_id?, parent_document_id?)- ドキュメントを別のコレクションまたは親ドキュメントに移動します
ドキュメントのライフサイクル
archive_document(document_id)- ドキュメントをアーカイブしますunarchive_document(document_id)- アーカイブからドキュメントを復元しますdelete_document(document_id, permanent?)- ドキュメントを削除します(またはゴミ箱に移動します)restore_document(document_id)- ゴミ箱からドキュメントを復元しますlist_archived_documents()- アーカイブされたすべてのドキュメントを一覧表示しますlist_trash()- ゴミ箱内のすべてのドキュメントを一覧表示します
コメントとコラボレーション
add_comment(document_id, text, parent_comment_id?)- ドキュメントにコメントを追加します(スレッド形式の返信に対応)list_document_comments(document_id, include_anchor_text?, limit?, offset?)- ページネーションでドキュメントのコメントを表示しますget_comment(comment_id, include_anchor_text?)- 特定のコメントの詳細を取得しますget_document_backlinks(document_id)- このドキュメントにリンクしているドキュメントを検索します
コレクションの管理
create_collection(name, description?, color?)- 新しいコレクションを作成しますupdate_collection(collection_id, name?, description?, color?)- コレクションのプロパティを更新しますdelete_collection(collection_id)- コレクションを削除しますexport_collection(collection_id, format?)- コレクションをエクスポートします(デフォルト:outline-markdown)export_all_collections(format?)- すべてのコレクションをエクスポートします
一括操作
batch_create_documents(documents)- 複数のドキュメントを一度に作成しますbatch_update_documents(updates)- 複数のドキュメントを一度に更新しますbatch_move_documents(document_ids, collection_id?, parent_document_id?)- 複数のドキュメントを移動しますbatch_archive_documents(document_ids)- 複数のドキュメントをアーカイブしますbatch_delete_documents(document_ids, permanent?)- 複数のドキュメントを削除します
AI 搭載機能
ask_ai_about_documents(question, collection_id?, document_id?)- ドキュメントについて自然言語で質問します
リソース
outline://collection/{id}- コレクションのメタデータ(名前、説明、色、ドキュメント数)outline://collection/{id}/tree- 階層構造のドキュメントツリーoutline://collection/{id}/documents- コレクション内のドキュメントのフラットリストoutline://document/{id}- ドキュメントの全内容(Markdown)outline://document/{id}/backlinks- このドキュメントにリンクしているドキュメント
開発
git clone https://github.com/Vortiago/mcp-outline.git
cd mcp-outline
uv sync --group dev
uv run poe test-unit # unit tests
uv run poe test-integration # integration tests (starts MCP server via stdio)
uv run poe test-e2e # E2E tests (requires Docker)
セルフホスト可能な Outline のセットアップ、MCP Inspector などについては、開発ガイドをご覧ください。
トラブルシューティング
サーバーに接続できませんか? API キーをテストしてください:
curl -H "Authorization: Bearer YOUR_API_KEY" YOUR_OUTLINE_URL/api/auth.info
ツール、レート制限、Docker に関する一般的な問題については、トラブルシューティングガイドをご覧ください。
貢献
貢献を歓迎します!セットアップ手順については、CONTRIBUTING.mdをご覧ください。
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。
謝辞
- MCP Python SDK を使用して構築
- ドキュメント管理に Outline API を使用
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。