Skip to content

fix(deps): update dependency fastmcp to v3#13839

Open
renovate-bot wants to merge 1 commit intoGoogleCloudPlatform:mainfrom
renovate-bot:renovate/fastmcp-3.x
Open

fix(deps): update dependency fastmcp to v3#13839
renovate-bot wants to merge 1 commit intoGoogleCloudPlatform:mainfrom
renovate-bot:renovate/fastmcp-3.x

Conversation

@renovate-bot
Copy link
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
fastmcp ==2.13.0==3.0.0 age confidence

Release Notes

PrefectHQ/fastmcp (fastmcp)

v3.0.0: : Three at Last

Compare Source

FastMCP 3.0 is stable. Two betas, two release candidates, 21 new contributors, and more than 100,000 daily pre-release installs later — the architecture held up, the upgrade path was smooth, and we're shipping it.

The surface API is largely unchanged — @mcp.tool() still works exactly as before. What changed is everything underneath: a provider/transform architecture that makes FastMCP extensible, observable, and composable in ways v2 couldn't support. If we did our jobs right, you'll barely notice the redesign. You'll just notice that more is possible.

This is also the release where FastMCP moves from jlowin/fastmcp to PrefectHQ/fastmcp. GitHub forwards all links, PyPI is the same, imports are the same. A major version felt like the right moment to make it official.

Build servers from anything

🔌 Components no longer have to live in one file with one server. FileSystemProvider discovers tools from directories with hot-reload. OpenAPIProvider wraps REST APIs. ProxyProvider proxies remote MCP servers. SkillsProvider delivers agent skills as resources. Write your own provider for whatever source makes sense. Compose multiple providers into one server, share one across many, or chain them with transforms that rename, namespace, filter, version, and secure components as they flow to clients. ResourcesAsTools and PromptsAsTools expose non-tool components to tool-only clients.

Ship to production

🔐 Component versioning: serve @tool(version="2.0") alongside older versions from one codebase. Granular authorization on individual components with async auth checks, server-wide policies via AuthMiddleware, and scope-based access control. OAuth gets CIMD, Static Client Registration, Azure OBO via dependency injection, JWT audience validation, and confused-deputy protections. OpenTelemetry tracing with MCP semantic conventions. Response size limiting. Background tasks with distributed Redis notification and ctx.elicit() relay. Security fixes include dropping diskcache (CVE-2025-69872) and upgrading python-multipart and protobuf for additional CVEs.

Adapt per session

💾 Session state persists across requests via ctx.set_state() / ctx.get_state(). ctx.enable_components() and ctx.disable_components() let servers adapt dynamically per client — show admin tools after authentication, progressively reveal capabilities, or scope access by role.

Develop faster

--reload auto-restarts on file changes. Standalone decorators return the original function, so decorated tools stay callable in tests and non-MCP contexts. Sync functions auto-dispatch to a threadpool. Tool timeouts, MCP-compliant pagination, composable lifespans, PingMiddleware for keepalive, and concurrent tool execution when the LLM returns multiple calls in one response.

Use FastMCP as a CLI

🖥️ fastmcp list and fastmcp call query and invoke tools on any server from a terminal. fastmcp discover scans your editor configs (Claude Desktop, Cursor, Goose, Gemini CLI) and finds configured servers by name. fastmcp generate-cli writes a standalone typed CLI where every tool is a subcommand. fastmcp install registers your server with Claude Desktop, Cursor, or Goose in one command.

Build apps (3.1 preview)

📱 Spec-level support for MCP Apps is in: ui:// resource scheme, typed UI metadata via AppConfig, extension negotiation, and runtime detection. The full Apps experience lands in 3.1.


If you hit 3.0 because you didn't pin your dependencies and something breaks — the upgrade guides will get you sorted. We minimized breaking changes, but a major version is a major version.

pip install fastmcp -U

📖 Documentation
🚀 Upgrade from FastMCP v2
🔀 Upgrade from MCP Python SDK
📰 What's New in FastMCP 3.0

What's Changed

New Features 🎉
Enhancements 🔧
Fixes 🐞
Breaking Changes 🛫
Docs 📚
Dependencies 📦
Other Changes 🦾

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate-bot renovate-bot requested review from a team as code owners February 18, 2026 22:22
@trusted-contributions-gcf trusted-contributions-gcf bot added kokoro:force-run Add this label to force Kokoro to re-run the tests. owlbot:run Add this label to trigger the Owlbot post processor. labels Feb 18, 2026
@product-auto-label product-auto-label bot added samples Issues that are directly related to samples. api: run Issues related to the Cloud Run API. labels Feb 18, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @renovate-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the fastmcp dependency to its major version 3.0.0. This is a substantial upgrade that re-architects the core framework for enhanced extensibility and introduces a wealth of new features, performance improvements, and crucial security fixes. The change ensures the project benefits from the latest capabilities and stability offered by the FastMCP ecosystem.

Highlights

  • Major Version Upgrade: The fastmcp dependency has been upgraded to version 3.0.0, representing a significant architectural redesign focused on extensibility, observability, and composability.
  • New Features Introduced: FastMCP v3.0 brings dynamic component discovery, component versioning, granular authorization, OpenTelemetry tracing, session state persistence, dynamic component visibility, and new CLI commands for listing, calling, discovering, generating, and installing components.
  • Key Enhancements: The update includes refactored provider execution, parallelized operations, consistent decorator-based handler registration, improved OAuth, and automatic threadpooling for synchronous functions.
  • Critical Fixes and Security Updates: Various bug fixes were implemented, addressing error propagation, task execution, OAuth token handling, and schema validation. Importantly, security vulnerabilities were mitigated by dropping diskcache and upgrading python-multipart and protobuf.
  • Breaking Changes Noted: The new version introduces breaking changes such as the removal of automatic environment variable loading from auth providers, making pydocket optional, session-scoped state persistence, renaming ui= to app=, and moving fastmcp dev to fastmcp dev inspector.
Changelog
  • run/mcp-server/pyproject.toml
    • Updated fastmcp dependency from 2.13.0 to 3.0.0.
  • run/mcp-server/uv.lock
    • Updated various dependencies including authlib, mcp, py-key-value-aio, and uvicorn.
    • Added new dependencies such as aiofile, caio, jsonref, jsonschema-path, opentelemetry-api, packaging, pyjwt, pyyaml, and watchfiles.
    • Removed several dependencies including diskcache, isodate, lazy-object-proxy, markupsafe, openapi-core, openapi-schema-validator, openapi-spec-validator, parse, pathvalidate, py-key-value-shared, rfc3339-validator, six, and werkzeug.
Activity
  • The pull request was automatically generated by Mend Renovate to update the fastmcp dependency.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@kokoro-team kokoro-team removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Feb 18, 2026
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the fastmcp dependency from version 2.13.0 to 3.0.0. This is a major version upgrade that brings significant architectural improvements, including a new provider/transform architecture, automatic threadpooling for synchronous tools, and enhanced observability with OpenTelemetry. Crucially, it includes security fixes by dropping the diskcache dependency (addressing CVE-2025-69872) and updating other sub-dependencies. The existing server and test code remain compatible with the v3 API, and the uv.lock file correctly reflects the streamlined dependency tree, which now includes uvicorn and watchfiles to support the new development features like hot-reloading.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: run Issues related to the Cloud Run API. owlbot:run Add this label to trigger the Owlbot post processor. samples Issues that are directly related to samples.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments