mcpField
M
MCP Outline Server

MCP Outline Server

ローカル
github.comメモリ・ナレッジ15814 週間前に更新

MCP Outline Server について

MCP Outline Serverは、AIアシスタントやMCPクライアントからOutlineのドキュメントを扱うためのサーバーです。文書やコレクションの管理、共同作業、リソース参照に対応し、書き込み操作を設定で制限できます。

主な機能

  1. 01ドキュメントの検索・閲覧・編集
  2. 02コレクションと階層の管理
  3. 03コメント追加とバックリンク検索
  4. 04ドキュメントの一括作成・更新・移動
  5. 05URIによるリソース公開
  6. 06レート制限への再試行対応

活用シーン

  1. 01Outline内のドキュメント検索と閲覧
  2. 02コレクションの更新や整理
  3. 03ドキュメントへのコメントと議論の確認
  4. 04ドキュメントの一括アーカイブやエクスポート

MCP 対応

MCP サーバーとして、Outlineのドキュメント、コレクション、コメント、一括操作をツールとして公開し、outline:// URIでリソースを提供します。ローカルのstdioに加え、SSEとstreamable HTTPに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"vortiago-mcp-outline": {
"command": "uvx",
"args": [
"mcp-outline"
],
"env": {
"OUTLINE_API_KEY": "<OUTLINE_API_KEY>",
"OUTLINE_API_URL": "<OUTLINE_API_URL>"
}
}
}
}
起動コマンドuvx mcp-outline
設定が必要な環境変数
OUTLINE_API_KEYシークレットOutline API key (Settings > API). Can also be set in ~/.config/mcp-outline/.env
OUTLINE_API_URLOutline API URL for self-hosted instances

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-outline1.10.1

ツール

38

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitintegerいいえ
querystringはい
offsetintegerいいえ
collection_idanyいいえ
status_filteranyいいえ

詳細

MCP Outline Server

📢 Outline の公式 MCP サーバーが利用可能になりました

Outline では公式 MCP サーバーが提供されています。こちらのご利用をおすすめします。 ドキュメントを読む。


PyPI Python 3.10+ License: MIT CI Docker

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 キーを対話形式で入力してインストールできます。

VS Code にインストール VS Code Insiders にインストール Cursor にインストール

手動インストール

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いいえfalsetrue = すべての書き込み操作を無効にします(詳細)
OUTLINE_DISABLE_DELETEいいえfalsetrue = 削除操作のみを無効にします(詳細)
OUTLINE_DISABLE_AI_TOOLSいいえfalsetrue = AI ツールを無効にします(OpenAI を利用できない Outline インスタンス向け)
OUTLINE_DISABLE_RECENT_DOCUMENTSいいえfalsetrue = list_recently_updated_documents ツールを無効にします
OUTLINE_DYNAMIC_TOOL_LISTいいえfalsetrue = ロール/キーのスコープに基づいて、ユーザーごとのツールフィルタリングを有効にします(詳細)
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いいえ3000HTTP サーバーのポート(sse モードおよび streamable-http モードのみ)

アクセス制御

機能環境変数効果
読み取り専用モードOUTLINE_READ_ONLY=trueすべての書き込み操作を無効にします。利用できるのは検索、読み取り、エクスポートのツールのみです
削除を無効化OUTLINE_DISABLE_DELETE=true削除操作のみを無効にし、その他の書き込み操作はすべて許可します
最近の変更ツールを無効化OUTLINE_DISABLE_RECENT_DOCUMENTS=truelist_recently_updated_documents ツールのみを無効にします
動的なツールリストOUTLINE_DYNAMIC_TOOL_LIST=trueOutline のロールと 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 は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。