hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Enables searching any Git repository, with support for specifying branches, tags, or commit hashes, and configurable automatic updates through periodic git pulls
Allows chatting with GitHub repositories by downloading or cloning them for search, supporting both public and private repositories, with options for automatic updates
ドキュメント 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 アシスタントとシームレスに統合します。
使用法
このサーバーの主な使用方法は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.json
を更新します。name
(例:@my-org/my-docs-mcp
)、version
、description
などを変更します。- ビルド:
npm run build
を実行します。これにより、コンテンツがdata
ディレクトリに複製/コピーされ、パッケージが準備完了になります。 - 公開:
npm publish
を実行します (npm 認証を設定する必要があります)。
これで、ユーザーは特定のドキュメント サーバーを簡単に実行できるようになります: npx @my-org/my-docs-mcp@latest
。
(以前の「実行」、「実行時の動的構成」、および「環境変数」セクションは、クライアント構成内で引数を使用してnpx
使用する方法が主に文書化された方法になったため、削除されました。)
AIアシスタントと併用する
このMCPサーバーは、モデルコンテキストプロトコルを介して接続されたAIアシスタントに検索ツールを公開します。ツールの名前と説明は設定可能です(設定セクションを参照)。このツールは、現在アクティブなdata
ディレクトリ(ビルド設定、設定ファイル、CLI引数、または環境変数によって決定されます)内のコンテンツを検索します。
ツールパラメータ:
query
: 検索対象を表す自然言語クエリまたはキーワード(例:「ゲートウェイの設定方法」、「データベース接続例」、「ユーザー認証」)。サーバーはProbeの検索機能を使用して関連コンテンツを検索します。(必須)page
: 多数の一致がある場合の結果のページ番号。省略した場合はデフォルトで1になります。(オプション)
ツール呼び出しの例 (使用例 1 のsearch_tyk_docs
を使用):
ツール呼び出しの例 ( @tyk/docs-mcp
パッケージのツールを使用):
ビルド済みパッケージ@tyk/docs-mcp
ツール名をsearch_tyk_official_docs
として定義していると仮定します。
(以前の「npm パッケージとして公開する」セクションは、上記の「独自のビルド済み MCP サーバーを作成する」セクションに置き換えられました。)
ライセンス
マサチューセッツ工科大学
You must be authenticated.
柔軟なモデル コンテキスト プロトコル サーバーは、ドキュメントやコードベースを AI アシスタントで検索可能にし、ユーザーが Git リポジトリまたはフォルダーをポイントするだけでコードやドキュメントとチャットできるようにします。