xmcpはTypeScriptベースの開発フレームワークで、MCP(Model Context Protocol)アプリケーションの構築と配布のために設計されている。xmcpは開発プロセスを簡素化し、開発者が効率的なツールを素早く作成してMCPエコシステムに展開できるようにする。xmcpは開発者のエクスペリエンスに重点を置き、ファイルシステムのルーティング、ホットリロード、柔軟なミドルウェアのサポートを提供します。xmcpは、直感的な設定と自動化ツールにより、初心者でもプロの開発者でもすぐに使い始めることができます。Vercelなどのプラットフォームをサポートしており、導入が簡単で互換性が高い。公式ウェブサイトでは、MCP開発を検討する開発者向けに詳細なドキュメントを提供している。
機能一覧
- 自動登録ツール
tools
ディレクトリは自動的にツールファイルを検出し、登録する。 - ファイルシステム・ルーティング:ファイル構造ベースのルーティング管理で開発を簡素化。
- ホットリローディング:コード変更後の即時フィードバックにより、開発効率を向上。
- ミドルウェアサポート:機能拡張のための認証およびカスタムミドルウェアを提供。
- 柔軟なコンフィギュレーション
xmcp.config.ts
MCPサーバーの設定をカスタマイズする。 - クロスプラットフォーム展開:Vercelなどのプラットフォームをサポートし、展開が簡単で互換性が高い。
- Next.jsとExpressのアダプター:既存のプロジェクトとのシームレスな統合。
- 公式文書サポート:詳細な開発および配備ガイドラインを提供します。
ヘルプの使用
設置プロセス
xmcpのインストール手順は簡単で、Windows、macOS、Linuxに適している。以下はその詳細な手順である:
- Node.jsのインストール
Node.jsがシステムにインストールされていることを確認する(推奨バージョン18以上)。Node.jsの公式ウェブサイトにアクセスし、ダウンロードしてインストールしてください。インストール後、以下のコマンドを実行してバージョンを確認する:node -v npm -v
- プロジェクトを作成する
ターミナルでディレクトリを選択し、以下のコマンドを実行してxmcpプロジェクトを初期化する:npx create-xmcp@latest my-project
という名前のファイルを生成する。
my-project
のプロジェクト・フォルダーは以下のような構造になっている:my-project/ ├── src/ │ ├── middleware.ts # 中间件处理HTTP请求/响应 │ └── tools/ # 工具文件自动注册 │ ├── greet.ts │ ├── search.ts ├── dist/ # 编译输出目录 ├── package.json ├── tsconfig.json └── xmcp.config.ts # xmcp配置文件
- 依存関係のインストール
プロジェクト・ディレクトリに移動し、依存関係をインストールする:cd my-project npm install
- 開発サーバーの起動
以下のコマンドを実行して、ローカル開発サーバーを起動する:npm run dev
サーバーはデフォルトで
http://localhost:3000
.アプリケーションを表示するには、ブラウザアクセスを開きます。ホットリロード機能は、コードの変更をリアルタイムで反映します。
主な機能
1.ツールの作成
xmcp合格tools
ディレクトリ自動登録ツール。開発者はsrc/tools/
の下にTypeScriptファイルを作成します。例えば、挨拶ツールを作成するgreet.ts
::
export default {
name: "greet",
description: "Returns a greeting message",
async handler(input: string) {
return `Hello, ${input}!`;
},
};
保存後、手動で設定しなくても自動的にツールが登録されます。アクセスhttp://localhost:3000/mcp?name=greet
コール可能。
2.コンフィギュレーション・ミドルウェア
ミドルウェアは、認証やロギングなど、HTTPリクエストとレスポンスを処理するために使われる。ミドルウェアではsrc/middleware.ts
でミドルウェアを定義する。
import { Middleware } from "xmcp";
export default function authMiddleware(): Middleware {
return async (req, res, next) => {
const authHeader = req.headers.authorization;
if (!authHeader) {
res.status(401).json({ error: "Unauthorized" });
return;
}
await next();
};
}
ミドルウェアはリクエストが処理される前に実行され、カスタムロジックを追加するのに適している。
3.カスタム設定
とおすxmcp.config.ts
ポートやツールカタログなどのサーバー設定を調整する:
import { defineConfig } from "xmcp";
export default defineConfig({
port: 3001,
toolsDir: "src/tools",
middleware: ["authMiddleware"],
});
設定を適用するために、サーバーを変更し、再起動する。
4.ヴェルセルへの配備
xmcpはVercelのワンクリック・デプロイをサポートしています。プロジェクトがGitHubリポジトリにプッシュされていることを確認してください:
- Vercelの公式サイトにログインし、GitHubリポジトリに接続する。
- xmcpプロジェクトを選択すると、Vercelが自動的に設定を検出します。
- Deploy "ボタンをクリックし、デプロイが完了するまで待ちます。
デプロイに成功すると、Vercelは次のような公開URLを提供します。https://my-project.vercel.app
.
注目の機能操作
サーマルリローディング
開発モードでtools
ディレクトリ内のファイルが自動リロードのトリガーとなります。手動でサーバーを再起動する必要がないため、迅速な反復作業に適しています。例えばgreet.ts
をリターンメッセージに追加して保存すると、すぐにブラウザで更新を確認できる。
ファイルシステムのルーティング
に従ってxmcptools
ディレクトリ構造は自動的にルートを生成する。例えばsrc/tools/search.ts
を生成します。/mcp?name=search
ルーティングの開発者はルーティング・テーブルを手動で設定する必要がなく、管理が簡単になる。
Next.jsの統合
すでにNext.jsプロジェクトがある場合は、アダプタ経由でxmcpを統合できます。Next.jsプロジェクトにxmcpをインストールしてください:
npm install xmcp
そのあとpages/api/mcp.ts
追加する:
import { createMcpHandler } from "xmcp/next";
export default createMcpHandler({
toolsDir: "src/tools",
});
Next.jsアプリケーションを再起動すると、xmcp関数が/api/mcp
のパスを使用する。
アプリケーションシナリオ
- ラピッドプロトタイピング
開発者はxmcpのホットリロードとファイルシステムのルーティングを利用して、プロトタイプのMCPツールを素早く構築することができます。例えば、検索ツールを開発するには、単にtools
カタログ追加search.ts
この機能は数分でテストできる。 - APIサービス開発
xmcpはMCPベースのAPIサービスの開発に適しています。ミドルウェアを介した認証とロギングは、Vercelのデプロイメントと組み合わされ、バックエンドのサポートを提供するモバイルやWebアプリケーションに適しています。 - 既存プロジェクトの統合
既存のNext.jsやExpressプロジェクトでは、xmcpのアダプタがシームレスに統合されます。開発者は既存のコードをリファクタリングすることなく、MCPの機能を追加できます。 - 教育と学習
初心者の開発者はxmcpでTypeScriptとMCP開発を学ぶことができます。その直感的な設定とドキュメントは、初心者が実践するための学習の敷居を低くしてくれる。
品質保証
- xmcpはどのようなプログラミング言語をサポートしていますか?
xmcpは主にTypeScriptを使用して開発されていますが、生成されたMCPアプリケーションはHTTP経由で呼び出すことができます。 - ツールのデバッグ方法は?
開発モードでnpm run dev
ターミナルコンソールのログを表示します。ツールの実行エラーが詳細に出力されるため、問題の特定が容易である。 - マルチユーザー認証をサポートしていますか?
はい、マルチユーザー認証はミドルウェアで実現できます。開発者はmiddleware.ts
例えば、JWTをチェックするなどの認証ロジックを実装する。 - Vercel以外のプラットフォームへの展開は可能ですか?
xmcp は、コンパイルされたdist
ディレクトリは、AWSやHerokuなどのNode.jsをサポートするプラットフォームにアップロードされる。