← Back to directory
F

FastMCP

Community
Framework / SDK
A TypeScript framework for building MCP servers

This is a framework for building MCP servers or agents, not a server you connect a client to.

Category
Dev Tools #5 of 438
Stars
★ 3.3k Very popular
Transport
stdio (local process) · SSE · Streamable HTTP
Runtime
Node.js
Credentials
No credential needed
License
MIT
Last commit
75FMRS · B

FastMCP is a feature-rich framework for building MCP servers, great for rapid development, but note its lack of support for the latest protocol and uncertain official maintenance.

Strongest · Documentation 17/20 Weakest · Reliability 11/20

Reliability
11/20
Security and permissions
16/20
Maintenance
17/20
Documentation
17/20
Setup experience
14/20
Why each score
Reliability 11/20
This is a popular framework with extensive examples and tests, but only the README was reviewed. The README claims support for multiple transports and features, but actual test coverage and error handling are not verified. Given the active development and detailed examples, a score of 11 seems appropriate.
Security and permissions 16/20
The framework includes built-in authentication (OAuth, custom), tool access controls, and secure defaults. No malicious behavior or red flags are evident in the README. The authentication and authorization features appear comprehensive. Some points are deducted because the actual implementation is not verified.
Maintenance 17/20
The repository is active with regular updates and a clear MIT license. The README shows continuous maintenance and feature additions. No signs of abandonment or ignored issues. A score of 17 reflects good maintenance, with slight deductions due to lack of verification of commit history and issue response times.
Documentation 17/20
The README is very thorough, covering installation, quickstart, features, authentication, examples, and debugging. Extensive examples and guides are provided. Documentation seems consistent with the code's capabilities. A score of 17 reflects comprehensive docs, but some details on limitations and troubleshooting are missing.
Setup experience 14/20
Installation is simple (npm install fastmcp) with a clear quickstart. Multiple transport and platform options are supported. Examples for various scenarios are provided. A score of 14 reflects relatively easy setup, but there is a lack of detailed examples for integrating with mainstream clients, and cross-platform compatibility is not verified.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesUses the network

Best for

  • Developers who want to build MCP servers quickly without low-level details
  • Scenarios requiring built-in authentication, streaming output, custom routes, etc.
  • Developers using TypeScript who value type safety

Not for

  • Scenarios requiring support for the latest MCP specification (2026-07-28)
  • Advanced users needing full control over low-level implementation
  • When maximum flexibility is needed, prefer the official SDK

Required permissions

  • File system access (in Node.js environments)
  • Network access for OAuth and remote requests
  • Environment variables for client secrets, etc.

Risks and side effects

  • Legacy protocol may not be compatible with future specifications, possibly breaking with latest clients
  • Dependency on third-party libraries introduces supply chain risks
  • Custom authentication logic might introduce security vulnerabilities

Setup

Before you start

Runtime:Node.js

GOOGLE_CLIENT_ID optionalsecret Google OAuth client ID for GoogleProvider, from Google Cloud Console.
GOOGLE_CLIENT_SECRET optionalsecret Google OAuth client secret for GoogleProvider, from Google Cloud Console.
OAUTH_CLIENT_ID optionalsecret OAuth client ID when using the generic OAuthProvider.
OAUTH_CLIENT_SECRET optionalsecret OAuth client secret when using the generic OAuthProvider.
Other optional settings (3)
OAUTH_AUTH_ENDPOINT optional OAuth authorization endpoint URL when using the generic OAuthProvider.
OAUTH_TOKEN_ENDPOINT optional OAuth token endpoint URL when using the generic OAuthProvider.
FASTMCP_STATELESS optional Set to true to enable stateless mode via CLI, for serverless deployments.

Install fastmcp via npm: npm install fastmcp. Then create a server instance, add tools, resources, or prompts, and finally call server.start({ transportType: 'stdio' }) to start the server.

Check that it works

This is a TypeScript framework for building MCP servers, not a connectable server. After installing (npm install fastmcp), verify with npx fastmcp dev src/examples/addition.ts or npx fastmcp inspect src/examples/addition.ts.

Troubleshooting

  1. Check that Node.js version meets requirements (typically >= 18)
  2. Ensure all dependencies are installed correctly
  3. Check if the port is already in use
  4. Verify OAuth configuration, such as baseUrl and clientId

Use cases

Quickly build MCP server prototypes
Provide tools and resources to LLMs
Deploy to edge runtimes like Cloudflare Workers
Serve remotely via HTTP streaming or SSE
Servers requiring OAuth authentication

Overview

FastMCP is a TypeScript framework for building MCP servers capable of handling client sessions. It is built on top of the official SDK and provides a simple, intuitive API, handling all the boilerplate automatically, with built-in best practices and error handling. It supports defining Tools, Resources, and Prompts, and includes authentication (OAuth 2.1 and custom), HTTP streaming (with SSE compatibility), HTTPS support, custom HTTP routes, edge runtime support (e.g., Cloudflare Workers), and stateless mode. Note: FastMCP implements the legacy, handshake-based MCP revisions (2025-11-25 and earlier) and does not support the current stateless specification (2026-07-28).

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 62.9k · Tools 2 Compare with this →

Source revision 307784478afe Data synced 2026-10-11 Read the FMRS scoring method