mcpField
R
read-docs-mcp

read-docs-mcp

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

read-docs-mcp について

read-docs-mcpは、Gitリポジトリ内のパッケージドキュメントをAIエージェントが参照するためのMCPサーバーです。ドキュメントのモジュール構成からツールを生成し、対応するドキュメント構造の作成も案内します。

主な機能

  1. 01ドキュメントモジュールからツールを生成
  2. 02モジュール一覧・概要・詳細の取得
  3. 03キーワードによるあいまい検索
  4. 04通常モードと2段階モード
  5. 05オプションでソースファイルを参照

活用シーン

  1. 01モジュール別にライブラリの文書を確認
  2. 02キーワードで関連ドキュメントを検索
  3. 03実装の把握にソースファイルを参照

MCP 対応

ドキュメントの一覧、概要、詳細を取得するツールをMCPクライアントに公開します。リポジトリが未設定の場合は、対応するドキュメント構造の作成方法を案内します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"read-docs": {
"command": "npx",
"args": [
"-y",
"read-docs-mcp"
]
}
}
}
起動コマンドnpx -y read-docs-mcp

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

パッケージ
npmread-docs-mcp

ツール

1

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

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

詳細

read-docs-mcp

AI エージェントが、構造化されたインターフェースを通じてパッケージのドキュメントにアクセスし、その内容を理解できるようにする Model Context Protocol(MCP)サーバーです。

機能

  • ドキュメントの構造から MCP ツールを自動生成します
  • 複数のドキュメントモジュール(フック、コンポーネント、ユーティリティなど)に対応します
  • ドキュメントファイルおよびモジュールフォルダーの命名パターンを設定できます
  • 一覧、概要、詳細なドキュメントへのアクセスを提供します
  • 設定されたモジュールに基づいて、ツールを動的に生成します
  • バージョン情報がない場合は package.json を参照します
  • ドキュメントのパスをカスタマイズできます
  • キーワードでファイルを検索し、優先順位を自動調整するあいまい検索機能を備えています

2 つの使用モード

この MCP サーバーには、次の 2 つの使用モードがあります。

  1. ドキュメント読み取りモード(read-docs-{name}):name と git-repo-path の両方が指定されている場合、指定されたリポジトリのドキュメントリーダーとして機能し、ドキュメントにアクセスするツールを生成します。

  2. ドキュメント作成モード(create-read-docs):リポジトリ情報が指定されていない場合、ドキュメント構造を作成するためのガイドとして機能し、ドキュメントファイルの設定方法を案内します。

設定

MCP では、次のコマンドライン引数を使用できます。

  • --name:パッケージ/ライブラリの名前(ドキュメント読み取りモードでは必須)
  • --git-repo-path:Git リポジトリのパス(http または ssh)(ドキュメント読み取りモードでは必須)
    • 指定しない場合、MCP サーバーは構築手順のみを提供します
  • --personal-token:Git 認証用の個人アクセストークン(任意)
    • プライベートリポジトリの場合に推奨します
    • GitHub、GitLab、Bitbucket、および汎用的な Git ホスティングに対応します
  • --branch:ドキュメントを読み込むブランチ
    • デフォルト:main
  • --docs-path:ドキュメントフォルダーのパス
    • デフォルト:docs
  • --clone-location:Git リポジトリをクローンするパス
    • デフォルト:{os home directory}/.temp-repo
  • --mode:MCP サーバーの動作モード
    • 選択肢:normal(デフォルト)、two-step
    • 詳細は動作モードのセクションをご覧ください
  • --include-src:ソースコードの読み取り機能を有効にします(任意)
    • true に設定すると、リポジトリのソースファイルを読み取れるようになります
    • デフォルト:false
    • 有効にすると、実装の詳細を確認するためのソースコードファイル読み取りツールが追加されます
Git 認証に関する重要な注意事項

この MCP では、対象の Git リポジトリを直接クローンする必要があります。このツールを使用する前に、リポジトリへの適切なアクセス権があることを確認してください。プライベートリポジトリの場合は、次の認証方法を利用できます。

  1. 個人アクセストークンを使用(推奨):--personal-token 引数を使用して、個人アクセストークンを渡します。これは最も信頼性の高い方法で、主要な Git ホスティングプロバイダーすべてで利用できます。
  2. SSH キー:SSH URL を使用する場合は、ローカルマシンで SSH キーを設定します
  3. Git 認証情報の保存:HTTPS URL を使用する場合は、マシンで Git 認証情報の保存を設定します

