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
Bill Easton
5bab188106
Add concurrent tool execution with sequential flag ( #3022 )
...
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:43:53 -05:00
Martim Santos
939cf5fcf2
feat: add Static Client Registration ( #3085 ) ( #3086 )
...
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-02-09 20:40:06 -05:00
Jeremiah Lowin
45af482e73
Add Azure OBO dependencies, auth token injection, and documentation ( #2918 )
2026-02-09 20:06:57 -05:00
Jeremiah Lowin
dfb857aa08
Scope Martian triage to bug-labeled issues for jlowin ( #3124 )
2026-02-09 10:35:53 -05:00
Jeremiah Lowin
3b0660a686
Rename ui= to app= and consolidate ToolUI/ResourceUI into AppConfig ( #3117 )
...
* Rename ui= to app= and consolidate ToolUI/ResourceUI into AppConfig
* Remove backward-compat aliases for ToolUI/ResourceUI/ui_to_meta_dict
* Add extra=allow to AppConfig model_config for forward compatibility
2026-02-08 20:26:47 -05:00
Jeremiah Lowin
f7cdd20a42
generate-cli: auto-generate SKILL.md agent skill ( #3115 )
...
* generate-cli: auto-generate SKILL.md alongside CLI script
generate-cli now produces a SKILL.md agent skill file next to the CLI
script, documenting every tool's exact invocation syntax, parameter
flags, and types. Agents can use the CLI immediately without discovery.
* Use uv run --with fastmcp in generated SKILL.md invocations
* Fix skill generation issues from review
- Escape pipe chars in union type labels so markdown tables render
- Boolean params omit <value> placeholder in example invocations
- Quote YAML frontmatter values to handle special chars in names
- Match cyclopts camelCase→snake_case in flag derivation
- Use four-backtick fence for nested code block in docs
* Replace --skill/--no-skill with just --no-skill
* Escape quotes in YAML frontmatter description
* Strip newlines from param descriptions in skill table rows
* Detect boolean union types for flag placeholder
2026-02-08 17:09:28 -05:00
Guillaume FORTAINE
3d665d48c0
fix: stabilize task notification integration tests
...
🤖 Generated with Codex
2026-02-08 15:20:22 +01:00