Skip to content

Releases: jlowin/fastmcp

v2.5.1: Route Awakening (Part 2)

24 May 11:48
ffa2ee1
Compare
Choose a tag to compare

What's Changed

Fixes 🐞

  • Ensure content-length is always stripped from client headers by @jlowin in #589

Docs 📚

Full Changelog: v2.5.0...v2.5.1

2.5.0: Route Awakening

24 May 01:15
7c65a3c
Compare
Choose a tag to compare

This release introduces completely new tools for generating and customizing MCP servers from OpenAPI specs and FastAPI apps, including popular requests like mechanisms for determining what routes map to what MCP components; renaming routes; and customizing the generated MCP components.

What's Changed

New Features 🎉

  • Add FastMCP 1.0 server support for in-memory Client / Testing by @jlowin in #539
  • Minor addition: add transport to stdio server in mcpconfig, with default by @jlowin in #555
  • Raise an error if a Client is created with no servers in config by @jlowin in #554
  • Expose model preferences in Context.sample for flexible model selection. by @davenpi in #542
  • Ensure custom routes are respected by @jlowin in #558
  • Add client method to send cancellation notifications by @davenpi in #563
  • Enhance route map logic for include/exclude OpenAPI routes by @jlowin in #564
  • Add tag-based route maps by @jlowin in #565
  • Add advanced control of openAPI route creation by @jlowin in #566
  • Make error masking configurable by @jlowin in #550
  • Ensure client headers are passed through to remote servers by @jlowin in #575
  • Use lowercase name for headers when comparing by @jlowin in #576
  • Permit more flexible name generation for OpenAPI servers by @jlowin in #578
  • Ensure that tools/templates/prompts are compatible with callable objects by @jlowin in #579

Docs 📚

Full Changelog: v2.4.0...v2.5.0

v2.4.0: Config and Conquer

21 May 19:58
f2325fd
Compare
Choose a tag to compare

Note: this release includes a backwards-incompatible change to how resources are prefixed when mounted in composed servers. However, it is only backwards-incompatible if users were running tests or manually loading resources by prefixed key; LLMs should not have any issue discovering the new route. See https://gofastmcp.com/servers/composition#resource-prefix-formats for more.

What's Changed

New Features 🎉

  • Allow * Methods and all routes as tools shortcuts by @jlowin in #520
  • Improved support for config dicts by @jlowin in #522
  • Support creating clients from MCP config dicts, including multi-server clients by @jlowin in #527
  • Make resource prefix format configurable by @jlowin in #534

Fixes 🐞

  • Avoid hanging on initializing server session by @jlowin in #523

Breaking Changes 🛫

  • Remove customizable separators; improve resource separator by @jlowin in #526

Docs 📚

Other Changes 🦾

  • Ensure openapi path params are handled properly by @jlowin in #519
  • better error when missing lifespan by @zzstoatzz in #521

Full Changelog: v2.3.5...v2.4.0

v2.3.5: Making Progress

20 May 14:52
c6e3c16
Compare
Choose a tag to compare

What's Changed

New Features 🎉

Fixes 🐞

  • Remove patch and use upstream SSEServerTransport by @jlowin in #425

Docs 📚

  • Update transport docs by @jlowin in #458
  • update proxy docs + example by @zzstoatzz in #460
  • doc(asgi): Change custom route example to PlainTextResponse by @mcw0933 in #477
  • Store FastMCP instance on app.state.fastmcp_server by @jlowin in #489
  • Improve AGENTS.md overview by @jlowin in #492
  • Update release numbers for anticipated version by @jlowin in #516

Other Changes 🦾

New Contributors

Full Changelog: v2.3.4...v2.3.5

v2.3.4: Error Today, Gone Tomorrow

15 May 00:54
837d4c4
Compare
Choose a tag to compare

What's Changed

New Features 🎉

  • logging stack trace for easier debugging by @jbkoh in #413
  • add missing StreamableHttpTransport in client exports by @yihuang in #408
  • Improve error handling for tools and resources by @jlowin in #434
  • feat: add support for removing tools from server by @davenpi in #437
  • Prune titles from JSONSchemas by @jlowin in #449
  • Declare toolsChanged capability for stdio server. by @davenpi in #450
  • Improve handling of exceptiongroups when raised in clients by @jlowin in #452
  • Add timeout support to client by @jlowin in #455

Fixes 🐞

  • Pin to mcp 1.8.1 to resolve callback deadlocks with SHTTP by @jlowin in #427
  • Add reprs for OpenAPI objects by @jlowin in #447
  • Ensure openapi defs for structured objects are loaded properly by @jlowin in #448
  • Ensure tests run against correct python version by @jlowin in #454
  • Ensure result is only returned if a new key was found by @jlowin in #456

Docs 📚

  • Add documentation for tool removal by @jlowin in #440

Other Changes 🦾

  • Deprecate passing settings to the FastMCP instance by @jlowin in #424
  • Add path prefix to test by @jlowin in #432

New Contributors

Full Changelog: v2.3.3...v2.3.4

v2.3.3: SSE you later

10 May 20:16
bb2dfe8
Compare
Choose a tag to compare

This is a hotfix for a bug introduced in 2.3.2 that broke SSE servers

What's Changed

Fixes 🐞

  • Fix bug that sets message path and sse path to same value by @jlowin in #405

Docs 📚

Other Changes 🦾

  • Add test for no prefix when importing by @jlowin in #404

Full Changelog: v2.3.2...v2.3.3

v2.3.2: Stuck in the Middleware With You

10 May 16:19
aa6dde4
Compare
Choose a tag to compare

What's Changed

New Features 🎉

  • Allow users to pass middleware to starlette app constructors by @jlowin in #398
  • Deprecate transport-specific methods on FastMCP server by @jlowin in #401

Docs 📚

Other Changes 🦾

Full Changelog: v2.3.1...v2.3.2

v2.3.1: For Good-nests Sake

09 May 22:11
7c257a4
Compare
Choose a tag to compare

This release primarily patches a long-standing bug with nested ASGI SSE servers.

What's Changed

Fixes 🐞

  • Fix tool result serialization when the tool returns a list by @strawgate in #379
  • Ensure FastMCP handles nested SSE and SHTTP apps properly in ASGI frameworks by @jlowin in #390

Docs 📚

Other Changes 🦾

New Contributors

Full Changelog: v2.3.0...v2.3.1

v2.3.0: Stream Me Up, Scotty

08 May 20:29
c482c99
Compare
Choose a tag to compare

What's Changed

New Features 🎉

Fixes 🐞

Breaking Changes 🛫

Docs 📚

  • Add dependency docs for context / http requests by @jlowin in #349
  • Note that get_http_request is deprecated by @jlowin in #351
  • Update fastmcp.mdx by @jlowin in #343

Other Changes 🦾

  • Update mcp pin to 1.8 by @jlowin in #376
  • Bump mcp dependency to git commit that includes streamable client by @jlowin in #364
  • Pin mcp commit without uv-specific config by @jlowin in #366
  • Move vendored file by @jlowin in #367

New Contributors

Full Changelog: v2.2.10...v2.3.0

v2.3.0-rc.2

08 May 02:51
0e758c3
Compare
Choose a tag to compare
v2.3.0-rc.2 Pre-release
Pre-release
Merge pull request #366 from jlowin/git-commit

Pin mcp commit without uv-specific config