MCP.so
Sign In

fastify-mcp

@haroldadmin

About fastify-mcp

A Fastify plugin to run Model Context Protocol (MCP) servers

Basic information

Category

Other

License

Apache-2.0

Runtime

node

Transports

stdio

Publisher

haroldadmin

Config

No standard config provided

This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.

Repository

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is fastify-mcp?

fastify-mcp integrates Model Context Protocol (MCP) servers with your Fastify application. It supports both the Streamable HTTP transport and the legacy HTTP+SSE transport, and is designed for developers building MCP-compatible tools and resources on top of Fastify.

How to use fastify-mcp?

Install with npm install fastify-mcp or yarn add fastify-mcp. Define an MCP server using McpServer from the MCP TypeScript SDK, then register the streamableHttp plugin on a Fastify app, passing options such as stateful, mcpEndpoint, sessions, and createServer. The plugin handles session management automatically using an in-memory mapping.

Key features of fastify-mcp

  • Integrates MCP servers into any Fastify application.
  • Supports Streamable HTTP and legacy HTTP+SSE transports.
  • Built‑in session management with event emitters (connected, terminated, error).
  • Works with the official MCP TypeScript SDK.
  • Configurable endpoint path and stateful/stateless modes.

Use cases of fastify-mcp

  • Expose MCP tools and resources through a Fastify web server.
  • Build stateful MCP servers that manage multiple client sessions.
  • Add MCP endpoints to existing Fastify applications with minimal overhead.
  • Leverage Fastify’s plugin ecosystem for logging, authentication, and routing.

FAQ from fastify-mcp

Which MCP transports does fastify-mcp support?

It supports the Streamable HTTP transport (2025-03-26 spec) and the legacy HTTP+SSE transport (2024-11-05 spec).

How does session management work?

The package uses an in-memory mapping of session IDs to transport instances. The Sessions class emits connected, terminated, and error events, and you can listen for them to track session lifecycle.

What options does the plugin accept?

The streamableHttp plugin accepts: stateful (boolean), mcpEndpoint (string path), sessions (a Sessions instance), and createServer (a function that returns an MCP server).

Comments

More Other MCP servers