mcpField
G
Gitbook MCP

Gitbook MCP

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

Gitbook MCP について

GitBook MCPは、AIアシスタントやLLMアプリでGitBookの組織、スペース、コレクション、コンテンツを扱うためのMCPサーバーです。コンテンツ検索ツールに加え、ドキュメント分析や改善に使うプロンプトを備えています。

主な機能

  1. 01組織・スペース・コレクションの一覧
  2. 02スペース内コンテンツの全文検索
  3. 03ページとファイルの詳細取得
  4. 04ドキュメント分析プロンプト

活用シーン

  1. 01特定のトピックに関するページ検索
  2. 02スペース構成と主なテーマの要約
  3. 03ドキュメントの不足や品質の確認

MCP 対応

MCPクライアント向けに、GitBookの組織、スペース、コレクション、ページ、ファイルを照会するツールと、ドキュメント作業用のプロンプトを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"gitbook-mcp-rickysullivan": {
"command": "npx",
"args": [
"-y",
"gitbook-mcp"
],
"env": {
"GITBOOK_API_TOKEN": "<GITBOOK_API_TOKEN>"
}
}
}
}
起動コマンドnpx -y gitbook-mcp
設定が必要な環境変数
GITBOOK_API_TOKENシークレット

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

パッケージ
npmgitbook-mcp

ツール

12

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

このツールにパラメーターはありません。

詳細

GitBook MCP サーバーリファレンス

AI アシスタントや LLM アプリケーションから GitBook の API にアクセスできる Model Context Protocol(MCP)サーバーです。

概要

GitBook MCP サーバーは、標準化された MCP インターフェイスを通じて、GitBook の組織、スペース、コレクション、コンテンツへのプログラムからのアクセスを可能にします。コンテンツ操作用のツールを 12 個、ドキュメント作成ワークフロー用の AI 搭載プロンプトを 6 個提供します。

クイックセットアップ

前提条件
IDE と AI アシスタントの連携
VS Code(GitHub Copilot を使用)

VS Code の MCP 設定に追加します。

{
    "servers": {
        "gitbook-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "gitbook-mcp",
                "--organization-id=your_organization_id_here"
            ],
            "env": {
                "GITBOOK_API_TOKEN": "gb_api_your_token_here"
            }
        }
    }
}
Claude Desktop