個人アクセストークンの使用:

# With HTTPS URL
npx -y read-docs-mcp --name=MyDocs --git-repo-path=https://github.com/user/private-repo --personal-token=your_personal_access_token_here

# With SSH URL (automatically converted to HTTPS)
npx -y read-docs-mcp --name=MyDocs [email protected]:frontend/private-repo.git --personal-token=your_personal_access_token_here

MCP は HTTPS URL と SSH URL の両方で個人アクセストークンに対応しています。

HTTPS URL:

  • GitHub:HTTPS URL にトークンを直接使用します
  • GitLab(セルフホストを含む):トークンを OAuth2 形式で使用します
  • Bitbucket:トークン認証形式を使用します
  • 汎用 Git ホスティング:OAuth2 形式(GitLab 形式)を使用します

SSH URL: 個人トークンが指定されている場合、SSH URL は適切な認証を使用する HTTPS に自動変換されます。

適切な認証がない場合、MCP はプライベートリポジトリのクローンに失敗します。

動作モード

--mode 引数を使用して、MCP サーバーの起動時に異なるモードを指定できます。

通常モード(デフォルト)
npx -y read-docs-mcp --name=MyDocs --git-repo-path=https://github.com/user/repo
# or explicitly:
npx -y read-docs-mcp --name=MyDocs --git-repo-path=https://github.com/user/repo --mode=normal

通常モードでは、サーバーはモジュールごとに各操作のツールを個別に作成します(例:get-hooks-list、get-hooks-details、get-components-list など)。

2ステップモード
npx -y read-docs-mcp --name=MyDocs --git-repo-path=https://github.com/user/repo --mode=two-step

2ステップモードでは、モジュールごとに個別のツールを作成する代わりに、サーバーは次の5つの汎用ツールを作成します。

  1. get-overview - プロジェクトの概要を取得します(通常モードと同じです)
  2. get-overall-list - 利用可能なすべてのモジュールの一覧を取得します
  3. get-module-overview - 特定のモジュールの概要を取得します(パラメーターとしてモジュール名を指定します)
  4. get-module-list - 特定のモジュール内の項目一覧を取得します(パラメーターとしてモジュール名を指定します)
  5. get-module-detail - モジュール内の特定の項目の詳細を取得します(パラメーターとしてモジュール名と項目名を指定します)

この方法では、多数のモジュールがある場合にツールの総数を大幅に減らせるため、MCP サーバーの効率が上がり、管理も容易になります。

Cursor でのセットアップ

Cursor でこの MCP を使用するには、次の設定を Cursor の設定に追加します。

ドキュメント読み取りモード(Mac/Linux)
{
  "mcpServers": {
    "read-docs-{name}": {
      "command": "npx",
      "args": [
        "-y",
        "read-docs-mcp",
        "--git-repo-path=https://github.com/user/repo",
        "--name=YourLibName"
      ]
    }
  }
}
ソースへのアクセスを含むドキュメント読み取りモード(Mac/Linux)
{
  "mcpServers": {
    "read-docs-{name}": {
      "command": "npx",
      "args": [
        "-y",
        "read-docs-mcp",
        "--git-repo-path=https://github.com/user/repo",
        "--name=YourLibName",
        "--include-src=true"
      ]
    }
  }
}
ドキュメント作成モード(Mac/Linux)
{
  "mcpServers": {
    "create-read-docs": {
      "command": "npx",
      "args": ["-y", "read-docs-mcp"]
    }
  }
}
ドキュメント読み取りモード(Windows)
{
  "mcpServers": {
    "read-docs-{name}": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "read-docs-mcp",
        "--git-repo-path=https://github.com/user/repo",
        "--name=YourLibName"
      ]
    }
  }
}
ソースへのアクセスを含むドキュメント読み取りモード(Windows)
{
  "mcpServers": {
    "read-docs-{name}": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "read-docs-mcp",
        "--git-repo-path=https://github.com/user/repo",
        "--name=YourLibName",
        "--include-src=true"
      ]
    }
  }
}
ドキュメント作成モード(Windows)
{
  "mcpServers": {
    "create-read-docs": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "read-docs-mcp"]
    }
  }
}
カスタムドキュメントパス

カスタムのドキュメントディレクトリを指定する場合:

