Commit graph

3,892 commits

Author SHA1 Message Date
marvin-context-protocol[bot]
49ff7f56cd
chore: Update SDK documentation (#4858) 2026-08-22 14:47:25 -04:00
nate nowack
743ddffd0a
Include instructions in MCP inspect output (#4873)
🤖 Generated with Codex
2026-08-21 19:50:27 -05:00
nate nowack
75de8b352e
Add FastMCP security report review skill (#4859)
* Add FastMCP security report review skill

🤖 Generated with Codex

* Refine security report classifications

🤖 Generated with Codex

* Clarify delegated protection classification

🤖 Generated with Codex

* Tighten security report review guidance

🤖 Generated with Codex
2026-08-21 19:42:04 -05:00
nate nowack
609f79b8a1
Bump cryptography to 50.0.0 in the testing_demo example (#4844)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 12:42:45 -04:00
nate nowack
92465c7f1f
Exclude Cookie from forwarded HTTP headers (#4843)
* Exclude Cookie from forwarded HTTP headers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Keep cookie readable through CurrentHeaders and document it

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 12:42:34 -04:00
nate nowack
bfcdfa59ec
Scope Marvin App token to each job's declared permissions (#4834)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 12:42:17 -04:00
Jake Kaplan
b2025212d8
Fix proxy forwarding of MCP transport headers (#4853) 2026-08-18 12:36:24 -04:00
Eddie
0d86007617
Add Prefect Horizon account commands (#4786)
* feat: add Horizon account commands

* feat: add a Horizon host option to login

* feat: refine Horizon account output

* style: refine Horizon output headings

* feat: describe device authorization requests

* fix: preserve Horizon command contracts

* fix: preserve environment credentials on logout

* fix: keep Horizon state reads consistent

* docs: hide the Horizon host override
2026-08-17 20:11:19 -07:00
prefect-renovate[bot]
c9cf23779e
chore(deps): Update astral-sh/setup-uv action to v9 (#4806)
Co-authored-by: prefect-renovate[bot] <313130218+prefect-renovate[bot]@users.noreply.github.com>
Co-authored-by: nate nowack <thrast36@gmail.com>
2026-08-14 13:56:10 -05:00
prefect-renovate[bot]
542cde677b
chore(deps): Update dependency node to v24 (#4807)
Co-authored-by: prefect-renovate[bot] <313130218+prefect-renovate[bot]@users.noreply.github.com>
Co-authored-by: nate nowack <thrast36@gmail.com>
2026-08-14 13:49:31 -05:00
prefect-renovate[bot]
3a2d12abcf
chore(deps): Update j178/prek-action action to v3 (#4808)
Co-authored-by: prefect-renovate[bot] <313130218+prefect-renovate[bot]@users.noreply.github.com>
Co-authored-by: nate nowack <thrast36@gmail.com>
2026-08-14 13:45:26 -05:00
Jeremiah Lowin
37321449d9
docs: add FastMCP 4 beta 3 release entries (#4841) v4.0.0b3 2026-08-14 13:43:56 -04:00
Jeremiah Lowin
59487837ee
docs: prepare FastMCP 4 beta 3 (#4840) 2026-08-14 13:33:22 -04:00
Akshay Parihar
46399056db
Scalekit issuer updates backward compatibility (#4798) 2026-08-14 13:21:54 -04:00
nate nowack
addb8fa541
Bump cryptography to 50.0.0 (#4836)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 13:16:22 -04:00
marvin-context-protocol[bot]
bab1073da2
chore: Update SDK documentation (#4832) 2026-08-14 13:15:03 -04:00
nate nowack
6ccbb570cc
Cover CallArgument resolution in background tasks (#4833)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 13:14:36 -04:00
nate nowack
38c054be1d
Fix static analysis under newer ty releases (#4831)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 13:09:44 -04:00
Chris Guidry
ba283ddb4c
Support CallArgument and Depends bindings from uncalled-for 0.4.0 (#4802)
* Support CallArgument and Depends bindings from uncalled-for 0.4.0

uncalled-for 0.4.0 adds explicit argument references: CallArgument()
lets a dependency factory read an argument of the function it serves,
and Depends(factory, **bindings) supplies factory arguments at the
declaration site (https://github.com/chrisguidry/uncalled-for/pull/12).
FastMCP's resolver now opens a frame_scope() around dependency
resolution, with the sanitized user arguments as the frame's provided
values. A CallArgument can reference a tool call's public parameters,
but a caller-supplied value for a dependency parameter name is still
stripped before resolution. CallArgument and CycleError are re-exported
from fastmcp.dependencies, and the dependency-injection docs cover both
features.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Raise the pydocket floor to 0.24.0 outside Windows

pydocket 0.24.0 resolves TaskArgument and CallArgument through
uncalled-for 0.4.0's call-scoped frames. Windows keeps the 0.20.0
floor: the burner-redis<0.1.7 pin there transitively caps pydocket to
<0.20.2, and burner-redis has shipped no fixed release yet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Bump the pydocket floor to 0.24.1 for reliable worker shutdown

docket 0.24.1 fixes a lost cancellation in worker shutdown on Python
3.10 and 3.11 (chrisguidry/docket#456): asyncio.wait_for swallowed a
cancellation delivered in the same event-loop tick that its inner future
completed, so cancelling run_forever during our lifespan teardown left
the worker running and hung the test session. That is what timed out the
Python 3.10 and lowest-direct jobs here. The floor stays platform-split;
Windows keeps >=0.20.0 under the burner-redis pin.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Drop the Windows burner-redis pin and unify the pydocket floor at 0.24.1

The pin blamed the wrong package. The Windows "interpreter crash" that
motivated it (#4618) was pydocket 0.23.1 losing an external cancellation
during worker teardown; pytest-timeout's hard kill of the hung xdist
worker discarded its stdout and looked like a native fault. Capping
burner-redis also dragged pydocket below 0.20.2, so the two variables
were never separated. The repro matrix on prefectlabs/burner-redis#7
shows the July environment failing as resolved, passing with only
pydocket rolled back, and passing with pydocket 0.24.1 alongside
burner-redis 0.1.7 on Windows. pydocket 0.24.1 carries the fix
(chrisguidry/docket#456), so every platform now shares one floor.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: nate nowack <thrast36@gmail.com>
2026-08-13 22:19:17 -05:00
marvin-context-protocol[bot]
fe93371d04
chore: Update SDK documentation (#4828)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-08-13 20:36:58 -05:00
Jeremiah Lowin
3dd0886156
Fix StatefulProxyClient reconnection after session failure (#4829) 2026-08-13 16:01:19 -04:00
nate nowack
822c82c93f
Add audience pinning to GoogleTokenVerifier (#4827)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 15:59:16 -04:00
Trevor Hudson
19d9360cc1
Keep earlier consent CSRF tokens valid within a transaction (#4818)
Co-authored-by: nate nowack <thrast36@gmail.com>
2026-08-13 15:24:02 -04:00
Shaik Mohammed Kaif
2061bc46c7
fix(openapi): extract parameter-level example and examples (#4793) 2026-08-13 12:03:56 -04:00
Jeremiah Lowin
e108bc539e
Clarify auto-closed PR message (#4820) 2026-08-11 13:55:48 -04:00
nate nowack
6be0ac8e15
Fix partial hint resolution on Python 3.14 (#4796)
🤖 Generated with OpenAI Codex
2026-08-11 12:14:34 -05:00
Jeremiah Lowin
052889a359
Docs: mirror v3.4.7 release notes (#4811) 2026-08-10 17:16:20 -04:00
Eddie
bba8c44f7b
Add Prefect Horizon authentication client and local state (#4785)
* feat: add Horizon authentication client and state

* fix: apply Windows state ACLs to existing descriptors

* fix: distinguish public route authorization failures

* fix: harden Horizon state boundaries
2026-08-10 17:06:42 -04:00
Nicholas Brown
6475650fc7
Docs language dropdown (#4801)
* add language dropdown

* add dropdown to ts docs

* fix merge conflicts
2026-08-10 11:03:45 -05:00
marvin-context-protocol[bot]
8a1820f1c3
chore: Update SDK documentation (#4782)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-08-07 15:49:36 -05:00
Sai Mouli
06fee6d300
Serialize the event store's stream list read-modify-write (#4758) v4.0.0b2
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-08-06 20:09:36 -04:00
Jamie Zieziula
706f7d2695
feat(renovate): migrate to Renovate, retire Dependabot (#4754)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-06 20:02:29 -04:00
Chris Guidry
1ac8fc6060
Encrypt task context snapshots at rest (#4772)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 20:01:40 -04:00
Jeremiah Lowin
04f9971120
Delegate typed tool output serialization to Pydantic (#4771) 2026-08-06 19:59:19 -04:00
marvin-context-protocol[bot]
803da5319c
chore: Update SDK documentation (#4679) 2026-08-06 19:56:40 -04:00
Jake Kaplan
9feb1f378b
Forward proxy server metadata across protocol eras (#4776)
* Forward proxy negotiation metadata

🤖 Generated with OpenAI Codex

* Limit forwarded proxy metadata

🤖 Generated with OpenAI Codex

* Tighten negotiation metadata forwarding

🤖 Generated with OpenAI Codex

* Tighten proxy metadata docs

🤖 Generated with OpenAI Codex

* Keep proxy metadata middleware with provider

🤖 Generated with OpenAI Codex

* Simplify proxy negotiation middleware API

🤖 Generated with OpenAI Codex

* Name proxy metadata middleware directly

🤖 Generated with OpenAI Codex

* Preserve discovery middleware contracts

🤖 Generated with OpenAI Codex

* Clarify proxy metadata ownership

🤖 Generated with OpenAI Codex

* Align proxy metadata wording

🤖 Generated with OpenAI Codex

* Call forwarded values server metadata

🤖 Generated with OpenAI Codex

* Harden proxy metadata reads

🤖 Generated with OpenAI Codex

* Expose configured discovery result

🤖 Generated with OpenAI Codex

* Preserve proxy discovery compatibility

🤖 Generated with OpenAI Codex

* Preserve deprecated initialization middleware

🤖 Generated with OpenAI Codex

* Harden proxy metadata boundaries

🤖 Generated with OpenAI Codex

* Restore deprecated middleware location

🤖 Generated with OpenAI Codex

* Simplify proxy metadata client lifecycle

🤖 Generated with OpenAI Codex

* Clarify proxy metadata lifecycle

🤖 Generated with OpenAI Codex

* Preserve proxy factory errors

🤖 Generated with OpenAI Codex

* Detach forwarded proxy metadata

🤖 Generated with OpenAI Codex

* Simplify proxy metadata implementation

🤖 Generated with OpenAI Codex

* Distinguish proxy metadata failures

🤖 Generated with OpenAI Codex

* Narrow proxy metadata validation fallback

🤖 Generated with OpenAI Codex

* Retrigger CI

🤖 Generated with OpenAI Codex
2026-08-06 19:09:05 -04:00
nate nowack
75fb116e36
Support EdDSA verification in JWTVerifier (#4752) 2026-08-06 14:09:37 -04:00
Jeremiah Lowin
6fb34e9383
Document MCP protocol support and conformance (#4781) 2026-08-06 11:15:38 -04:00
Yonatan
c8b88b3a37
fix(context): move elicit overload docs inside the stubs so mypy sees the chain (#4774) 2026-08-06 09:35:49 -04:00
Jeremiah Lowin
2bee9aeb58
Clarify review of closed contributor PRs (#4780) 2026-08-06 09:34:11 -04:00
Jeremiah Lowin
875e8e18bd
Preserve legacy httpx compatibility without importing it (#4766) 2026-08-05 18:09:16 -04:00
Jake Kaplan
959daf2321
Sanitize forwarded request metadata where the proxy copies it (#4770)
* Separate proxy protocol policy from client construction

🤖 Generated with OpenAI Codex

* Strip connection-owned request metadata at the proxy backend boundary

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Sanitize forwarded request metadata where the proxy copies it

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Forward hop-safe request metadata for proxied resources, templates, and prompts

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 15:46:10 -04:00
nate nowack
8661193411
Quote run-claude allowed tools argument (#4741)
Generated with Codex
2026-08-05 11:15:51 -04:00
Jeremiah Lowin
e4d8ca648a
Avoid loading MCP and CLI stacks during lightweight imports (#4763) 2026-08-05 10:56:13 -04:00
Jeremiah Lowin
2c2f98691f
Docs: mirror v3.4.6 release notes (#4764) 2026-08-05 10:53:15 -04:00
nate nowack
b9b7ea6914
Declare run-claude extra allowed tools input (#4740)
Generated with Codex
2026-08-05 10:39:35 -04:00
Sai Mouli
4f28dceac8
Don't cache error results in ResponseCachingMiddleware (#4705) 2026-08-04 17:15:01 -04:00
LHMQ878
db92d44ef5
Serve empty list results from the response cache (#4738) 2026-08-04 17:11:42 -04:00
Jeremiah Lowin
886776f5fc
Canonicalize response cache arguments (#4753)
Co-authored-by: LHMQ878 <LHMQ878@users.noreply.github.com>
2026-08-04 15:25:46 -04:00
Jeremiah Lowin
d267792653
docs: clarify external OAuth consent mode (#4746) 2026-08-03 18:02:09 -04:00