Claude Desktop の設定ファイル(Windows の %APPDATA%\Claude\claude_desktop_config.json または macOS の ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。

{
    "mcpServers": {
        "gitbook-mcp": {
            "command": "npx",
            "args": ["gitbook-mcp", "--organization-id=your_organization_id"],
            "env": {
                "GITBOOK_API_TOKEN": "gb_api_your_token_here"
            }
        }
    }
}

詳しくは https://modelcontextprotocol.io/quickstart/user をご覧ください。

JetBrains IDE(IntelliJ IDEA、WebStorm など)用 GitHub Copilot プラグイン:

JetBrains IDE 用の GitHub Copilot MCP 設定に追加します(パスは製品や OS によって異なる場合があります。たとえば、Linux/macOS の IntelliJ では ~/.config/github-copilot/intellij/mcp.json、またはお使いの JetBrains IDE とプラットフォームに応じた同等のディレクトリです)。

{
    "servers": {
        "gitbook-mcp": {
            "command": "npx",
            "args": [
                "gitbook-mcp",
                "--organization-id=your_organization_id_here"
            ],
            "env": {
                "GITBOOK_API_TOKEN": "gb_api_your_token_here"
            }
        }
    }
}
JetBrains AI Assistant

JetBrains AI Assistant の MCP 設定に追加します(正確なパスについては公式ドキュメントをご覧ください)。

GitBook の認証情報を取得する
  1. API トークン:https://app.gitbook.com/account/developer にアクセスして、API トークンを生成します
  2. 組織 ID:セットアップ後に list_organizations ツールを使用して、組織 ID を確認します
  3. スペース ID(省略可能):list_spaces ツールを使用して、特定のスペース ID を確認します(有効な組織 ID と API トークンが必要です)
  4. スペース ID(省略可能):list_spaces ツールを使用して、特定のスペース ID を確認します
設定オプション

サーバーは次の方法で設定できます。

  • CLI 引数:--organization-id、--space-id
  • MCP 設定の環境変数:MCP 設定の env オブジェクトで指定します
  • システム環境変数:GITBOOK_API_TOKEN、GITBOOK_ORGANIZATION_ID、GITBOOK_SPACE_ID

注:.env ファイルは、開発目的でサーバーをローカル実行する場合にのみサポートされます。npx gitbook-mcp の使用時にはサポートされません。

API リファレンス

ツール

GitBook MCP サーバーは、機能別に分類された 12 個のツールを提供します。各ツールには動作に関するヒントが付いています。

  • 📖 読み取り専用:データを読み取るだけで、変更は行いません
  • 🔄 冪等:同じ引数で繰り返し呼び出しても、結果は変わらず、追加の影響はありません
  • 🌐 オープンワールド:外部のエンティティとやり取りします
組織の検索
組織一覧の取得(list_organizations)📖 🔄 🌐

アクセス可能な GitBook 組織をすべて一覧表示します。

パラメーター: なし

戻り値:

{
    "organizations": [
        {
            "id": "string",
            "title": "string",
            "urls": {
                "app": "string",
                "public": "string"
            }
        }
    ]
}
スペースの管理
スペース一覧の取得(list_spaces)📖 🔄 🌐

スペースを一覧表示します。組織で絞り込むこともできます。

パラメーター:

  • organizationId(省略可能):スペースを絞り込む組織 ID

戻り値:

{
    "spaces": [
        {
            "id": "string",
            "title": "string",
            "visibility": "string",
            "urls": {
                "app": "string",
                "public": "string"
            }
        }
    ]
}
スペース詳細の取得(get_space)📖 🔄 🌐

特定のスペースに関する詳細情報を取得します。

パラメーター:

  • spaceId(必須):取得するスペースの ID

戻り値:

{
    "id": "string",
    "title": "string",
    "description": "string",
    "visibility": "string",
    "urls": {
        "app": "string",
        "public": "string"
    }
}
スペースコンテンツの取得(get_space_content)📖 🔄 🌐

スペースのコンテンツ構造とページを取得します。

パラメーター:

  • spaceId(省略可能):スペースの ID(設定済みの場合はデフォルトを使用します)

戻り値:

{
    "pages": [
        {
            "id": "string",
            "title": "string",
            "slug": "string",
            "path": "string"
        }
    ]
}
コンテンツの検索(search_content)📖 🔄 🌐

全文検索を使用して、スペース内のコンテンツを検索します。

パラメーター:

  • query(必須):検索クエリー文字列
  • spaceId(省略可能):検索対象のスペース ID(設定済みの場合はデフォルトを使用します)

戻り値:

{
    "results": [
        {
            "id": "string",
            "title": "string",
            "excerpt": "string",
            "url": "string"
        }
    ]
}
コンテンツの取得
ページコンテンツを取得(get_page_content)📖 🔄 🌐

特定のページのコンテンツを取得します。

パラメーター:

  • pageId(必須):取得するページの ID
  • spaceId(任意):ページを含むスペースの ID
  • format(任意):出力形式("document" または "markdown"、デフォルトは "document")
  • metadata(任意):リビジョンのメタデータを含めるかどうか(ブール値、デフォルトは false)
  • computed(任意):計算済みのリビジョンデータを含めるかどうか(ブール値、デフォルトは false)

戻り値:

{
    "id": "string",
    "title": "string",
    "content": "string",
    "format": "string"
}
パスでページを取得(get_page_by_path)📖 🔄 🌐

ページのパスを使用してページコンテンツを取得します。

パラメーター:

  • pagePath(必須):取得するページのパス
  • spaceId(任意):ページを含むスペースの ID

戻り値:

{
    "id": "string",
    "title": "string",
    "content": "string",
    "path": "string"
}
ファイル管理
スペースのファイルを取得(get_space_files)📖 🔄 🌐

スペース内のすべてのファイルを一覧表示します。

パラメーター:

  • spaceId(任意):スペースの ID(設定されている場合はデフォルトを使用)

戻り値:

{
    "files": [
        {
            "id": "string",
            "name": "string",
            "downloadURL": "string",
            "size": "number"
        }
    ]
}
ファイルの詳細を取得(get_file)📖 🔄 🌐

特定のファイルの詳細を取得します。

パラメーター:

  • fileId(必須):取得するファイルの ID
  • spaceId(任意):ファイルを含むスペースの ID

戻り値:

{
    "id": "string",
    "name": "string",
    "downloadURL": "string",
    "size": "number",
    "uploadedAt": "string"
}
コレクション管理
コレクションを一覧表示(list_collections)📖 🔄 🌐

アクセス可能なすべてのコレクションを一覧表示します。

パラメーター:

  • organizationId(任意):コレクションを絞り込む組織 ID

戻り値:

{
    "collections": [
        {
            "id": "string",
            "title": "string",
            "description": "string"
        }
    ]
}
コレクションの詳細を取得(get_collection)📖 🔄 🌐

特定のコレクションの詳細を取得します。

パラメーター:

  • collectionId(必須):取得するコレクションの ID

戻り値:

{
    "id": "string",
    "title": "string",
    "description": "string",
    "spaces": "number"
}
コレクションのスペースを取得(get_collection_spaces)📖 🔄 🌐

コレクション内のすべてのスペースを一覧表示します。

パラメーター:

  • collectionId(必須):コレクションの ID

戻り値:

{
    "spaces": [
        {
            "id": "string",
            "title": "string",
            "visibility": "string"
        }
    ]
}
プロンプト

GitBook MCP サーバーは、ドキュメント作成ワークフロー向けに AI を活用した 6 つのプロンプトを提供します。

ドキュメントを取得(fetch_documentation)

特定のトピックに関する GitBook ドキュメントのコンテンツを取得して分析します。

パラメーター:

  • topic(必須):検索して分析するトピックまたはテーマ
  • spaceId(任意):検索するスペースの ID(設定されている場合はデフォルトを使用)
  • includeStructure(任意):スペースの構造を含めるには "true" を設定

戻り値: 指定されたトピックに関連するドキュメントの包括的な分析。以下を含みます。

  • 関連するページとセクション
  • コンテンツの要約
  • 不足している部分や改善が必要な領域
コンテンツの不足を分析(analyze_content_gaps)

ドキュメント内の不足しているコンテンツや欠落しているコンテンツを特定します。

パラメーター:

  • spaceId(任意):分析するスペースの ID(設定されている場合はデフォルトを使用)
  • comparisonSource(任意):比較対象のソース(デフォルト: "internal analysis")

戻り値: 以下を含む詳細な不足分析です。

  • 欠落しているトピックと未完成のセクション
  • 重要度に応じて優先順位付けされた網羅性の不足
  • 新しいコンテンツ領域の提案
コンテンツ監査(content_audit)

ドキュメントコンテンツの品質監査を実施します。

パラメーター:

  • spaceId(任意):監査するスペースの ID(設定されている場合はデフォルトを使用)
  • auditCriteria(任意):監査する具体的な基準(デフォルト: "general quality and consistency")

戻り値: 以下を含む包括的な品質評価です。

  • コンテンツの品質と一貫性のレビュー
  • 古くなった情報の特定
  • 文章のスタイルと書式に関する推奨事項
ドキュメントの要約(documentation_summary)

GitBook のスペースの包括的な要約を生成します。

パラメーター:

  • spaceId(任意):要約するスペースの ID(設定されている場合はデフォルトを使用)
  • summaryType(任意):要約の種類。"overview"、"technical"、"user-guide"、"custom" のいずれか(デフォルト: "overview")

戻り値: 以下を含む構造化された要約です。

  • スペースの構造とコンテンツの構成
  • 主なトピックとテーマ
  • 対象読者とユースケース
コンテンツの最適化(content_optimization)

SEO、読みやすさ、構成、またはパフォーマンスのためにコンテンツを最適化します。

パラメーター:

  • spaceId(任意):最適化するスペースの ID(設定されている場合は既定値を使用)
  • optimizationType(必須):最適化の種類。「SEO」、「readability」、「structure」、または「performance」
  • targetMetrics(任意):最適化の対象とする具体的な指標や目標

戻り値: 以下を含む最適化の推奨事項:

  • 具体的な改善戦略
  • 優先度順に並べた最適化の機会
  • 実装ガイダンス

設定リファレンス

GitBook MCP サーバーは、以下の優先順位(高い順)で複数の設定方法に対応しています。

  1. CLI 引数 - MCP サーバーの起動時に渡します
  2. 設定ファイル - プロジェクトの設定ファイルに埋め込みます
  3. 環境変数 - .env.local またはシステム環境に設定します
環境変数
変数必須型説明
GITBOOK_API_TOKENはいstringGitBook API トークン(https://app.gitbook.com/account/developer から取得)
GITBOOK_ORGANIZATION_IDいいえstring操作に使用する既定の組織 ID
GITBOOK_SPACE_IDいいえstring単一スペースのプロジェクトで使用する既定のスペース ID

注: 環境変数は .env.local、.env、またはシステム環境に設定できます。

CLI 引数
引数エイリアス型説明
--organization-id--orgstring操作対象の組織 ID
--space-id--spacestring操作に使用する既定のスペース

例:

node dist/index.js --organization-id your-org-id --space-id your-space-id
その他の設定ファイル

通常、これらのファイルは AI アシスタントにコンテキストとして提供されるため、プロジェクトごとの設定を保存できます。

  1. .github/copilot-instructions.md
  2. .cursorrules
  3. .cursor/rules/rules.md
  4. .cursor/rules/instructions.md

例:

形式:

## GitBook Configuration

For GitBook MCP operations, use the following configuration:

- organization-id: your-org-id-here
- space-id: your-space-id-here
既定のパラメーターの動作

GITBOOK_ORGANIZATION_ID または GITBOOK_SPACE_ID が設定されている場合:

  • 「任意」と記されたツールでは、対応する ID パラメーターを省略できます
  • 設定された既定値が自動的に使用されます
  • ツール呼び出しで明示的に指定したパラメーターは、既定値より優先されます

開発

前提条件
インストールとセットアップ
git clone https://github.com/rickysullivan/gitbook-mcp.git
cd gitbook-mcp
npm install
npm run setup
# Add your GITBOOK_API_TOKEN to .env.local (for local development only)
開発
npm run dev
デバッグ
DEBUG=1 npm run dev
開発用に MCP を VS Code に追加する

ローカルで実行する場合は、コマンドとして node を使用する必要があります。 最初の引数には、コンパイル済み JavaScript 出力へのパス(例:dist/index.js)を指定してください。

{
    "servers": {
        "gitbook-mcp-dev": {
            "type": "stdio",
            "command": "node",
            "args": [
                "/my/path/to/gitbook-mcp/dist/index.js",
                "--organization-id=Luj2l6y6cIUPXJwbC574"
            ],
            "env": {
                "GITBOOK_API_TOKEN": "gb_api_UHEGTNsMg0ONPTnm0LpsJNBCCikQyOMkBTtZNDAB"
            }
        }
    }
}
テスト

現在、単体テストや統合テストはありません。npm run test を実行しても TypeScript コードが正常にコンパイルされるか(型チェック/ビルドの検証)を確認するだけで、実際のテストは実行されません。

npm run test
エラー処理
一般的なエラーコード
エラーコード説明解決方法
401認証されていません - API トークンが無効ですGITBOOK_API_TOKEN が正しいことを確認してください
403アクセスが拒否されました - 権限が不十分ですスペース/組織のアクセス権限を確認してください
404見つかりません - リソースが存在しませんスペース/ページ/コレクションの ID が正しいことを確認してください
429レート制限 - リクエストが多すぎますリクエストのスロットリングを実装してください
500内部サーバーエラー詳細なエラー情報について、サーバーログを確認してください
トラブルシューティング

トークンに関する問題:

  • トークンが gb_live_ で始まっていることを確認してください
  • トークンの有効期限が切れていないことを確認してください
  • GitBook の設定でトークンの権限を確認してください

ID の確認:

  • 有効な組織 ID を確認するには、list_organizations を使用してください
  • 有効なスペース ID を確認するには、list_spaces を使用してください
  • 有効なページ ID を確認するには、get_space_content を使用してください

設定に関する問題:

  • 環境変数が正しく設定されていることを確認してください
  • 設定ファイルのファイル権限を確認してください
  • CLI 引数が適切な形式であることを確認してください

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. プルリクエストを送信します

ライセンス

MIT ライセンス - 詳細については LICENSE ファイルを参照してください。

関連ドキュメント

免責事項

このプロジェクトは独立して開発されたものであり、GitBook との公式な提携、承認、または後援を受けていません。

コメント

MCP は初めてですか?

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

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