{
  "mcpServers": {
    "read-docs-{name}": {
      "command": "npx",
      "args": [
        "-y",
        "read-docs-mcp",
        "--git-repo-path=https://github.com/user/repo",
        "--name=YourLibName",
        "--docs-path=documentation"
      ]
    }
  }
}
2ステップモードの設定

大量のドキュメントをより効率的に扱うため、2ステップモードを使用する場合:

{
  "mcpServers": {
    "read-docs-{name}": {
      "command": "npx",
      "args": [
        "-y",
        "read-docs-mcp",
        "--git-repo-path=https://github.com/user/repo",
        "--name=YourLibName",
        "--mode=two-step"
      ]
    }
  }
}
個人用トークンを使用したプライベートリポジトリ

個人用アクセストークンを使用してプライベートリポジトリにアクセスする場合:

{
  "mcpServers": {
    "read-docs-{name}": {
      "command": "npx",
      "args": [
        "-y",
        "read-docs-mcp",
        "--git-repo-path=https://github.com/user/private-repo",
        "--name=YourLibName",
        "--personal-token=your_personal_access_token_here"
      ]
    }
  }
}
SSH URL を使用したセルフホスト GitLab

SSH URL を使用してセルフホストの GitLab インスタンスに接続する場合:

{
  "mcpServers": {
    "read-docs-{name}": {
      "command": "npx",
      "args": [
        "-y",
        "read-docs-mcp",
        "[email protected]:some-group/your-repo.git",
        "--name=YourLibName",
        "--personal-token=your_gitlab_access_token_here"
      ]
    }
  }
}

セキュリティに関する注意:個人用アクセストークンは安全に保管してください。設定にトークンを直接記述するのではなく、環境変数を使用することを検討してください。

ドキュメントの構成

MCP サーバーは、ドキュメント読み取りモードで次の構成を想定しています。

repository/
├── docs/ (configurable)
│   ├── read-docs-mcp.json
│   ├── hooks/
│   │   ├── read-module-docs-mcp.json
│   │   ├── list.md
│   │   ├── overview.md
│   │   ├── use-state.md
│   │   └── ...
│   ├── components/
│   │   ├── read-module-docs-mcp.json
│   │   └── ...
│   └── ...
└── package.json
メイン設定:read-docs-mcp.json
{
  "name": "SomeLibrary",
  "description": "A library for some purpose",
  "version": "1.0.1",
  "moduleList": ["hooks", "components", "directives", "utils"],
  "fileName": "overview.md",
  "moduleFolderNamingPattern": "kebab"
}
  • name、description:MCP サーバーの構築に使用されます
  • version:指定されていない場合は、package.json のバージョンが使用されます。それもない場合は、デフォルトで "0.1.0" になります
  • moduleList:ドキュメントモジュールの一覧です。指定されていない場合は、docs ディレクトリ内のすべてのフォルダーが使用されます
  • fileName:概要に使用するファイルです。指定されていない場合は、デフォルトで "overview.md" になります
  • moduleFolderNamingPattern:モジュールフォルダーの命名パターンです。"kebab"、"camel"、"snake"、"pascal"、"original" のいずれかを指定できます。デフォルトは "kebab" です
命名パターンのルール

モジュールフォルダーと詳細ファイルでは、次の命名パターンを使用できます。

  • kebab-case(デフォルト):単語は小文字で、ハイフンで区切ります

    • 例:"form-control"、"use-state"、"data-table"
  • camelCase:最初の単語は小文字で、それ以降の単語は区切り文字なしで先頭を大文字にします

    • 例:"formControl"、"useState"、"dataTable"
  • snake_case:単語は小文字で、アンダースコアで区切ります

    • 例:"form_control"、"use_state"、"data_table"
  • PascalCase:各単語の先頭を大文字にし、区切り文字は使用しません

    • 例:"FormControl"、"UseState"、"DataTable"
  • original:moduleList で指定された名前を変換せず、そのまま使用します

    • 例:moduleList 内の名前は、ディレクトリ名としてそのまま使用されます
モジュール設定:read-module-docs-mcp.json
{
  "get-all": {
    "name": "get-hook-list",
    "description": "Get a list of hooks",
    "fileName": "list.md"
  },
  "get-details": {
    "name": "get-hook-details",
    "description": "Get details of a hook",
    "paramDescription": "A hook name",
    "namingPattern": "kebab"
  },
  "get-overview": {
    "name": "get-hook-overview",
    "description": "Get an overview of the hook module",
    "fileName": "overview.md"
  }
}

