MCP Server.exe について
MCP Server.exe は、複数の MCP サービスを実行・組み合わせ、小智や Cursor と接続できる実行ファイル型のランチャーです。設定ファイル、WebSocket 接続、定期タスク、JavaScript プラグインに対応し、複数の MCP サービスをまとめて管理したいユーザーに向いています。
主な機能
- 01SSE と stdio に対応した複数 MCP サービスの統合
- 02Cursor 互換の mcp.json 設定
- 03ツールチェーンの順次実行とデータ受け渡し
- 04JavaScript プラグインによるカスタムツール定義
- 05設定ファイル変更時の自動再起動
活用シーン
- 01複数の MCP サービスを xiaozhi.me に接続
- 02ツールの定期実行と結果通知
- 03MCP サービスの実行ファイルとしての配布
MCP 対応
MCP サービスのホストとして動作するほか、WebSocket または SSE で他の MCP サービスに接続し、そのツールを一つのエンドポイントから提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

MCP Server.exe
小智とCursor向けのMCPランチャー - Cursorとxiaozhi向けMCP
MCP Server.exeは、標準的なMCP(Model Context Protocol)サービスを実行できるだけでなく、豊富な高度な機能も備えた強力な実行可能サーバーです。
- ツールのチェーン実行:複数のツールを順番に組み合わせ、複雑な自動化フローを実現できます
- 複数のMCPサービスの組み合わせ:複数のMCPサービスを同時に実行・管理でき、SSEとstdioの両方のモードに対応しています
- プラグイン式のツールシステム:カスタムツールの動的な読み込みと設定に対応しています
- 柔軟なデプロイオプション:スタンドアロンでの実行から分散デプロイまで、さまざまな統合シナリオに対応します
- 自動リロード:
--mcp-configと--mcp-jsの変更を監視し、自動的に再起動して変更を反映します
MCP Server.exeは、標準的なMCP(Model Context Protocol)サービスを実行できるだけでなく、豊富な高度な機能も備えた強力な実行可能サーバーです。
- ツールのチェーン実行:複数のツールを順番に組み合わせ、複雑な自動化を実現できます
- 複数のMCPサービス:複数のMCPサービスを同時に実行・管理でき、SSEとstdioの両方のモードに対応しています
- プラグイン式のツールシステム:カスタムツールの動的な読み込みと設定に対応しています
- 柔軟なデプロイ:スタンドアロンでの実行から分散デプロイまで、さまざまな統合シナリオに対応します
- 設定変更時の自動リロード
使い方
# 推荐:通过 CLI 运行(无需本地构建)
npx mcp_exe --mcp-config ./examples/mcp.json
# 或运行打包后的可执行文件(Windows/macOS)
./executables/mcp_server-win-x64.exe --mcp-config ./examples/mcp.json
🎯 主な使用シナリオ
1. WebSocket接続モード
WebSocketを介して他のMCPサービスに接続できます。特にxiaozhi.meなどのWebSocket対応MCPサービスへの接続に適しています。設定ファイルを使えば、複数のMCPサービスを簡単にxiaozhi.meに統合できます。
WebSocketを介して他のMCPサービスに接続できます。特にxiaozhi.meなどのWebSocket対応MCPサービスへの接続に適しています。設定ファイルを使えば、複数のMCPサービスを簡単にxiaozhi.meに統合できます。

