tRPC <-> MCP について
tRPC <-> MCP は tRPC のルートを MCP サーバーとして提供します。開発者は tRPC の meta でルートを個別に有効化し、trpc-mcp で生成したサーバーを stdio で起動します。
主な機能
- 01tRPC ルートを MCP ツールとして公開
- 02meta 設定によるルート単位の有効化
- 03zod ベースの入力・出力スキーマ
- 04stdio トランスポートへの対応
活用シーン
- 01既存の tRPC API に MCP アクセスを追加
- 02AI アシスタントから既存のプロシージャを呼び出す
MCP 対応
tRPC のルートを MCP サーバーとして公開し、MCP クライアントからツールとして呼び出せるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
tRPC <-> MCP
MCP 経由で tRPC ルートを提供します。
使用方法
2. meta に追加
import { initTRPC } from '@trpc/server';
import { type McpMeta } from 'trpc-to-openapi';
const t = initTRPC.meta<McpMeta>().create();
3. ルートで有効化
export const appRouter = t.router({
sayHello: t.procedure
.meta({ openapi: { enabled: true, description: 'Greet the user' } })
.input(z.object({ name: z.string() }))
.output(z.object({ greeting: z.string() }))
.query(({ input }) => {
return { greeting: `Hello ${input.name}!` };
});
});
4. 提供
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { createMcpServer } from 'trpc-mcp';
const mcpServer = createMcpServer(
{ name: 'trpc-mcp-example', version: '0.0.1' },
appRouter,
);
const transport = new StdioServerTransport();
await mcpServer.connect(transport);
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。