Commit graph

2,727 commits

Author SHA1 Message Date
Jeremiah Lowin
16cd343ec5
Add agent skills for testing and code review (#2846) 2026-01-12 11:24:39 -05:00
Chris Guidry
4ae0cc205c
Merge pull request #2844 from jlowin/fix-asgi-contextvar-propagation
Fix ContextVar propagation for ASGI-mounted servers with tasks
2026-01-12 10:38:31 -05:00
Chris Guidry
923ff5ecc8 Fix ContextVar propagation for ASGI-mounted servers with tasks
Fixes background tasks failing with "Background tasks require a running
FastMCP server context" when FastMCP is mounted to another ASGI app
(FastAPI, Starlette) or deployed to serverless environments (Lambda).

Root cause: ContextVars set during lifespan don't propagate to request
handlers in ASGI environments because they run in sibling async contexts.

Fix: Context.__aenter__ now sets _current_docket and _current_worker from
server instance attributes at request time, ensuring they're available
regardless of async context hierarchy.

Changes:
- server.py: Store self._worker on server instance (self._docket was already stored)
- context.py: Set docket/worker ContextVars from server instance in __aenter__

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 10:31:58 -05:00
Jeremiah Lowin
797297a22d
Add CLI update notifications (#2840) 2026-01-10 18:27:03 -05:00
Jeremiah Lowin
8e1fd1d700
Make pydocket optional and unify DI systems (#2835) 2026-01-10 16:23:32 -05:00
Jeremiah Lowin
4765f5725a
Add PingMiddleware for keepalive connections (#2838) 2026-01-10 16:12:35 -05:00
Jeremiah Lowin
daa2dace2f
Add standalone decorators and eliminate fastmcp.fs module (#2832) 2026-01-10 12:16:35 -05:00
marvin-context-protocol[bot]
24d500d384
chore: Update SDK documentation (#2761)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-01-10 11:49:29 -05:00
Jeremiah Lowin
c9a9df17f4
Add FastMCP 4.0 preview notice to installation guide (#2831)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-10 11:41:44 -05:00
Jeremiah Lowin
3e46b8cb4a
Add docs-broken-links command and fix docstring markdown parsing (#2830) 2026-01-10 11:41:23 -05:00
Jeremiah Lowin
3163e61ee4
Replace FastMCP.as_proxy() with create_proxy() function (#2829) 2026-01-10 11:39:06 -05:00
Jeremiah Lowin
d8351993f7
Add composable lifespans (#2828) 2026-01-10 11:16:50 -05:00
Jeremiah Lowin
401b315786
Fix timeout not propagating to proxy clients in multi-server MCPConfig (#2809) 2026-01-09 20:01:16 -05:00
Jeremiah Lowin
b8d6f89e19
Remove deprecated WSTransport (#2826) 2026-01-09 19:42:35 -05:00
Jeremiah Lowin
87f2edd9c0
Add FileSystemProvider for filesystem-based component discovery (#2823) 2026-01-09 16:31:29 -05:00
Jeremiah Lowin
43811cc16b
Fix redirect URI validation docs to match implementation (#2824) 2026-01-09 12:36:34 -05:00
Jeremiah Lowin
dbd800acf8
Add v3.0 feature tracking document (#2822) 2026-01-09 09:34:53 -05:00
Jeremiah Lowin
42dcb8918d
Add --reload flag for auto-restart on file changes (#2816) 2026-01-09 08:44:27 -05:00
nate nowack
aea8f3b0dc
fix smart_home example: HueAttributes schema and deprecated prefix (#2818)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 08:44:03 -05:00
Jeremiah Lowin
8dfa51329a
Dereference $ref in tool schemas for MCP client compatibility (#2814) 2026-01-08 21:16:01 -05:00
Jeremiah Lowin
b1f9c77dd9
Fix Claude Code installation lock contention in CI workflows (#2815) 2026-01-08 20:43:22 -05:00
Chris Guidry
08caf77ef6
Prefix Redis keys with docket name for ACL isolation (#2811)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 19:04:33 -05:00
Jeremiah Lowin
627c6cdad4
Dereference $ref in tool schemas for MCP client compatibility (#2808) 2026-01-07 18:30:08 -05:00
Jeremiah Lowin
a117316ba1
Fix keep_alive passthrough in StdioMCPServer.to_transport() (#2791) 2026-01-07 16:37:19 -05:00
Jeremiah Lowin
da965db5cb
Fix unawaited coroutine warning and treat as test error (#2806) 2026-01-07 14:29:56 -05:00
Jeremiah Lowin
befaad8a08
Configure ty to fail on warnings (#2804) 2026-01-07 11:17:49 -05:00
Jeremiah Lowin
4dca48e980
Turn off negative CLI flags by default (#2801) 2026-01-07 09:50:57 -05:00
Jeremiah Lowin
517a860f53
Fix client hanging on HTTP 4xx/5xx errors (#2803) 2026-01-07 09:50:41 -05:00
Jeremiah Lowin
10fb217f73
Return 401 for invalid_grant token errors per MCP spec (#2800) 2026-01-06 17:51:33 -05:00
Jeremiah Lowin
151b0ae46f
Use consistent refresh_ttl for JTI mapping store (#2799) 2026-01-06 17:46:39 -05:00
Jeremiah Lowin
945dac57e4
Add debug logging for OAuth token expiry diagnostics (#2797) 2026-01-06 17:18:39 -05:00
Jeremiah Lowin
5a95050762
Fix OAuth token storage TTL calculation (#2796) 2026-01-06 16:55:33 -05:00
Adam Azzam
38ec476f2e
Merge pull request #2786 from jlowin/conference
add link to py ai conf in banner
2025-12-30 20:04:13 -06:00
Adam Azzam
cffde77560 Update docs.json 2025-12-30 20:37:24 -05:00
Adam Azzam
7173e33b03 Update docs.json 2025-12-30 20:18:22 -05:00
Jeremiah Lowin
ad50f73bdc
Lazy import DiskStore to avoid sqlite3 dependency on import (#2784) 2025-12-30 19:20:21 -05:00
Taisei Mima
df3d4e19ec
Fix base_url fallback when url is not set (#2776) 2025-12-29 18:43:51 -05:00
Bryan Thompson
30a239637b
Add MCP tool annotations to smart_home example (#2777)
Co-authored-by: triepod-ai <noreply@github.com>
2025-12-29 18:40:51 -05:00
Shea Parkes
6ce967643e
Enhance documentation on tool transformation (#2781) 2025-12-29 14:30:34 -05:00
Jeremiah Lowin
9c83482f4c
Make FASTMCP_SHOW_SERVER_BANNER apply to all server startup methods (#2771) 2025-12-29 08:29:15 -05:00
Jeremiah Lowin
3d485f0c51
Fix titled enum elicitation schema to comply with MCP spec (#2773) 2025-12-29 08:28:36 -05:00
Danglewood
ef84f84d1e
[BugFix] Fix openapi_version Check So 3.1 Is Included (#2768) 2025-12-27 23:07:19 -05:00
Jeremiah Lowin
c5a61a7e19
Update CLI banner with FastMCP 3.0 notice (#2766) 2025-12-26 22:12:58 -05:00
Jeremiah Lowin
7cb00c9686
Fix OAuth Proxy resource parameter validation (#2764) 2025-12-26 21:23:31 -05:00
Jeremiah Lowin
2e8adafdf5
Add regression tests for caching with mounted server prefixes (#2762) 2025-12-26 16:33:03 -05:00
marvin-context-protocol[bot]
74eb8a0645
chore: Update SDK documentation (#2717)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2025-12-26 16:15:08 -05:00
Eloi Zalczer
fb11282e9b
Feature/supabase custom auth route (#2632)
Co-authored-by: Eloi Zalczer <eloi@entropia.io>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-12-26 16:14:56 -05:00
Jeremiah Lowin
a3123176b3
Deprecate tool_serializer parameter (#2753) 2025-12-26 16:03:04 -05:00
Jeremiah Lowin
e454294ea8
Add tests for OAuth generator cleanup and use aclosing (#2759) 2025-12-26 16:01:27 -05:00
Jeremiah Lowin
5e0e6bbc49
fix: set pytest-asyncio default fixture loop scope to function (#2758) 2025-12-26 15:56:30 -05:00