fastmcp-server
Skill28k starsChanged 8 days agoApache-2.0View on GitHub
Build, extend, or review MCP servers with Python FastMCP, using documentation matched to the project's version.
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Check the project's installed FastMCP version and dependency constraints.
- Very specific: line 20
Use the standalone fastmcp package.
- Very specific: line 47
When using tool search or code mode, make exact named operations discoverable and explain the execution contract: what persists between …
- Very specific: line 52
Look up FastMCP's relevant facilities as needed: context and dependencies, lifespan, authentication, composition, and transports.
- Distinctive: line 56
When clients need a repeatable workflow across the server's capabilities, consider shipping a skill alongside those capabilities.
- Very specific: line 68
Verify the server through FastMCP's Client, which can connect directly to a server instance for in-process testing.
- Distinctive: line 81
When the task includes evaluating how agents use the server, test a representative workflow using the project's existing evaluation harness …
- Distinctive: line 89
Use the target client's actual capabilities.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Authoring MCP servers with FastMCP
Find the current API
Check the project's installed FastMCP version and dependency constraints.
Fetch the documentation index and read the
relevant pages for that version. The index includes versioned documentation;
select /v3/ pages for FastMCP 3 and unversioned pages for FastMCP 4. Read
individual pages through their .md URLs instead of loading llms-full.txt.
For APIs newer than the installed release, check that release's source or
signatures. Preserve the project's dependency constraints unless an upgrade is
part of the request. For a new project, check the current stable release before
choosing a dependency.
Use the standalone fastmcp package. Its API differs from
mcp.server.fastmcp in the Python MCP SDK.
Author the server
Choose the MCP interface to suit what the server exposes: tools for callable
operations, resources for addressable content, and prompts for reusable message
templates. FastMCP derives tool schemas from Python annotations and descriptions;
use Literal or enums for finite choices and Field descriptions for parameter
semantics. SDK wrappers need to preserve signatures and docstrings, for example
with functools.wraps, or discovery loses that information. Inspect the schema
the client receives, especially after transforms or custom discovery rendering:
requiredness, enum values, and nested fields can disappear from a summary.
Let the intended client tasks guide tool boundaries, descriptions, and result shape. Give clients enough context to use results and recover from errors. The right granularity depends on the service; generated API tools, custom tools, and compositions can all be appropriate.
For paginated or bounded results, expose whether the answer is complete and how
to continue. An upstream failure is not an empty result. Return useful recovery
information through tool errors rather than a successful-looking payload. Use
ToolError, ResourceError, or PromptError from fastmcp.exceptions for
intentional client-facing messages. With mask_error_details=True, ordinary
exceptions such as ValueError lose their messages; do not put sensitive backend
details in the explicit error types, whose messages remain visible.
When using tool search or code mode, make exact named operations discoverable and explain the execution contract: what persists between calls and what becomes the result. A short fetch/filter/return example can prevent repeated empty outputs. Check the installed implementation before describing that behavior.
Look up FastMCP's relevant facilities as needed: context and dependencies, lifespan, authentication, composition, and transports. Use the project's runtime and hosting choices to determine configuration.
When clients need a repeatable workflow across the server's capabilities,
consider shipping a skill alongside those capabilities. Put task selection,
operation sequencing, and recovery guidance in the skill; keep tool descriptions
focused on their individual contracts. Read the version-matched Skills Provider
and Experimental Skills Extension docs from the index before implementing it.
SkillsDirectoryProvider exposes skill files as resources; the experimental
extension adds skills/list and skills/get discovery. Check the installed
release and target host's support before selecting either interface. Discovery
does not activate a skill: verify that the host reads and uses it in the intended
workflow. The experimental extension currently requires directly registered
providers and does not support mounted or transformed skill sources.
Verify the server through FastMCP's Client, which can connect directly to a
server instance for in-process testing. Check a representative operation, its
client-visible schema and result, and a meaningful failure. For composed or
transformed servers, verify the public names and URIs through the outer server,
including resource references returned by prompts. Namespace transforms change
component names and resource URIs, but do not rewrite URI text inside prompt
messages. When a prompt must work both standalone and mounted, direct the client
to discover the resource template instead of hardcoding the child's URI.
Exercise the chosen transport when connection or deployment behavior is part
of the change.
Evaluate agent workflows
When the task includes evaluating how agents use the server, test a representative workflow using the project's existing evaluation harness when available. Protocol tests show that a tool works; an agent task shows whether the interface is usable. Start from a known condition, give an agent a user-level request, and check the outcome against independent API or database evidence. For writes, check both the intended change and what should remain unchanged. A normal agent exit or a plausible final answer is not proof of success.
Use the target client's actual capabilities; exposing resources, sampling, or elicitation does not mean that client uses them. To measure the server alone, give the agent only that server's capabilities supported by the client. To measure the user's workflow, include the other capabilities the client really has. Inspect traces for discovery misses, invalid arguments, partial-data assumptions, and repeated recovery attempts before changing tool descriptions or structure. Compare task success alongside calls, latency, and context size; fewer tools or tokens alone is not the objective.
Trending
Less talk lately.about the whole repository
Who's talking about jlowin/fastmcp
- G Talks Tech“Build a Custom MCP Network Assistant With Python and FastMCP”YouTube · Jun 11, 2026 · 4.1k views
- Hamish from A-Tech“How to Build MCP Servers in Python (And Deploy to OpenWebUI)”YouTube · Feb 16, 2026 · 1.9k views
- Dylan Davis“I Built an MCP Server in 20 Minutes Using Only AI”YouTube · May 29, 2025 · 1.3k views
- Prompt Engineer 48“Practical Guide: FastMCP + OpenAI API (No Crash Course)”YouTube · Sep 28, 2025 · 1.3k views
- Brandon Shar“MCP Elicitations Have Arrived!”YouTube · Jul 8, 2025 · 1.2k views
The biggest 5 of 67 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 67
Talked about on GitHub, YouTube, Bluesky, Hacker News and the web (67 times).
On GitHub · 28
- Jul 31, 2025fix: Handle SSE Disconnects Properly When use starlette middleware — modelcontextprotocol/python-sdk21 reactions · 12 comments
- Jun 5, 2025[Feature]: Informative Error Messages — sooperset/mcp-atlassian7 reactions · 8 comments
- Jan 7, 2026python3Packages.py-key-value-shared: init at 0.3.0; python3Packages.py-key-value-aio: init at 0.3.0; python3Packages.pydocket: init at 0.16.3; python3Packages.fastmcp: 2.12.5 -> 2.14.2 — NixOS/nixpkgs5 reactions · 2 comments
- Nov 18, 2025Gemini API rejects MCP tool schemas with $defs references — google-gemini/gemini-cli5 reactions · 8 comments
- May 6, 2025Can’t pass per-request headers like Authorization using from_openapi — PrefectHQ/fastmcp5 reactions · 7 comments
23 more on GitHub
- Nov 3, 2025Disable rich tracebacks by default — PrefectHQ/fastmcp4 reactions · 7 comments
- Sep 12, 2025[Bug]: Client ID xxx not found when using OAuth with mcp — CherryHQ/cherry-studio4 reactions · 1 comment
- Sep 2, 2025feat: add support for Gemini CLI integration — PrefectHQ/fastmcp4 reactions · 7 comments
- Jul 17, 2025feat: add claims field to AccessToken for decoded token payload — modelcontextprotocol/python-sdk4 reactions · 2 comments
- Jun 13, 2025Unclear maintainer status for FastMCP — modelcontextprotocol/python-sdk4 reactions · 6 comments
- May 18, 2025[FEATURE] MCP Remote Servers with headers — FlowiseAI/Flowise4 reactions · 4 comments
- Apr 9, 2025Allow more intuitive use of `Annotated` for function parameters — modelcontextprotocol/python-sdk4 reactions
- Mar 11, 2025Add SSE server support — afrise/MCPSharp4 reactions · 2 comments
- Jun 2, 2026Session dies after one tool call on FastMCP 3.3.x (regression from 3.2.x) - please cap fastmcp<3.3 — aws/mcp-proxy-for-aws3 reactions · 7 comments
- Aug 6, 2025MCP Server Session Terminates After 1st Interaction — openai/openai-python3 reactions · 13 comments
- Mar 26, 2026build(deps): bump the uv group across 15 directories with 1 update — GlacierEQ/mcp-context-forge2 reactions · 2 comments
- Jan 29, 2026ASGI shutdown error with active SSE connections - StreamableHTTPSessionManager cancels task group without graceful stream termination — PrefectHQ/fastmcp2 reactions
- Jan 29, 2026chore(deps): bump the uv group across 1 directory with 7 updates — GlacierEQ/excel-mcp-server2 reactions · 3 comments
- Jan 29, 2026chore(deps): bump the uv group across 1 directory with 7 updates — GlacierEQ/mcpm.sh2 reactions · 2 comments
- Jan 29, 2026chore(deps): bump fastmcp from 2.4.0 to 2.14.0 in the pip group across 1 directory — GlacierEQ/sourcegraph-mcp2 reactions · 5 comments
- Dec 16, 2025Feature/supabase custom auth route — PrefectHQ/fastmcp2 reactions · 2 comments
- Nov 5, 2025FastMCP breaks FastAPI Testclient — PrefectHQ/fastmcp2 reactions · 4 comments
- Oct 11, 2025Tracking issue for `python@3.14` migration — Homebrew/homebrew-core2 reactions · 53 comments
- Sep 8, 2025Support unpacking Pydantic models into top-level tool parameters — PrefectHQ/fastmcp2 reactions · 10 comments
- Aug 24, 2025Pydantic ValidationError is mapped to Internal error (-32603) instead of Invalid params (-32602) in ErrorHandlingMiddleware — PrefectHQ/fastmcp2 reactions · 9 comments
- Aug 21, 2025Not able to connecto N8N MCP client to the MCP Server — yjacquin/fast-mcp2 reactions · 1 comment
- Aug 2, 2025feat: Full Client to Server OAuth 2.1 Implementation - 06/18 MCP Spec — taylorwilsdon/google_workspace_mcp2 reactions
- Jan 5, 2026🐛 [Bug]: MCP Server Connection Timeout with mcp-remote Clients (e.g. kiro-cli) — coleam00/Archon1 reaction · 3 comments
On YouTube · 20
- Jun 11, 2026Build a Custom MCP Network Assistant With Python and FastMCP — G Talks Tech4.1k views · 16 comments
- Feb 16, 2026How to Build MCP Servers in Python (And Deploy to OpenWebUI) — Hamish from A-Tech1.9k views · 4 comments
- May 29, 2025I Built an MCP Server in 20 Minutes Using Only AI — Dylan Davis1.3k views · 10 comments
- Sep 28, 2025Practical Guide: FastMCP + OpenAI API (No Crash Course) — Prompt Engineer 481.3k views · 6 comments
- Jul 8, 2025MCP Elicitations Have Arrived! — Brandon Shar1.2k views · 6 comments
15 more on YouTube
- Dec 5, 2024speedrun a MCP server for Claude Desktop (fastmcp) — Nate from Prefect1k views · 5 comments
- Mar 30, 2025GitHub - jlowin/fastmcp: The fast, Pythonic way to build Model Context Protocol servers 🚀 — GitHub Daily Trend AI Podcast852 views
- Feb 3, 2026MCP Apps and the UI Question: What We're Watching For — Prefect662 views
- Jul 16, 20263 GitHub Repos Every AI Developer Should Bookmark — SimplyExplain617 views
- Oct 15, 2026Build Model Context Protocol Servers in 5 Lines of Python with FastMCP! 💻⚡ (Open Source) — AI Skill Vault275 views
- Aug 27, 2026Are You Using MCP Wrong? The Truth About APIs — Updraft AI255 views
- May 19, 2025Turn Any GitHub Repo or Website into an AI-Powered Tool with FastMCP + Cline + @SambaNovaAI ! — Martin Khristi230 views
- Jul 10, 2025Manage VMware Fusion Virtual Machines via MCP Server — Xiaodong Ye180 views
- Dec 16, 2025FastMCP 2.14 ships tasks + remix servers solve MCP's biggest workflow problem — Prefect172 views
- Nov 19, 2025AI Video Editing Tools Clik, Gling, & Opus Clip Review! — Hamish from A-Tech164 views
- Mar 30, 2025jlowin/fastmcp - Gource visualisation — Gourcer154 views
- Nov 24, 2025MCP Steering Committee Panel Discussion | GitHub Universe 2025 — Prefect118 views
- Apr 25, 2026How to Build Your First MCP Server for Claude Code — sudo lab77 views
- Nov 19, 2025MCP Series Episode #8: Multiple MCP Servers — {Code} Happens48 views
- Nov 12, 2025MCP Series Episode #7: Multiple Tools and Resources — {Code} Happens40 views
On Bluesky · 15
- Dec 1, 2024So MCP servers are really cool for giving your LLMs superpowers... but also pretty complex to build and debug. I created FastMCP to make it… — @jlowin.dev89 likes and reposts · 6 replies
- Apr 11, 2025FastMCP 2.0 is out! New features include: 🔄 Proxying any existing MCP server as a FastMCP server 🧩 Composing multiple servers into one 🪄… — @jlowin.dev64 likes and reposts · 4 replies
- Dec 11, 2024Gonna update this to link to @jlowin.dev's fastmcp repo for building MCP servers. This is good stuff! 🔥 github.com/jlowin/fastmcp — @angiejones.tech29 likes and reposts · 2 replies
- Dec 1, 2024Build MCP for Claude fast — @slavav.bsky.social14 likes and reposts · 1 reply
- Apr 30, 2025Si vous vous intéressez au Model Control Protocol (MCP), fastmcp peut vous être d'une grande utilité. C'est un projet Python permettant de… — @ponceto91.bsky.social11 likes and reposts · 3 replies
10 more on Bluesky
- Dec 30, 2025FastMCP : un framework Open Source pour construire des serveurs et clients MCP en Python. 👉 Le projet : github.com/jlowin/fa... 👉 En… — @bearstech.com10 likes and reposts
- Apr 18, 2025🚀 Skyrocketing! 🚀 (200+ new stars) 📦 jlowin / fastmcp ⭐ 5,499 (+232) 🗒 Python 🚀 The fast, Pythonic way to build MCP servers and clients — @github-trending.bsky.social7 likes and reposts
- Dec 9, 2024FastMCP is a great way to extend Claude. I've created a few servers for myself in a span of 30 min (the actual code was written by Claude)… — @nodir.io7 likes and reposts · 1 reply
- Mar 29, 2025📦 jlowin / fastmcp ⭐ 2,013 (+39) 🗒 Python The fast, Pythonic way to build Model Context Protocol servers 🚀 — @github-trending.bsky.social4 likes and reposts
- Apr 12, 2025Also FastMCP has builtin support for proxies and should make tracing easy -> github.com/jlowin/fastmcp — @fry69.altq.net3 likes and reposts · 1 reply
- Mar 1, 2025𝐅𝐚𝐬𝐭𝐌𝐂𝐏: 𝐁𝐮𝐢𝐥𝐝 𝐌𝐂𝐏 𝐒𝐞𝐫𝐯𝐞𝐫𝐬 𝐟𝐨𝐫 𝐢𝐧𝐭𝐞𝐠𝐫𝐚𝐭𝐢𝐨𝐧𝐬 Connect your Agentic RAG to multiple APIs & DBs: 🚀… — @qdrddr.bsky.social3 likes and reposts
- Apr 21, 2025It’s surprisingly easy using FastMCP: github.com/jlowin/fastmcp We’ll likely refactor this code not to use subprocess, but you can see our… — @colton.boo2 likes and reposts · 1 reply
- Apr 15, 2025Otherwise there is also FastMCP for developing MCP servers -> github.com/jlowin/fastmcp — @fry69.altq.net2 likes and reposts · 1 reply
- Apr 11, 2025FastMCP The fast, Pythonic way to build Model Context Protocol servers. https://github.com/jlowin/fastmcp — @pythonhub.dev2 likes and reposts
- Jan 15, 2026docket is used by the open source Prefect server to implement background services and by github.com/jlowin/fastmcp to implement SEP-1686… — @prefect.io1 likes and repost
On Hacker News · 3
- Apr 15, 2025FastMCP: The fast, Pythonic way to build MCP servers and clients8 points
- Dec 1, 2024Show HN: FastMCP – A Pythonic way to build Model Context Protocol servers6 points · 3 comments
- Apr 17, 2025Show HN: FastMCP 2.0 – fast, Pythonic MCP servers and clients1 point
On the web · 1
- Jan 20, 2026PrefectHQ/fastmcp v3.0.0b1 on GitHub — google.com
In this repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docsSkill
- fix-issueSkill
- python-testsSkill
- releaseSkill
- review-issueSkill
- review-prSkill
- review-security-reportSkill
- triageSkill
- fastmcp-client-cliSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

