ドキュメント MCP サーバー
このプロジェクトは、 Probeを搭載した柔軟な Model Context Protocol (MCP) サーバーを提供し、ドキュメントやコードベースを AI アシスタントで検索できるように設計されています。
Git リポジトリまたはフォルダーをポイントするだけで、コードやドキュメントとチャットできます。
ユースケース:
**任意の GitHub リポジトリとチャット:**サーバーをパブリックまたはプライベートの Git リポジトリにポイントして、そのコンテンツに関する自然言語クエリを有効にします。
**ドキュメントの検索:**プロジェクトのドキュメント (ローカル ディレクトリまたは Git から) を統合して簡単に検索できるようにします。
**カスタム MCP サーバーの構築:**このプロジェクトをテンプレートとして使用して、特定のドキュメント セットやコードベースに合わせてカスタマイズされた独自の公式 MCP サーバーを作成します。
コンテンツソース(ドキュメントまたはコード)は、 npm run buildステップでパッケージに事前にビルドすることも、ローカルディレクトリまたは Git リポジトリを使用して実行時に動的に設定することもできます。デフォルトでは、自動更新を有効にせずにgitUrlを使用すると、サーバーは起動を高速化するために.tar.gzアーカイブをダウンロードします。完全な Git クローンは、 autoUpdateIntervalが 0 より大きい場合にのみ使用されます。
特徴
Probe を搭載: Probe検索エンジンを活用して、効率的で関連性の高い結果を取得します。
**柔軟なコンテンツ ソース:**特定のローカル ディレクトリを含めるか、Git リポジトリのクローンを作成します。
**事前ビルドコンテンツ:**オプションで、ドキュメント/コード コンテンツをパッケージに直接バンドルします。
**動的構成:**構成ファイル、CLI 引数、または環境変数を使用して、コンテンツ ソース、Git 設定、MCP ツールの詳細を構成します。
**自動 Git 更新:**設定可能な間隔で Git リポジトリから変更を自動的に取得して、コンテンツを最新の状態に保ちます。
カスタマイズ可能な MCP ツール: AI アシスタントに公開される検索ツールの名前と説明を定義します。
**AI 統合:**モデル コンテキスト プロトコル (MCP) をサポートする AI アシスタントとシームレスに統合します。
Related MCP server: Codebase MCP
使用法
このサーバーの主な使用方法はnpx経由です。npx はローカルインストールを必要とせず、パッケージをダウンロードして実行します。これにより、AIアシスタントやMCPクライアント(IDE拡張機能など)との統合が容易になります。
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Docs MCP Server を自動的にインストールするには:
MCP クライアント (IDE など) との統合
MCPクライアントは、 npxを使用してこのサーバーを起動するように設定できます。クライアントの設定例を以下に示します(構文はクライアントによって異なる場合があります)。
例 1: Git リポジトリの動的な検索 (Tyk ドキュメント)
この設定は、クライアントにnpxを使用して最新の@buger/docs-mcpパッケージを実行するように指示し、Tyk ドキュメントリポジトリを動的に指定します。 -y引数は、 npxインストールプロンプトを自動的に確認します。-- --toolNameおよび--toolDescription引数は、AI アシスタントに表示される検索ツールの表示方法をカスタマイズします。
あるいは、クライアントによってはコマンド全体を直接指定できる場合もあります。例1と同じことを、次のように記述することで実現できます。
例2: 事前に構築されたブランドMCPサーバー(例:Tykパッケージ)の使用
チームが特定のドキュメントを含むビルド済みパッケージ( @tyk-technologies/docs-mcpなど)を公開する場合、コンテンツソースとツールの詳細がそのパッケージに組み込まれるため、設定はよりシンプルになりますnpxでは-y引数の使用が引き続き推奨されます。
このアプローチは、公式ドキュメントやコードベース向けの標準化された検索エクスペリエンスを提供するのに最適です。以下の「独自のプレビルドMCPサーバーの作成」セクションをご覧ください。
Tyk チームが独自のドキュメント MCP サーバーを構築する方法の例は、 https://github.com/TykTechnologies/docs-mcp にあります。
構成
ルート ディレクトリにdocs-mcp.config.jsonファイルを作成し、ビルド時および実行時に使用されるデフォルトのコンテンツ ソースと MCP ツールの詳細を定義します (CLI 引数または環境変数によって上書きされない限り)。
例1: ローカルディレクトリの使用
例2: Gitリポジトリの使用
設定オプション
includeDir: **(ビルド/ランタイム)**ビルド時にdataディレクトリにコピーされるローカルディレクトリへの絶対パス。dataDir が指定されていない場合は、実行時に直接使用されます。このdataDirまたはgitUrl使用してください。gitUrl: (ビルド/ランタイム) GitリポジトリのURL。これかincludeDir使用してください。autoUpdateIntervalが 0(デフォルト)の場合、サーバーは.tar.gzアーカイブを直接ダウンロードしようとします(現在は GitHub の URL 構造(https://github.com/{owner}/{repo}/archive/{ref}.tar.gz)を想定しています)。これは高速ですが、更新はサポートされません。autoUpdateInterval> 0 の場合、サーバーはgit cloneを実行し、定期的な更新を有効にします。
gitRef: (ビルド/ランタイム)gitUrlから使用するブランチ、タグ、またはコミットハッシュ (デフォルト:main)。tarball のダウンロードと Git のクローン/プルの両方で使用されます。autoUpdateInterval: (実行時) Git アップデートを自動チェックする間隔(分)(デフォルト: 0、無効)。この値を 0 より大きい値に設定すると、gitのクローン作成と定期的なgit pull操作が有効になります。git コマンドがシステムパスで使用可能になっている必要があります。dataDir: **(実行時)**実行時に検索するコンテンツを含むディレクトリへのパス。設定ファイルまたはパッケージに組み込まれているincludeDirまたはgitUrlから取得したコンテンツを上書きします。再構築せずにサーバーにライブデータを指定する場合に便利です。toolName: **(ビルド/ランタイム)**サーバーによって公開される MCP ツールの名前 (デフォルト:search_docs)。コンテンツに関連するわかりやすい名前を選択してください。toolDescription: (ビルド/ランタイム) AI アシスタントに表示される MCP ツールの説明 (デフォルト:「プローブ検索エンジンを使用してドキュメントを検索します。」)。ignorePatterns: (ビルド/ランタイム) glob パターンの配列。enableBuildCleanup: (ビルド)true(デフォルト)の場合、ビルドステップ後にdataディレクトリから一般的なバイナリ/メディアファイル(画像、動画、アーカイブなど)と100KBを超えるファイルを削除します。このクリーンアップを無効にするには、falseに設定します。ビルド中に
includeDir使用する場合: これらのパターンに一致するファイルは、dataにコピーするときに除外されます.gitignoreルールも尊重されます。実行時に
gitUrlまたはdataDirを使用する場合:dataディレクトリ内のこれらのパターンに一致するファイルは、検索インデクサーによって無視されます。
優先順位:
ランタイム構成(最高): CLI 引数(
--dataDir、--gitUrlなど)と環境変数(DATA_DIR、GIT_URLなど)は、他のすべての設定を上書きします。CLI 引数は環境変数よりも優先されます。ビルド時の構成:
docs-mcp.config.json内の設定 (includeDir、gitUrl、toolNameなど) は、npm run build中に使用されるデフォルトを定義し、上書きされない場合は実行時のデフォルトとしても機能します。**デフォルト値 (最低):**構成が指定されていない場合は、内部のデフォルトが使用されます (例:
toolName: 'search_docs'、autoUpdateInterval: 5)。
注意: includeDirとgitUrl両方が同じ構成ソースで指定されている場合 (たとえば、両方が構成ファイル内、または両方が CLI 引数として指定されている場合)、 gitUrl優先されます。
独自のプレビルドMCPサーバーを作成する
このプロジェクトをテンプレートとして使用し、ドキュメントやコードを事前に組み込んだ独自のnpmパッケージを作成して公開できます。これにより、ユーザーは設定不要ですぐに利用できるようになります(上記の例2を参照)。
**このリポジトリをフォーク/クローン:**このプロジェクトのコードから開始します。
**
docs-mcp.config.jsonを設定します。**コンテンツソースを指すincludeDirまたはgitUrlを定義します。デフォルトのtoolNameとtoolDescriptionを設定します。package.jsonname(例:@my-org/my-docs-mcp)、version、descriptionなどを変更します。ビルド:
npm run buildを実行します。これにより、コンテンツがdataディレクトリに複製/コピーされ、パッケージが準備完了になります。公開:
npm publishを実行します (npm 認証を設定する必要があります)。
これで、ユーザーは特定のドキュメント サーバーを簡単に実行できるようになります: npx @my-org/my-docs-mcp@latest 。
(以前の「実行」、「実行時の動的構成」、および「環境変数」セクションは、クライアント構成内で引数を使用して
AIアシスタントと併用する
このMCPサーバーは、モデルコンテキストプロトコルを介して接続されたAIアシスタントに検索ツールを公開します。ツールの名前と説明は設定可能です(設定セクションを参照)。このツールは、現在アクティブなdataディレクトリ(ビルド設定、設定ファイル、CLI引数、または環境変数によって決定されます)内のコンテンツを検索します。
ツールパラメータ:
query: 検索対象を表す自然言語クエリまたはキーワード(例:「ゲートウェイの設定方法」、「データベース接続例」、「ユーザー認証」)。サーバーはProbeの検索機能を使用して関連コンテンツを検索します。(必須)page: 多数の一致がある場合の結果のページ番号。省略した場合はデフォルトで1になります。(オプション)
ツール呼び出しの例 (使用例 1 の
ツール呼び出しの例 (
ビルド済みパッケージ@tyk/docs-mcpツール名をsearch_tyk_official_docsとして定義していると仮定します。
(以前の「npm パッケージとして公開する」セクションは、上記の「独自のビルド済み MCP サーバーを作成する」セクションに置き換えられました。)
ライセンス
マサチューセッツ工科大学