# 使用配置文件连接到 xiaozhi.me / Start in WebSocket mode
npx mcp_exe --ws wss://api.xiaozhi.me/mcp/?token=...xxx --mcp-config ./examples/mcp-sse.json
設定例(mcp-sse.json):
{
"mcpServers": {
"Model Server sse": {
"url": "http://127.0.0.1:3000"
}
},
"serverInfo": {
"serverName": "ws-client-mcp-server",
"version": "1.0.0",
"description": "WebSocket 客户端的 MCP 服务器实例",
"author": "shadow"
}
}
WebSocketモードの機能:
- リアルタイムの双方向通信に対応しています
- 自動再接続機能
- 複数のサービスを一元管理できます
- 標準のMCPプロトコルと互換性があります
関連プロジェクト:xiaozhi-mcpビジュアルランチャー
2. スタンドアロンサービスのクイックスタート
最も簡単な使い方は、ダブルクリックして実行するか、npxを使って標準的なMCPサービスを起動する方法です。
最も簡単な使い方は、ダブルクリックして実行するか、npxを使って起動する方法です。
# 双击运行 mcp_server.exe,或通过命令行启动
./executables/mcp_server-win-x64.exe
# 或
npx mcp_exe
デフォルト設定:
- リッスンポート:3000(
--portで変更できます) - SSEエンドポイント:GET
/でセッションを確立し、POST/sessions?sessionId=...でメッセージを送信します - 基本ツールセットを内蔵しています
--mcp-configと--mcp-jsを自動リロードします
3. 複数のMCPサービスの組み合わせ
Cursorと同じmcp.json設定ファイルを使って、複数のMCPサービスを組み合わせられます。SSEとstdioの両方のトランスポートモードを同時に使用できます。これにより、アプリケーションのシナリオに応じて適切なトランスポート方式を選択でき、システムの柔軟性と拡張性を高められます。
Cursorと同じmcp.json設定ファイルを使って、複数のMCPサービスを組み合わせられます。SSEとstdioの両方のトランスポートモードを同時に使用できます。
npx mcp_exe --mcp-config ./examples/mcp.json
設定例(mcp.json):
{
"mcpServers": {
"Model Server sse": { "url": "http://127.0.0.1:9090" },
"Model Server - stdio": { "command": "xxx", "args": ["--transport", "stdio"] }
},
"serverInfo": { "serverName": "dynamic-mcp-server" },
"tools": [],
"namespace": "."
}
tools:許可するツールのホワイトリスト(空の配列の場合、フィルタリングしません)namespace:組み合わせる名前空間の区切り文字。デフォルトは.です(::も使用できます)
4. ツールのチェーン実行
複数のツールを組み合わせてツールチェーンを作成し、複雑な自動化フローを実現できます。ツールチェーンでは、データの受け渡しと結果の出力を柔軟に設定できます。
複数のツールを組み合わせてツールチェーンを作成し、複雑な自動化プロセスを実現できます。ツールチェーンでは、データの受け渡しと結果の出力を柔軟に設定できます。
npx mcp_exe --mcp-config ./examples/product-hunt/mcp-tools.json
設定例(抜粋。必要に応じてカスタマイズしてください):
{
"toolChains": [
{
"name": "product_hunt_news",
"description": "get product hunt news",
"steps": [
{ "toolName": "get_product_hunt_url", "args": {} },
{ "toolName": "load_product_hunt_js_code", "args": {} },
{ "toolName": "browser_navigate", "args": {}, "outputMapping": { "url": "content.0.text" }, "fromStep": 0 },
{ "toolName": "browser_execute_javascript", "args": {}, "outputMapping": { "code": "content.0.text" }, "fromStep": 1 },
{ "toolName": "browser_close", "args": {} }
],
"output": { "steps": [3] }
}
]
}
ツールチェーンの機能:
- 複数のステップを順番に実行できます
- データの受け渡しを柔軟にマッピングできます(
outputMapping/fromStep) - 任意のステップから結果を取得できます(
output.steps)
5. カスタムツールのプラグイン機構
JavaScript設定ファイルを使って、ツール、リソース、プロンプトを柔軟に定義できます。
JavaScript設定ファイルを使って、ツール、リソース、プロンプトを柔軟に定義できます。
npx mcp_exe --mcp-js ./examples/custom-mcp-config.js
設定例(custom-mcp-config.js):
module.exports = {
// 推荐导出名:configureMcp(也兼容 mcpPlugin)
configureMcp: function(server, ResourceTemplate, z) {
server.tool('myTool', '自定义工具示例', { /* zod schema */ }, async (args) => ({ content: [{ type: 'text', text: 'ok' }] }))
server.resource('custom-echo', new ResourceTemplate('custom-echo://{message}', { list: undefined }), async (uri, { message }) => ({ contents: [{ uri: uri.href, text: message }] }))
server.prompt('custom-prompt', { /* zod */ }, ({ message }) => ({ messages: [{ role: 'user', content: { type: 'text', text: message } }] }))
}
}
6. cronjobモード
--cronjobを使って、ツールを定期的に実行します。現在サポートされている操作は、listToolsとcallToolです。タスクは起動時に一度実行され、その後はscheduleの周期に従って実行されます。結果はデスクトップ通知、メール、ntfyで送信できます。
# 示例:结合自定义工具与定时任务
npx mcp_exe --cronjob ./examples/cronjob.json --mcp-js ./examples/product-hunt/custom-mcp-config.js
設定例(examples/cronjob.json):
{
"tasks": [
{
"schedule": "*/30 * * * * *",
"operations": [
{ "type": "callTool", "name": "get_product_hunt_url", "arguments": {} }
],
"notify": [
{ "type": "desktop", "title": "任务执行结果", "icon": "" }
]
}
]
}
通知:
- desktop:システム通知(ローカルのデスクトップ環境が必要です)
- email:メールを送信します(
to、subjectなどの指定が必要です) - ntfy:
ntfyにプッシュ通知を送信します(url、topic、tags、priorityの指定が必要です)
注意:定期タスクは、組み合わせ済みのツール(リモートSSE/ローカルstdioツールを含む)を直接呼び出すため、タスク内でトランスポートを指定する必要はありません。
7. 組み込み統合
スタンドアロンプロセスとして、あらゆるアプリケーションに統合できます。
スタンドアロンプロセスとして、あらゆるアプリケーションに統合できます。
// Node.js 示例 | Node.js Example
const { spawn } = require('child_process')
const mcpServer = spawn('./executables/mcp_server-win-x64.exe', [
'--port', '3000',
'--transport', 'stdio'
])
mcpServer.stdout.on('data', (data) => {
// 处理 MCP 服务器的输出
})
mcpServer.stdin.write(JSON.stringify({
// 发送请求到 MCP 服务器
}))
📚 詳細ドキュメント | Detailed Documentation
コマンドライン引数 | Command Line Arguments
サーバーでは、動作をカスタマイズするために以下のコマンドライン引数を使用できます。
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
--ws <url> | WebSocket サーバーアドレス。WebSocket 接続モードを有効にします | なし |
--mcp-js <路径> | MCP JavaScript 設定ファイルのパス(configureMcp または mcpPlugin に対応) | なし |
--mcp-config <路径/json字符串> | MCP JSON 設定ファイルのパス、または JSON 文字列 | なし |
--server-name <name> | サーバー名 | mcp_server_exe |
| --port <端口> | サーバーのリッスンポート | 3000 |
| --transport <模式> | トランスポートモード。sse または stdio に対応します(WS モード以外で有効) | sse |
| --cronjob <路径/json> | 定期実行タスクの設定ファイルのパス、または JSON 文字列 | なし |
| --cursor-link | 起動後、Cursor から簡単に接続します(SSE モード) | 無効 |
| --log-level <level> | ログレベル:TRACE/DEBUG/INFO/WARN/ERROR/FATAL/OUTPUT | INFO |
| --version <version> --description <desc> --author <author> --license <license> --homepage <url> | メタ情報 | - |
ヒント:--ws が指定されている場合は WebSocket モードが優先されます。それ以外の場合、明示的に指定されていなければ、デフォルトで sse が使用されます。
設定ファイル形式 | Configuration File Format
サーバーのパラメーターと MCP 機能を設定ファイルでまとめて設定できます。
module.exports = {
// MCP 配置函数 | MCP configuration function
configureMcp: function(server, ResourceTemplate, z) {
// 配置资源和工具 | Configure resources and tools
},
// 可选:提供额外的 mcp 配置对象
mcpConfig: { /* mcpServers/tools/toolChains/namespace */ }
}
自動再読み込み | Auto Reload
--mcp-configファイルの変更を監視します。自動的に再解析してサービスを再起動します(ツールチェーン/名前空間/ツールの許可リストなどを含みます)--mcp-jsファイルの変更を監視します。カスタムconfigureMcp/mcpPluginを自動的に再読み込みします
開発ガイド | Development Guide
インストール | Installation
npm install
ビルド | Build
yarn build # 或 npm run build
実行 | Run
npm start
# 或开发模式(SSE):
npm run dev
# WebSocket 开发:
npm run dev-ws
# Cronjob 开发:
npm run dev-cronjob
パッケージング | Packaging
# Windows 打包
npm run package-win
# macOS 打包(Intel/Apple Silicon)
npm run package-mac-intel
npm run package-mac-arm
パッケージ化された実行可能ファイルは executables ディレクトリに生成されます。
ログ | Logging
--log-levelで最小出力レベルを指定します(デフォルトはINFO)- コンソールにはタイムスタンプ/分類/色付きで出力されます。
OUTPUTレベルは、ツールが解析できるようにそのまま出力するために使用します
ライブラリとしての使用 | Library API
v0.11.x 以降、安定したエクスポートとして McpRouterServer を提供しています。
// CommonJS
const { McpRouterServer } = require('mcp_exe');
(async () => {
const server = new McpRouterServer({ name: 'my-app' }, { transportType: 'sse', port: 3000 });
await server.importMcpConfig(require('./mcp.json'), null);
await server.start();
})();
// TypeScript / ESM
import { McpRouterServer } from 'mcp_exe';
const server = new McpRouterServer({ name: 'my-app' }, { transportType: 'stdio' });
await server.importMcpConfig(mcpJson, null);
await server.start();
- 型宣言は
dist/index.d.tsに出力され、types/exportsを通じて自動的に公開されます。 - CLI は引き続き
bin/cli.jsを通じて提供され、ライブラリと CLI を併用できます。
📝 ライセンス | License
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。