Releases: jlowin/fastmcp
v2.2.5: Context Switching
What's Changed
New Features 🎉
- Add tests for tool return types; improve serialization behavior by @jlowin in #262
- Support context injection in resources, templates, and prompts (like tools) by @jlowin in #263
Docs 📚
- Update wildcards to 2.2.4 by @jlowin in #257
- Update note in templates docs by @jlowin in #258
- Significant documentation and test expansion for tool input types by @jlowin in #261
Full Changelog: v2.2.4...v2.2.5
v2.2.4: The Wild Side, Actually
The wildcard URI templates exposed in v2.2.3 were blocked by a server-level check which is removed in this release.
What's Changed
New Features 🎉
Fixes 🐞
- fix: unintended type convert by @cutekibry in #252
- Ensure openapi resources return valid responses by @jlowin in #254
- Ensure servers expose template wildcards by @jlowin in #256
Docs 📚
- Update README.md Grammar error by @TechWithTy in #249
Other Changes 🦾
New Contributors
- @TechWithTy made their first contribution in #249
- @cutekibry made their first contribution in #252
Full Changelog: v2.2.3...v2.2.4
v2.2.3 The Wild Side
v2.2.2: Ping It To Win It
What's Changed
New Features 🎉
Fixes 🐞
- Remove mock transport by @jlowin in #232
- Ensure contrib is importable by @jlowin in #231
- fix issues with proxy mcp server by @yihuang in #220
- fix fastmcp version ,python path valueError by @lingfengchencn in #222
Docs 📚
New Contributors
- @yihuang made their first contribution in #228
- @lingfengchencn made their first contribution in #222
Full Changelog: v2.2.1...v2.2.2
v2.2.1: Contrib and Conquer
This release introduces the new /contrib module, including contributions from @strawgate!
What's Changed
Docs 📚
- Added note on how stderr is handled in clients by @tkellogg in #203
- Fix missing parentheses in
@mcp.tooldecorator example by @Minseok0917 in #200 - Add issue templates by @jlowin in #216
- Create config.yml by @jlowin in #217
Fixes 🐞
Other Changes 🦾
- Replace deprecate
dotenvwith supportedpython-dotenvby @amSiddiqui in #206
Contrib 🤝
- McpMixin for decorating Class methods by @strawgate in #177
- Example: Bulk Tool Caller by @strawgate in #215
- Add an init to make mcp_mixin a module by @strawgate in #214
New Contributors
- @tkellogg made their first contribution in #203
- @Minseok0917 made their first contribution in #200
- @strawgate made their first contribution in #177
- @amSiddiqui made their first contribution in #206
Full Changelog: v2.2.0...v2.2.1
v2.2.0: Compose Yourself
This release contains a significant refactor of server composition, including the ability to "live" mount local or remote servers and automatically inherit any changes and lifecycle attributes.
There are a number of breaking changes on internal APIs that are unlikely to affect users.
What's Changed
New Features 🎉
- Allow tool manager to store an alternative name for tools by @jlowin in #168
- Add custom key for storing resources by @jlowin in #170
- Generate MCP resources and templates on respective classes by @jlowin in #171
- Create MCP prompts on object; fix issue with forwarding proxy templates by @jlowin in #173
- Move test servers; default SSE to 127.0.0.1 by @jlowin in #182
- Add npx validation by @kongqi404 in #181
Fixes 🐞
Breaking Changes 🛫
Docs 📚
Other Changes 🦾
- Add transport kwargs for mcp.run() and fastmcp run by @jlowin in #161
- Allow resource templates to have optional / excluded arguments by @jlowin in #164
- Update resources.mdx by @jlowin in #165
New Contributors
- @kongqi404 made their first contribution in #181
Full Changelog: v2.1.2...v2.2.0
v2.1.2: Copy That, Good Buddy
The main improvement in this release is a fix that allows FastAPI / OpenAPI-generated servers to be mounted as sub-servers.
What's Changed
Fixed 🐛
Docs 📚
Other Changes 🦾
- Update README.md by @jlowin in #149
- Only apply log config to FastMCP loggers by @jlowin in #155
- Update pyproject.toml by @jlowin in #156
Full Changelog: v2.1.1...v2.1.2
v2.1.1: Doc Holiday
FastMCP's docs are now available at gofastmcp.com.
What's Changed
Docs 📚
- Add docs by @jlowin in #136
- Add docs link to readme by @jlowin in #137
- Minor docs updates by @jlowin in #138
Fixes 🐞
- fix branch name in example by @zzstoatzz in #140
Other Changes 🦾
- smart home example by @zzstoatzz in #115
- Remove mac os tests by @jlowin in #142
- Expand support for various method interactions by @jlowin in #143
- Update docs and add_resource_fn by @jlowin in #144
- Update description by @jlowin in #145
- Support openapi 3.0 and 3.1 by @jlowin in #147
Full Changelog: v2.1.0...v2.1.1
v2.1.0: Tag, You're It
The primary motivation for this release is the fix in #128 for Claude desktop compatibility, but the primary new feature of this release is per-object tags. Currently these are for bookkeeping only but will become useful in future releases.
What's Changed
New Features 🎉
- Add tags for all core MCP objects by @jlowin in #121
- Ensure that openapi tags are transferred to MCP objects by @jlowin in #124
Fixes 🐞
- Change default mounted tool separator from / to _ by @jlowin in #128
- Enter mounted app lifespans by @jlowin in #129
- Fix CLI that called mcp instead of fastmcp by @jlowin in #128
Breaking Changes 🛫
- Changed configuration for duplicate resources/tools/prompts by @jlowin in #121
- Improve client return types by @jlowin in #123
Other Changes 🦾
Full Changelog: v2.0.0...v2.1.0
v2.0.0: Second to None
What's Changed
New Features 🎉
- Support mounting FastMCP instances as sub-MCPs by @jlowin in #99
- Add in-memory client for calling FastMCP servers (and tests) by @jlowin in #100
- Add MCP proxy server by @jlowin in #105
- Update FastMCP for upstream changes by @jlowin in #107
- Generate FastMCP servers from OpenAPI specs and FastAPI by @jlowin in #110
- Reorganize all client / transports by @jlowin in #111
- Add sampling and roots by @jlowin in #117
Fixes 🐞
Other Changes 🦾
- Add back FastMCP CLI by @jlowin in #108
- Update Readme for v2 by @jlowin in #112
- fix deprecation warnings by @zzstoatzz in #113
- Readme by @jlowin in #118
- FastMCP 2.0 by @jlowin in #119
Full Changelog: v1.0...v2.0.0