本项目通过 MCP 提供 tRPC 路由,实现了 tRPC 与 MCP 之间的有效连接,为服务的交互和调用提供了便利。
以下是实现 tRPC 与 MCP 连接的具体步骤:
import { initTRPC } from '@trpc/server';
import { type McpMeta } from 'trpc-to-openapi';
const t = initTRPC.meta<McpMeta>().create();
export const appRouter = t.router({
sayHello: t.procedure
.meta({ openapi: { enabled: true, description: '向用户问好' } })
.input(z.object({ name: z.string() }))
.output(z.object({ greeting: z.string() }))
.query(({ input }) => {
return { greeting: `你好 ${input.name}!` };
});
});
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);