MCP
H3 MCP 相关工具。
defineJsonRpcHandler()
创建一个实现 JSON-RPC 2.0 规范的 H3 事件处理器。
示例:
app.post(
"/rpc",
defineJsonRpcHandler({
methods: {
echo: ({ params }, event) => {
return `在路径 \`${event.url.pathname}\` 上收到 \`${params}\``;
},
sum: ({ params }, event) => {
return params.a + params.b;
},
},
}),
);
defineJsonRpcWebSocketHandler()
创建一个实现基于 WebSocket 的 JSON-RPC 2.0 的 H3 事件处理器。
这是一个可选功能,允许通过 WebSocket 连接进行 JSON-RPC 通信,支持双向消息传递。每个传入的 WebSocket 文本消息都会被处理为 JSON-RPC 请求,并将响应发送回对端。
示例:
app.get(
"/rpc/ws",
defineJsonRpcWebSocketHandler({
methods: {
echo: ({ params }) => {
return `收到: ${Array.isArray(params) ? params[0] : params?.message}`;
},
sum: ({ params }) => {
return params.a + params.b;
},
},
}),
);
示例:
// 额外的 WebSocket 钩子
app.get(
"/rpc/ws",
defineJsonRpcWebSocketHandler({
methods: {
greet: ({ params }) => `你好,${params.name}!`,
},
hooks: {
open(peer) {
console.log(`对等连接已连接: ${peer.id}`);
},
close(peer, details) {
console.log(`对等连接已断开: ${peer.id}`, details);
},
},
}),
);