エージェントとの連携

ドキュメント読み取りモードの使用

リポジトリを指定して MCP サーバーをセットアップすると、ドキュメントの確認に使用できます。

Using the read-docs-{YourLibName} MCP, I'd like to explore the documentation for {YourLibName}. Can you:

1. Get an overview of the available modules
2. Show me the list of hooks available
3. Provide details on a specific hook
4. Give me an overview of the components module
ドキュメント作成モードの使用

リポジトリを指定せずに MCP サーバーを使用すると、ドキュメントの作成を依頼できます。

Using the create-read-docs MCP, I need to create documentation for my library that can be used with read-docs-mcp.
Can you help me set up the required structure and files?
ドキュメント読み取りモードでのプロンプト例
パッケージのドキュメントを確認する
Using the read-docs-{PackageName} MCP, I'd like to explore the documentation for [Package Name]. Can you:

1. Get an overview of the available modules
2. Show me the list of hooks available
3. Provide details on the useAuth hook
4. Give me an overview of the components module

I'm particularly interested in understanding how authentication works in this library.
コンポーネントの使い方を学ぶ
Using the read-docs-{PackageName} MCP, I need to implement a form with validation using the [Package Name] library. Please:

1. Show me the available components
2. Get details on the Form component
3. Get details on the Input component
4. Explain how to use form validation with these components

If there are any code examples in the documentation, please highlight those.
あいまい検索でドキュメントを見つける
Using the read-docs-{PackageName} MCP, I'm looking for documentation about authentication in the library. Can you:

1. Use fuzzy search to find all files related to "auth"
2. Based on the search results, get the details for the most relevant authentication documentation
3. Show me how to implement authentication using the library

The fuzzy search should help us quickly locate the relevant documentation files.
実装の詳細を確認するためにソースコードを読む
Using the read-docs-{PackageName} MCP (configured with --include-src=true), I need to understand how the useAuth hook is implemented. Please:

1. First, get the documentation details for the useAuth hook
2. Based on the documentation, read the source code file for useAuth to understand the implementation
3. Explain how the authentication flow works based on both the documentation and source code

Remember to prioritize the documentation first, then use source code only for additional implementation details.
ドキュメント作成モードでのプロンプト例
Using the create-read-docs MCP, I need to set up documentation for my React component library. Can you help me create the folder structure and necessary configuration files?
Using the create-read-docs MCP, I've started creating documentation for my utility functions. How should I structure the detailed documentation for individual utility functions?

ツール

ドキュメント読み取りモードのツール

MCP は、ドキュメントの構造と動作モードに基づいてツールを動的に生成します。複数の read-docs-mcp インスタンスを使用する際の競合を避けるため、すべてのツールにはパッケージ名がプレフィックスとして付与されます。

通常モードのツール

通常モードでは、moduleList 内の各モジュールについて、最大 3 つのツールに加え、オプションでソースファイルを読み取るツールが生成されます。

{name}-get-[module]-list

モジュール内のすべての項目の一覧を取得します。

パラメーター:

  • なし

戻り値:

  • 一覧ファイルの内容(デフォルト:list.md)
{name}-get-[module]-details

モジュール内の特定の項目の詳細を取得します。

パラメーター:

  • name(string):詳細を取得する項目の名前

戻り値:

  • namingPattern に従って命名された詳細ファイルの内容(デフォルトは kebab-case)
{name}-get-[module]-overview

モジュールの概要を取得します。

パラメーター:

  • なし

戻り値:

  • 概要ファイルの内容(デフォルト:overview.md)
{name}-fuzzy-search

インテリジェントな優先順位付けを行い、キーワードでファイルを検索します。

パラメーター:

  • keyword(string):ファイル名と内容から検索するキーワード

戻り値:

  • 以下の優先順位で一致したファイルの整形済みリスト:
    1. ファイル名の完全一致
    2. ファイル名の部分一致
    3. ファイル内容の完全一致
    4. ファイル内容の部分一致

結果は次の形式で整形されます。

type: module
name: someModule

または

type: detail
name: someDetail
module: someModule
2 ステップモードのツール

2 ステップモードでは、MCP は各モジュール用の個別ツールの代わりに 5 つの汎用ツールを生成します。加えて、オプションでソースファイルを読み取るツールが生成されます。

