About Fastify MCP
Fastify MCP is an MCP server published by haroldadmin in the AI category: a Fastify plugin to run Model Context Protocol (MCP) servers.
The repository has 27 stars and 8 forks, with the last commit 5 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/haroldadmin/fastify-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Fastify MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 4 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
fastify-mcp
Integrate Model Context Protocol servers with your Fastify app.
Supports the Streamable HTTP transport as well as the legacy HTTP+SSE transport.
Usage
First, define your MCP server.
function createServer() {
const mcpServer = new McpServer({
name: "...",
version: "...",
});
mcpServer.tool("...");
mcpServer.resource("...");
return mcpServer.server;
}
Create a Fastify app and register the plugin.
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<StreamableHTTPServerTransport>()
createServer,
});
app.listen({ port: 8080 });
See the examples directory for more detailed examples.
Installation
# npm
npm install fastify-mcp
# yarn
yarn add fastify-mcp
Session Management
The official MCP TypeScript SDK does not support managing multiple sessions out of the box, and therefore it's the host server's responsibility to do so.
This package uses an in-memory mapping of each active session against its session ID to manage multiple sessions, as recommended by the MCP SDK examples.
Session Events
The Sessions class emits the following events:
connected: Emitted when a new session is added.terminated: Emitted when a session is removed.error: Emitted when an asynchronous event handler throws an error.
const sessions = new Sessions<StreamableHTTPServerTransport>();
sessions.on("connected", (sessionId) => {
console.log(`Session ${sessionId} connected`);
});
sessions.on("terminated", (sessionId) => {
console.log(`Session ${sessionId} terminated`);
});
Contributing
Please file an issue if you encounter a problem when using this package. Pull requests for new features or bug fixes are also welcome.
README fetched from the repository 4 hours ago. The original is authoritative.