January 20, 2026 | Jeremiah Lowin

What's New in FastMCP 3.0

A comprehensive guide to every major feature

655 11 53

Comments

Join the conversation by posting on social media.

Love fastmcp, thanks for your work.

jlowin123 Author Reddit

🙏

Jeremiah Lowin's avatar Jeremiah Lowin Author BSky
We're moving past "tool servers." Source from anywhere. Compose and transform freely. Personalize per-user. Track state across sessions. Control access. Run long operations. Version your APIs. Observe everything. We call this the context era: www.jlowin.dev/blog/fastmcp-3
1
Jeremiah Lowin's avatar Jeremiah Lowin Author BSky
The new architecture lets us ship a massive number of features: 🎁 Custom providers like filesystems and remote APIs ✨ Per-component authorization 🏷️ Component versioning 🧠 And even skills over MCP...! Read the comprehensive feature guide here: www.jlowin.dev/blog/fastmcp...
1
Jeremiah Lowin's avatar Jeremiah Lowin Author BSky
And by popular demand, we’ve polished the developer experience: ⚡ Servers support hot reload during development ⚡ Decorators now return callable functions (finally!) ⚡ Automatic threadpools for sync tools
1
Jeremiah Lowin's avatar Jeremiah Lowin Author BSky
There's A LOT here, but we've tried extremely hard to keep breaking changes minimal. Most users will not need to change their code at all. You can read the full upgrade guide here: gofastmcp.com/development/... Happy (context) engineering!
gopietz Reddit

Has MCP already solved the context overflow problem? Like letting the agent decide when to know more about a tool?

It seems like that was the biggest limitation and why devs are switching over to skills instead.

jlowin123 Author Reddit

Personally I think devs switched to skills because it's just more convenient to manage local context via files than through MCP. At least, that's why I did! But I'm not sure they're mutually exclusive, just appropriate for different jobs.

To your larger question, I think the protocol has many of the hooks this requires but there could be more (e.g. short and long descriptions), and ultimately many MCP client implementations are just frankly not great. So where we could dream up ways to progressively disclose details, it comes down to whether clients adopt it.

In 3.0 we're experimenting with skills-over-MCP which has been pretty fun.

Beliskner64 Reddit

I was really excited about the SkillsProvider. Serving skills over MCP to a large organization with many repos is very appealing.

Does it actually work though or is it just a proof-of-concept? I tried it with GitHub Copilot in VSCode but it didn’t seem to pick up the skill I exposed in my MCP.

IMO it's not mcp or skills. It's MCP and skills.

What you describe is an agent context management problem. Not something inherent in the protocol. Skills are meant to solve this but they can do so while also utilizing mcp tools. The tools they refer can be used to filter and mcp server's entire toolset.

Also skills + cli tools are mostly feasible for coding agents that have something like bash access whereas skills + mcp is available for more locked down agents.

gopietz Reddit

I don't think I agree.

I think in the short term, it will be: 1) Local: Skills, 2) Remote: MCP. But long term skills might replace it all together.

The pattern that will replace MCP is: Skill Prompt + CLI tool

That already works for existing CLI tools. For example Vercels agent-browser with their own skill fully replaces playwright MCP. It's leaps better. Why? Mostly because the agent has more flexibility.

It can learn about the CLI tools by simply doing --help and is not bound to the tool/param selection the user provides.

jlowin123 Author Reddit

Empirically... I agree :) https://www.jlowin.dev/blog/colin

Tobi-Random Reddit

Based on the blogpost it's possible to enable more Tools during the session to optimize context. As far as I know the MCP Integrations generally work by adding the tool descriptions into the system prompt. But how would the llm discover those new enabled tools during an ongoing chat let's say inside a chat conversation in a jetbrains ide?

How would MCP consumers detect those changes in the tool list and implement the pass through to llms without breaking caching?

jlowin123 Author Reddit

MCP-compliant clients support a tool change notification that the server issues to indicate the need for a refresh.

Tobi-Random Reddit

That's a non-technical answer for a pretty technical question. So you don't know too? Iam not aware of a "Notification" concept llm APIs understand. They have system prompts and mostly an array of messages. That's it.

rednix Reddit

Awesome! 🚀

jlowin123 Author Reddit

🚀

dhana36 Reddit

Thank you for your work. The SuperMCP depends on FastMCP. Here’s the link: https://github.com/dhanababum/supermcp. Does fastmcp3.0 support dynamic MCP servers now?

jlowin123 Author Reddit

I think so -- providers can return new components on every call, so you can build some really dynamic stuff. For example the new filesystem provider can reload files to automatically pick up changes. If there's something you need that isn't easy let us know!

dhana36 Reddit

awesome , thank you! I will take a look, do you have any snippets?

styyle Reddit

Very excited for this. I saw the docs earlier on the redis session store and I almost risked it all to install the beta in prod. Thanks for all the work you do!

jlowin123 Author Reddit

I'm unreasonably excited by that feature. Thanks for trying it!

quotewiser Reddit

Looking forward to the upgrade and the middleware!

This is a smart direction. Reducing everything to Providers and Transforms makes the framework easier to reason about and extend, and it shows in the feature list. Per-component auth and session state are especially welcome. The minimal breaking changes make upgrades practical too. 

makinggrace Reddit

Whelp I know what I'm doing this weekend. My MCP for coding needs a refresh and this gives a good reason to get on it finally lol.

Traxer98 Reddit

Awesome, I want to start playing with these new features! The new Session State feature is really interesting; could it help to dynamically reset/reduce the context load on agents? Testing... :3

pbalIII Reddit

Factoring everything into providers and transforms is the move. 2.x had good ideas but the subsystems felt bolted together... mounting and proxying and filtering each doing their own thing. This cleanup should help devs who want to combine, say, an OpenAPI spec with custom auth transforms without hitting weird edge cases.

Session-scoped state is the one that'll matter most for agentic workflows. Multi-turn tool calls sharing context without external state stores simplifies a lot of orchestration code.

Hot reload was overdue. Debugging MCP servers without it meant restart loops that killed iteration speed.

pbalIII Reddit

Session state is the one I keep coming back to. The FAME paper from last month showed 13x latency reduction just by automating agent memory persistence instead of round-tripping to external stores. FastMCP baking this in at the framework level means fewer teams will roll their own half-broken session hacks.

Hot reload feels obvious in hindsight... the restart loop tax on debugging was real. Curious if the FileSystemProvider hot-reload plays nice with breakpoints or if you still need to detach/reattach.

His0kx Reddit

Funny I added hotreload more than one month ago for my own mcp at my (corporate) job. Basically, it works well but for instance after the reload you need to do /mcp on claude code and reconnect the mcp for a claude code session to use the mcp with the new code.

Bitflight Reddit

You’re absolutely correct! It’s been a game changer!

Are but the start of the phrases I will use in my new MCP server called, human-to-ai-email-response-mcp.

Next time you’re sending a manual email using your own language embedded with your personality you can call upon my MCP to ensure it sounds like the rest of your team members.

why only python though? what did go and js ever do to you? personally i skip anything with py, thats why im still sticking with metamcp