mcpField
D
dxt

dxt

ローカル
github.com/anthropics開発ツール2.2k27 週間前に更新

dxt について

MCPBは、ローカルMCPサーバーをパッケージ化する形式とコマンドラインツールを提供します。サーバーやアプリの開発者向けで、Claude for macOSおよびWindowsがバンドルを読み込み、検証するコードも含みます。

主な機能

  1. 01MCPBバンドル仕様
  2. 02マニフェスト作成とパッキング用CLI
  3. 03マニフェストによるサーバー設定
  4. 04バンドルの読み込みと検証コード
  5. 05自動更新と設定のサポート

活用シーン

  1. 01ローカルMCPサーバーの配布用パッケージ化
  2. 02アプリへのMCPBバンドル対応の追加

MCP 対応

MCPBはローカルMCPサーバーとマニフェストを`.mcpb`アーカイブにまとめます。対応アプリはこれらのサーバーをインストールして実行できます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP バンドル(MCPB)

⚠️ 重要なお知らせ:このプロジェクトは DXT(デスクトップ拡張機能)から MCPB(MCP バンドル)へ名称変更中です

DXT ツールをお探しの場合、名称は MCPB に変更されています。依存関係とツールを更新してください。

  • dxt CLI は mcpb になりました
  • .dxt ファイルは .mcpb ファイルになりました
  • @anthropic-ai/dxt パッケージは @anthropic-ai/mcpb に移行予定です

MCP バンドル(.mcpb)は、ローカル MCP サーバーと、そのサーバーおよび機能について記述した manifest.json を含む ZIP アーカイブです。この形式は Chrome 拡張機能(.crx)や VS Code 拡張機能(.vsix)に近い考え方で、エンドユーザーがワンクリックでローカル MCP サーバーをインストールできるようにします。

このリポジトリでは、3 つのコンポーネントを提供しています。MANIFEST.md に記載されたバンドル仕様、バンドルを作成する CLI ツール(CLI.md を参照)、そして Claude for macOS and Windows が MCPB バンドルを読み込み、検証するために使用するコード(src/index.ts)です。

  • ローカル MCP サーバーの開発者にとって、そうしたサーバーの配布とインストールを便利にすることを目指しています
  • ローカル MCP サーバーをサポートするアプリの開発者にとって、MCPB バンドルのサポートを簡単に追加できるようにすることを目指しています

Claude for macOS and Windows は、このリポジトリのコードを使用して、ローカル MCP サーバーのワンクリックインストールを実現しています。自動更新、MCP サーバーや必要な変数・パラメーターの簡単な設定、厳選されたディレクトリなど、エンドユーザーに便利な機能も多数備えています。MCP サーバーを取り巻くオープンなエコシステムに取り組んでおり、複数のアプリケーションやサービスで広く採用できることは、AI ツールを他のアプリやサービスに接続しようとする開発者にとってメリットがあると考えています。そのため、MCP バンドルの仕様、ツールチェーン、および Claude for macOS and Windows が独自の MCP バンドル対応を実装するために使用するスキーマや主要な関数をオープンソース化しています。mcpb 形式によって、ローカル MCP サーバーが Claude だけでなく、他の AI デスクトップアプリケーションでも移植しやすくなることを願っています。

バンドル開発者向け

MCPB は基本的に、MCP サーバー一式と manifest.json を含むシンプルな ZIP ファイルです。そのため、ローカル MCP サーバーをバンドルにするのは簡単です。必要なファイルをすべてフォルダーに入れ、manifest.json を作成してから、アーカイブを作成するだけです。

この作業を簡単にするため、このパッケージでは manifest.json と最終的な .mcpb ファイルの作成を支援する CLI を提供しています。インストールするには、次のコマンドを実行してください。

npm install -g @anthropic-ai/mcpb
  1. ローカル MCP サーバーを含むフォルダーで mcpb init を実行します。このコマンドの案内に従って manifest.json を作成してください。
  2. mcpb pack を実行して mcpb ファイルを作成します。
  3. これで、MCPB のサポートを実装しているアプリであれば、ローカル MCP サーバーを実行できます。たとえば、Claude for macOS and Windows でファイルを開くと、インストールダイアログが表示されます。

manifest.json の完全な仕様と、必須フィールドおよび任意フィールドについては、MANIFEST.md をご覧ください。バンドルの例は examples にあります。

AI ツール向けのプロンプトテンプレート

Claude Code などの AI ツールは、仕様を伝えると MCP バンドルの作成が特に得意です。AI コーディングツールにバンドルの作成を依頼する際は、まずバンドルの目的を簡潔に説明し、次に以下のコンテキストを指示に追加してください。