{name}-get-overview

プロジェクトの概要を取得します。

パラメーター:

  • なし

戻り値:

  • メインの概要ファイルの内容
{name}-get-overall-list

利用可能なすべてのモジュールの一覧を取得します。

パラメーター:

  • なし

戻り値:

  • ドキュメントで利用可能なすべてのモジュールの一覧
{name}-get-module-overview

特定のモジュールの概要を取得します。

パラメーター:

  • module(string):モジュールの名前

戻り値:

  • モジュールの概要ファイルの内容
{name}-get-module-list

特定のモジュール内の項目の一覧を取得します。

パラメーター:

  • module(string):モジュールの名前

戻り値:

  • モジュールの一覧ファイルの内容
{name}-get-module-detail

モジュール内の特定の項目の詳細を取得します。

パラメーター:

  • module(string):モジュールの名前
  • name(string):詳細を取得する項目の名前

戻り値:

  • 項目の詳細ファイルの内容
{name}-fuzzy-search

インテリジェントな優先順位付けを行い、キーワードでファイルを検索します。

パラメーター:

  • keyword(string):ファイル名と内容から検索するキーワード

戻り値:

  • 上記の「通常モード」セクションで説明した優先順位と形式で整形された、一致するファイルのリスト
{name}-read-source-file

ソースコードファイルの内容を読み取ります。注:このツールは、サーバーの初期化時に --include-src=true パラメーターが使用された場合にのみ利用できます。

パラメーター:

  • filePath(string):プロジェクトリポジトリ内のソースファイルへの相対パス(例:'src/components/Button.tsx'、'lib/utils.js')

戻り値:

  • プロジェクトディレクトリ内にアクセスを制限するセキュリティチェックを行ったうえでの、ソースファイルの内容

**重要:**このツールは、まずドキュメントを確認してから使用してください。主な情報源としてドキュメントを使用してください。ドキュメントに記載されていない追加の実装詳細や例が必要な場合にのみ、ソースコードを読み取ってください。

ドキュメント作成モードのツール

MCP は、ドキュメント作成を支援する単一のツールを提供します。

get-create-docs-instructions

ドキュメントの構造を作成するための詳細な手順を取得します。

パラメーター:

  • なし

戻り値:

  • ドキュメントファイルと構造の設定に関する詳細な手順

ドキュメント読み取りモード用のドキュメントの作成

ドキュメント構造は手動で作成することも、ドキュメント作成モードを使って手順に沿って作成することもできます。ドキュメント読み取りモードからアクセスできるドキュメントを作成するには、以下の手順に従ってください。

ステップ 1:メイン設定ファイルを作成する

ドキュメントディレクトリに read-docs-mcp.json ファイルを作成します。

{
  "name": "YourLibrary",
  "description": "Description of your library",
  "version": "1.0.0",
  "moduleList": ["hooks", "components", "utils"],
  "moduleFolderNamingPattern": "kebab"
}

moduleFolderNamingPattern は、モジュールフォルダー名の変換方法を指定します。たとえば、moduleList に ["FormControl", "useHooks"] が含まれていて、「kebab」パターンを選択した場合、フォルダーは form-control/ と use-hooks/ として作成されます。

ステップ 2:モジュールディレクトリと設定を作成する

各モジュールについて、ディレクトリと read-module-docs-mcp.json ファイルを作成します。

{
  "get-all": {
    "name": "get-component-list",
    "description": "Get a list of components",
    "fileName": "list.md"
  },
  "get-details": {
    "name": "get-component-details",
    "description": "Get details of a component",
    "paramDescription": "A component name",
    "namingPattern": "kebab"
  },
  "get-overview": {
    "name": "get-component-overview",
    "description": "Get an overview of components",
    "fileName": "overview.md"
  }
}

注: 生成される実際のツール名には、パッケージ名が先頭に付加されます。たとえば、パッケージ名が「MyLibrary」の場合、ツール名は MyLibrary-get-component-list、MyLibrary-get-component-details などになります。

ステップ 3:ドキュメントファイルを作成する

必要な Markdown ファイルを作成します。

  • list.md - モジュール内のすべての項目の一覧
  • overview.md - モジュールの概要
  • 個別の詳細ファイル(例:button.md、input.md など)

ライセンス

MIT

コメント

MCP は初めてですか?

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

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