fastify-mcp

fastify-mcp

site icon
2025.03.20 3
TypeScriptFastify 插件MCP 服务器集成开发效率
fastify-mcp 是一个用于将 Model Context Protocol (MCP) 服务器与 Fastify 应用集成的插件,通过 Server-Sent Events (SSE) 连接实现。它允许开发者在 Fastify 应用中轻松集成 MCP 服务器,并管理多个 SSE 会话。
View on GitHub

Overview

基本能力

产品定位

fastify-mcp 是一个用于将 Model Context Protocol (MCP) 服务器与 Fastify 应用集成的插件,通过 Server-Sent Events (SSE) 连接实现。

核心功能

  1. MCP 服务器集成:支持在 Fastify 应用中集成 MCP 服务器。
  2. SSE 连接管理:通过 SSE 协议实现客户端与服务器的实时通信。
  3. 会话管理:提供会话的创建、终止和错误处理功能。
  4. 事件驱动:支持会话连接和终止的事件监听。

适用场景

  1. 实时应用开发:适用于需要实时通信的 Fastify 应用。
  2. MCP 服务器集成:适用于需要在 Fastify 应用中集成 MCP 服务器的场景。
  3. 多会话管理:适用于需要管理多个客户端会话的应用。

工具列表

  1. MCP TypeScript SDK:用于定义和管理 MCP 服务器。
  2. Fastify 插件:用于在 Fastify 应用中集成 MCP 服务器。

常见问题解答

  1. 会话管理:官方 MCP TypeScript SDK 不支持多会话管理,因此需要宿主服务器自行管理。
  2. 会话事件:支持 connectedterminatederror 事件监听。

使用教程

使用依赖

  1. 安装 Node.js 和 npm/yarn。

安装教程

# npm
npm install fastify-mcp

# yarn
yarn add fastify-mcp

调试方式

  1. 启动 Fastify 应用并监听端口 8080。
  2. 使用 SSE 客户端连接服务器并测试会话管理功能。
const sessions = new Sessions();

sessions.on("connected", (sessionId) => {
  console.log(`Session ${sessionId} connected`);
});

sessions.on("terminated", (sessionId) => {
  console.log(`Session ${sessionId} terminated`);
});

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。