これを MCP バンドル(略称「MCPB」)として作成したいです。以下の手順に従ってください。

  1. 仕様を十分に確認する:
  2. 適切なバンドル構造を作成する:
    • MANIFEST.md の仕様に従った、有効な manifest.json を生成する
    • 適切なツール定義を備えた @modelcontextprotocol/sdk を使用して MCP サーバーを実装する
    • 適切なエラー処理、セキュリティ対策、タイムアウト管理を含める
  3. 優れた開発プラクティスに従う:
    • stdio トランスポートを介した適切な MCP プロトコル通信を実装する
    • 明確なスキーマ、検証、一貫性のある JSON レスポンスを備えたツールを構成する
    • このバンドルがローカルで実行されることを活用する
    • 適切なログ記録とデバッグ機能を追加する
    • 適切なドキュメントとセットアップ手順を含める
  4. テストに関する考慮事項:
    • すべてのツール呼び出しが適切に構成されたレスポンスを返すことを検証する
    • マニフェストが正しく読み込まれ、ホストとの統合が機能することを確認する

すぐにテストできる、完全で本番環境に対応したコードを生成してください。防御的なプログラミング、明確なエラーメッセージ、エコシステムとの互換性を確保するための MCPB 仕様への厳密な準拠を重視してください。

ディレクトリ構成

最小限のバンドル

必須ファイルは manifest.json のみです。

例:Node.js バンドル
bundle.mcpb (ZIP file)
├── manifest.json         # Required: Bundle metadata and configuration
├── server/               # Server files
│   └── index.js          # Main entry point
├── node_modules/         # Bundled dependencies
├── package.json          # Optional: NPM package definition
├── icon.png              # Optional: Bundle icon
└── assets/               # Optional: Additional assets
例:Python バンドル
bundle.mcpb (ZIP file)
├── manifest.json         # Required: Bundle metadata and configuration
├── server/               # Server files
│   ├── main.py           # Main entry point
│   └── utils.py          # Additional modules
├── lib/                  # Bundled Python packages
├── requirements.txt      # Optional: Python dependencies list
└── icon.png              # Optional: Bundle icon
例:バイナリバンドル
bundle.mcpb (ZIP file)
├── manifest.json         # Required: Bundle metadata and configuration
├── server/               # Server files
│   ├── my-server         # Unix executable
│   ├── my-server.exe     # Windows executable
└── icon.png              # Optional: Bundle icon
言語選択に関する推奨事項

インストール時の手間を減らすため、MCP サーバーは Python ではなく Node.js で実装することを推奨します。 Node.js は macOS および Windows 向けの Claude に同梱されています。そのため、ユーザーが追加の Python ランタイムをインストールしたり、手動で同梱したりしなくても、バンドルをすぐに利用できます。

依存関係のバンドル

UV ランタイム(v0.4 以降):

  • マニフェストで server.type = "uv" を使用する
  • 依存関係を記載した pyproject.toml を含める(パッケージのバンドルは不要)
  • ホストアプリケーションが Python と依存関係を自動で管理する
  • ユーザーによる Python のインストールが不要で、クロスプラットフォームで動作する
  • examples/hello-world-uv を参照

Python バンドル(従来方式):

  • マニフェストで server.type = "python" を使用する
  • 必要なパッケージをすべて server/lib/ ディレクトリにバンドルする
  • または、完全な仮想環境を server/venv/ にバンドルする
  • pip-tools、poetry、pipenv などのツールを使い、再現可能なバンドルを作成する
  • mcp_config.env を介してバンドルしたパッケージを含めるよう、PYTHONPATH を設定する
  • 制限事項:コンパイル済みの依存関係(MCP Python SDK が必要とする pydantic など)は、ポータブルな形でバンドルできません

Node.js バンドル:

  • npm install --production を実行して node_modules を作成する
  • node_modules ディレクトリ全体をバンドルに含める
  • 再現可能なビルドには npm ci または yarn install --frozen-lockfile を使用する
  • サーバーのエントリーポイントは manifest.json の server.entry_point で指定する

バイナリバンドル:

  • 互換性を最大限に高めるため、静的リンクを推奨
  • 動的リンクを使用する場合は、必要な共有ライブラリをすべて含める
  • 開発ツールのないクリーンなシステムでテストする

コントリビューション

コントリビューションを歓迎します!詳しくはコントリビューションガイドをご覧ください。

開発環境のセットアップ

# Clone the repository
git clone https://github.com/anthropics/mcpb.git
cd mcpb

# Install dependencies
yarn

# Build the project
yarn build

# Run tests
yarn test

リリースプロセス

  1. package.json のバージョンを更新します
  2. バージョンを引き上げるプルリクエストを作成します
  3. マージ後、GitHub リリースを作成します
  4. パッケージは npm に自動的に公開されます

ライセンス

このプロジェクトでは、新規の貢献に Apache License 2.0 を適用し、既存のコードには MIT を適用しています。詳細は LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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