Commit graph

3,000 commits

Author SHA1 Message Date
Jeremiah Lowin
85a833a74b
Reorganize docs navigation around Server/Client/Apps pillars (#3197)
* Reorganize docs navigation and add Apps documentation

Collapse Providers, Transforms, and Deployment under Servers. Add Apps
section with overview and low-level API pages. Add card images to welcome
page and README. Add NEW tags to recent features.

* Fix missing imports in Apps low-level API code examples
2026-02-16 15:33:16 -05:00
Jeremiah Lowin
b4eb1adbeb
Merge pull request #3195 from jlowin/fix/stateless-http-disable-get-sse
Return 405 for GET SSE on stateless HTTP servers
2026-02-16 09:32:21 -05:00
Jeremiah Lowin
dab2084c74
Return 405 for GET requests on stateless HTTP servers 2026-02-16 09:08:32 -05:00
Jeremiah Lowin
453dcbe808
Merge pull request #3194 from jlowin/docs/caching-identity-note
Document cache key identity behavior
2026-02-16 08:55:29 -05:00
Jeremiah Lowin
62804e2f06
Add cache key identity note to middleware docs 2026-02-16 08:52:28 -05:00
Jeremiah Lowin
d3032c10a2
Merge pull request #3193 from jfBiswajit/fix/readme-logo
fix: correct dark mode logo file extension in README
2026-02-16 08:40:16 -05:00
Biswajit Biswas
964ba12bc5 fix: correct dark mode logo file extension in README 2026-02-16 15:56:10 +06:00
Jeremiah Lowin
b14b137fdd
Merge pull request #3188 from jlowin/feature/dev-subcommand-group v3.0.0rc2
Move `fastmcp dev` to `fastmcp dev inspector`
2026-02-13 21:47:29 -06:00
marvin-context-protocol[bot]
edac1e5427 chore: Update SDK documentation 2026-02-14 03:43:26 +00:00
Jeremiah Lowin
618195c065
Move fastmcp dev to fastmcp dev inspector 2026-02-13 22:42:38 -05:00
Jeremiah Lowin
ccfe5047bf
Fix include_tags/exclude_tags ignored without tools in MCPConfig (#3186)
* Fix include_tags/exclude_tags ignored without tools in MCPConfig

* chore: Update SDK documentation

---------

Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-13 20:38:56 -05:00
dependabot[bot]
bb60287005
chore(deps): bump cryptography in the uv group across 1 directory (#3147)
Bumps the uv group with 1 update in the / directory: [cryptography](https://github.com/pyca/cryptography).


Updates `cryptography` from 46.0.4 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-13 17:38:02 -05:00
Jeremiah Lowin
e5553177d7
docs: update all references from 3.0.0b2 to 3.0.0rc1 (#3173) v3.0.0rc1 2026-02-12 16:39:16 -06:00
Jeremiah Lowin
5f941be5a3
Fix stale request context in StatefulProxyClient handlers (#3172)
* fix: restore request context in StatefulProxyClient handlers

StatefulProxyClient reuses sessions across requests, so its receive-loop
task inherits a stale request_ctx ContextVar from the first request.
Server-initiated messages (elicitation, sampling, etc.) that depend on
related_request_id routing get sent to a closed stream and hang forever.

Closes #3169

* chore: Update SDK documentation

---------

Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-12 17:13:23 -05:00
Jeremiah Lowin
b62ed3408b
Support non-serializable values in Context.set_state (#3171)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-12 15:06:42 -06:00
Jeremiah Lowin
88c89248d0
Merge pull request #3157 from jlowin/update-claude-workflows
Updates to github actions / workflows for claude
2026-02-12 14:49:16 -05:00
Jeremiah Lowin
3907a4f9b6
docs: fix stale get_* references, now list_* (#3168) 2026-02-12 13:45:49 -06:00
Jeremiah Lowin
175479f65f
fix: guard client pagination loops against misbehaving servers (#3167)
* fix: guard client pagination loops against misbehaving servers

Treat empty/falsy nextCursor as end-of-pagination and detect cursor
cycles across all client list methods and the server context proxy
helper.

* chore: Update SDK documentation

---------

Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-12 13:19:02 -06:00
Bill Easton
359575b12f
Add helpers for converting FunctionTool and TransformedTool to SamplingTool (#3062)
Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <jlowin@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-11 19:43:03 -06:00
Jeremiah Lowin
a307e9c3cc
Expose local_provider property, deprecate FastMCP.remove_tool() (#3155)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-11 19:37:19 -06:00
William Easton
16a85ffcd8
pretty yaml 2026-02-11 16:07:50 -06:00
William Easton
b42f6f9a48
update conditionals 2026-02-11 16:07:22 -06:00
William Easton
c9fbd1f5de
Merge origin/main into update-claude-workflows
Resolve conflict: remove old martian-issue-triage.yml (replaced by martian-triage-issue.yml)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-11 15:56:47 -06:00
William Easton
b3b630ee7b
Updates to github actions / workflows for claude 2026-02-11 15:52:54 -06:00
Jeremiah Lowin
fe57c3d689
Make $ref dereferencing optional via FastMCP(dereference_refs=...) (#3151)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-11 13:45:37 -05:00
Jeremiah Lowin
50b23299f8
Support async auth checks (#3152)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-11 12:48:51 -05:00
Jeremiah Lowin
25e2f4da32
Remove deprecated FastMCP() constructor kwargs (#3148)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-11 11:39:34 -05:00
Jeremiah Lowin
0f95ed72cd
Stop duplicating path parameter descriptions into tool prose (#3149)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-11 11:34:11 -05:00
Guillaume FORTAINE
263e0bf6e0
fix: snapshot access token for background tasks (#3095) (#3138)
Co-authored-by: cristiangreco94 <cristiangreco94@users.noreply.github.com>
2026-02-11 10:20:14 -05:00
dependabot[bot]
f75cd05e50
chore(deps): bump cryptography (#3140)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-11 10:19:38 -05:00
Jeremiah Lowin
3e79572660
docs: remove nonexistent MSALApp from rc1 notes (#3146) 2026-02-11 10:19:02 -05:00
Jeremiah Lowin
f3d33f830c
docs: add v3.0.0rc1 section to v3-features tracking (#3145) 2026-02-11 10:16:54 -05:00
Bill Easton
8e1f662d93
Bump py-key-value-aio to >=0.4.0,<0.5.0 (#3143)
Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-11 10:03:45 -05:00
Chris Guidry
efcc12bc76
Merge pull request #3136 from jlowin/task-elicitation-relay
Relay task elicitation through standard MCP protocol
2026-02-10 16:06:37 -05:00
marvin-context-protocol[bot]
a53030a806 chore: Update SDK documentation 2026-02-10 21:00:34 +00:00
Chris Guidry
6e22914360 Move relay logic to elicitation.py, fix related-task metadata key
Moves relay_elicitation() into elicitation.py so it can reuse
handle_task_input() for the Redis push instead of duplicating that logic.
notifications.py just detects the trigger and calls it.

Also fixes the related-task metadata key from modelcontextprotocol.io/ to
io.modelcontextprotocol/ to match the current spec:
https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 16:00:01 -05:00
Chris Guidry
a95fed3041
Merge branch 'main' into task-elicitation-relay 2026-02-10 15:41:25 -05:00
marvin-context-protocol[bot]
95b4271b3b chore: Update SDK documentation 2026-02-10 20:36:17 +00:00
Chris Guidry
aa4db3d00e Address review: set status key on cancel fallback, prevent relay task GC
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 15:35:50 -05:00
Chris Guidry
95816c5ae2
Merge pull request #2906 from gfortaine/fix/statusMessage-not-forwarded
feat: distributed notification queue + BLPOP elicitation for background tasks
2026-02-10 15:32:55 -05:00
Chris Guidry
361eb08f42 Relay task elicitation through standard MCP protocol
When a background task calls ctx.elicit(), the notification subscriber now
detects the input_required notification and sends a standard elicitation/create
request to the client via session.elicit(). The client's elicitation_handler
fires, and the relay pushes the response to Redis for the blocked worker.

This means clients can respond to background task elicitation using the same
elicitation_handler they'd use for any other elicitation — no need to interact
with Redis or call handle_task_input() directly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:58:19 -05:00
Chris Guidry
3809f0c77b
Merge branch 'main' into fix/statusMessage-not-forwarded 2026-02-10 14:22:58 -05:00
Jeremiah Lowin
1d0c0adeab
Add validate_output option for OpenAPI tools (#3134)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-10 13:29:45 -05:00
Jeremiah Lowin
a715176499
Fix unhandled exceptions in OpenAPI POST tool calls (#3133)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-10 13:13:45 -05:00
Jeremiah Lowin
40e80d60e5
Fix session visibility marks leaking across sessions (#3132) 2026-02-10 11:42:43 -05:00
Chris Guidry
f7c47f498c
Merge branch 'main' into fix/statusMessage-not-forwarded 2026-02-10 11:34:05 -05:00
Bill Easton
cdad99583e
Fix Windows test timeouts in OAuth proxy provider tests (#3123)
Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-02-09 20:54:16 -05:00
Jeremiah Lowin
eeb17855a6
docs: add pre-registered OAuth clients to v3-features (#3129) 2026-02-09 20:48:31 -05:00
marvin-context-protocol[bot]
a1cf2aff6e
chore: Update SDK documentation (#3116)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-09 20:45:52 -05:00
Jeremiah Lowin
81a7c83c67
CI: Commit generated artifacts back to PR branch instead of opening separate PRs (#3128) 2026-02-09 20:45:28 -05:00