加快mcp
支持 可流式HTTP传输 以及遗产 HTTP+SSE传输.
用法
首先,定义您的MCP服务器。
function createServer() {
const mcpServer = new McpServer({
name: "...",
version: "...",
});
mcpServer.tool("...");
mcpServer.resource("...");
return mcpServer.server;
}创建一个Fastify应用程序并注册插件。
import { fastify } from "fastify";
import { streamableHttp } from "fastify-mcp";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
const app = fastify();
app.register(streamableHttp, {
// Set to `true` if you want a stateful server
stateful: false,
mcpEndpoint: "/mcp",
sessions: new Sessions()
createServer,
});
app.listen({ port: 8080 });请参阅 示例 目录以获取更详细的示例。
安装
# npm
npm install fastify-mcp
# yarn
yarn add fastify-mcp会话管理
官方的 MCP TypeScript SDK 不支持开箱即用管理多个会话,因此这是主机服务器的责任。
此包使用每个活动会话与其会话ID的内存映射来管理多个会话,如MCP SDK示例所建议的。
会议活动
这 Sessions 类发出以下事件:
connected:添加新会话时触发。terminated:删除会话时触发。error:当异步事件处理程序抛出错误时触发。
const sessions = new Sessions();
sessions.on("connected", (sessionId) => {
console.log(`Session ${sessionId} connected`);
});
sessions.on("terminated", (sessionId) => {
console.log(`Session ${sessionId} terminated`);
});贡献
如果您在使用此软件包时遇到问题,请提交问题。也欢迎对新功能或错误修复的拉取请求。
