Skip to content

Conversation

@pamelafox
Copy link
Contributor

@pamelafox pamelafox commented Jan 20, 2026

The only breaking change was the async get/set state, all other changes seem compatible.

Manual verification:

  • The Entra MCP server works locally and in production
  • The Keycloak MCP server works in production. Locally, it was going to localhost:8000/authorize and 404ing. Did this work before? It seems like it should hit up a different authorize URL.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request upgrades FastMCP from version 2.14.2 to 3.0.0b1 (beta), which introduces a breaking change requiring asynchronous state management methods. The PR updates all affected code to use await with get_state() and set_state() calls.

Changes:

  • Upgraded FastMCP dependency from 2.14.2 to 3.0.0b1 with exact version pinning
  • Updated all get_state() and set_state() calls to be async in authentication middleware and tool implementations
  • Lock file reflects new FastMCP dependencies including jsonref, opentelemetry-api, packaging, and watchfiles, while removing pydocket and its transitive dependencies

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.

File Description
pyproject.toml Updated FastMCP dependency from >=2.14.2 to ==3.0.0b1 with exact version pinning
uv.lock Reflected FastMCP 3.0.0b1 upgrade and associated dependency changes (added jsonref, opentelemetry-api, packaging, watchfiles; removed pydocket and its dependencies)
servers/auth_entra_mcp.py Updated all get_state and set_state calls in middleware and tools to use async/await pattern
servers/auth_keycloak_mcp.py Updated all get_state and set_state calls in middleware and tools to use async/await pattern

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

requires-python = "==3.13.*"
dependencies = [
"fastmcp>=2.14.2",
"fastmcp==3.0.0b1",
Copy link

Copilot AI Jan 20, 2026

Choose a reason for hiding this comment

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

Using an exact pin for a beta version (3.0.0b1) may cause issues with dependency resolution and updates. Consider using a minimum version constraint instead (e.g., "fastmcp>=3.0.0b1") to allow for future beta releases and the stable 3.0.0 release, or wait for the stable release before upgrading.

Suggested change
"fastmcp==3.0.0b1",
"fastmcp>=3.0.0b1",

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant