github PrefectHQ/fastmcp v2.8.0
v2.8.0: Transform and Roll Out

latest releases: v3.0.0, v3.0.0rc3, v3.0.0rc2...
8 months ago

FastMCP 2.8.0 introduces powerful new ways to customize and control your MCP servers!

Tool Transformation

The highlight of this release is first-class Tool Transformation, a new feature that lets you create enhanced variations of existing tools. You can now easily rename arguments, hide parameters, modify descriptions, and even wrap tools with custom validation or post-processing logic—all without rewriting the original code. This makes it easier than ever to adapt generic tools for specific LLM use cases or to simplify complex APIs. Huge thanks to @strawgate for partnering on this, starting with #591 and #599 and continuing offline.

Component Control

This release also gives you more granular control over which components are exposed to clients. With new tag-based filtering, you can selectively enable or disable tools, resources, and prompts based on tags, perfect for managing different environments or user permissions. Complementing this, every component now supports being programmatically enabled or disabled, offering dynamic control over your server's capabilities.

Tools-by-Default

Finally, to improve compatibility with a wider range of LLM clients, this release changes the default behavior for OpenAPI integration: all API endpoints are now converted to Tools by default. This is a breaking change but pragmatically necessitated by the fact that the majority of MCP clients available today are, sadly, only compatible with MCP tools. Therefore, this change significantly simplifies the out-of-the-box experience and ensures your entire API is immediately accessible to any tool-using agent.

What's Changed

New Features 🎉

  • First-class tool transformation by @jlowin in #745
  • Support enable/disable for all FastMCP components (tools, prompts, resources, templates) by @jlowin in #781
  • Add support for tag-based component filtering by @jlowin in #748
  • Allow tag assignments for OpenAPI by @jlowin in #791

Enhancements 🔧

  • Create common base class for components by @jlowin in #776
  • Move components to own file; add resource by @jlowin in #777
  • Update FastMCP component with eq and repr by @jlowin in #779
  • Remove open-ended and server-specific settings by @jlowin in #750

Fixes 🐞

  • Ensure client is only initialized once by @jlowin in #758
  • Fix field validator for resource by @jlowin in #778
  • Ensure proxies can overwrite remote tools without falling back to the remote by @jlowin in #782

Breaking Changes 🛫

Docs 📚

Other Changes 🦾

New Contributors

Full Changelog: v2.7.1...v2.8.0

Don't miss a new fastmcp release

NewReleases is sending notifications on new releases.