Releases: jlowin/fastmcp
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.tool
decorator example by @Minseok0917 in #200 - Add issue templates by @jlowin in #216
- Create config.yml by @jlowin in #217
Fixes 🐞
Other Changes 🦾
- Replace deprecate
dotenv
with supportedpython-dotenv
by @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
v1.0: It's Official
This release commemorates FastMCP 1.0, which is included in the official Model Context Protocol SDK:
from mcp.server.fastmcp import FastMCP
To the best of my knowledge, v1 is identical to the upstream version included with mcp
.
What's Changed
Docs 📚
Other Changes 🦾
- fix: use Mount instead of Route for SSE message handling by @samihamine in #77
New Contributors
- @samihamine made their first contribution in #77
Full Changelog: v0.4.1...v1.0
v0.4.1: String Theory
What's Changed
Fixes 🐞
Docs 📚
- patch: Update pyproject.toml license by @leonkozlowski in #67
Other Changes 🦾
- Avoid new try_eval_type unavailable with older pydantic by @jurasofish in #57
- Decorator typing by @jurasofish in #56
New Contributors
- @leonkozlowski made their first contribution in #67
Full Changelog: v0.4.0...v0.4.1
v0.4.0: Nice to MIT You
This is a relatively small release in terms of features, but the version is bumped to 0.4 to reflect that the code is being relicensed from Apache 2.0 to MIT. This is to facilitate FastMCP's inclusion in the official MCP SDK.
What's Changed
New Features 🎉
- Add pyright + tests by @jlowin in #52
- add pgvector memory example by @zzstoatzz in #49
Fixes 🐞
Docs 📚
Other Changes 🦾
- fix warning and flake by @zzstoatzz in #47
New Contributors
Full Changelog: v0.3.5...v0.4.0
v0.3.5: Windows of Opportunity
This release is highlighted by the ability to handle complex JSON objects as MCP inputs and improved Windows compatibility.
What's Changed
New Features 🎉
- Set up multiple os tests by @jlowin in #44
- Changes to accomodate windows users. by @justjoehere in #42
- Handle complex inputs by @jurasofish in #31
Docs 📚
Other Changes 🦾
- Additional Windows Fixes for Dev running and for importing modules in a server by @justjoehere in #43
New Contributors
- @justjoehere made their first contribution in #42
- @jurasofish made their first contribution in #31
Full Changelog: v0.3.4...v0.3.5