Jeremiah Lowin
3a9717e6be
Publish docs for v3.2.0 ( #3713 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Jeremiah Lowin <jlowin@users.noreply.github.com>
Co-authored-by: Marvin Context Protocol <41898282+Marvin Context Protocol@users.noreply.github.com>
Co-authored-by: voidborne-d <voidborne-d@users.noreply.github.com>
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: d 🔹 <258577966+voidborne-d@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
Co-authored-by: nightcityblade <nightcityblade@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Bill Easton <strawgate@users.noreply.github.com>
Co-authored-by: Sumanshu Nankana <sumanshunankana@gmail.com>
Co-authored-by: Eric Robinson <ericrobinson@indeed.com>
Co-authored-by: Martim Santos <martimfasantos@gmail.com>
Co-authored-by: d 🔹 <liusway405@gmail.com>
Co-authored-by: Matthieu B <66959271+mtthidoteu@users.noreply.github.com>
Co-authored-by: Sascha Buehrle <47737812+saschabuehrle@users.noreply.github.com>
Co-authored-by: Hakancan <142545736+hkc5@users.noreply.github.com>
Co-authored-by: nightcityblade <jackchen@haloailabs.com>
Co-authored-by: Matt Hallowell <17804673+mhallo@users.noreply.github.com>
Co-authored-by: nate nowack <thrast36@gmail.com>
Co-authored-by: Bill Easton <williamseaston@gmail.com>
Co-authored-by: Marcus Shu <46469249+shulkx@users.noreply.github.com>
Co-authored-by: Rushabh Doshi <radoshi@gmail.com>
Co-authored-by: AIKAWA Shigechika <shige@aikawa.jp>
Co-authored-by: Jeremy Simon <simonjer805@gmail.com>
Co-authored-by: Miguel Miranda Dias <7780875+pandego@users.noreply.github.com>
Co-authored-by: Anthony James Padavano <padavano.anthony@gmail.com>
Co-authored-by: Mostafa Kamal <hiremostafa@gmail.com>
Fix auto-close MRE script posting comment without closing (#3386 )
Fix WorkOS token scope verification bypass 🤖 Generated with Codex (#3407 )
Fix initialize McpError fallthrough 🤖 Generated with Codex (#3413 )
Fix transform arg collisions with passthrough params (#3431 )
Fix get_* returning None when latest version is disabled (#3439 )
Fix get_* returning None when latest version is disabled (#3421 )
Fix server lifespan overlap teardown (#3415 )
Fix $ref output schema object detection regression (#3420 )
resolved annotations (#3429 )
Fix async partial callables rejected by iscoroutinefunction (#3438 )
Fix async partial callables rejected by iscoroutinefunction (#3423 )
fix: add version to components (#3458 )
fix: use intent-based flag for OIDC scope patch in load_access_token (#3465 )
Fixes #3461
fix: normalize Google scope shorthands and surface valid_scopes (#3477 )
fix: resolve ty 0.0.23 type-checking errors and bump pin (#3481 )
fix: shield lifespan teardown from cancellation (#3480 )
fix: forward custom_route endpoints from mounted servers (#3462 )
fix updates _get_additional_http_routes() to traverse providers,
Fixes #3457
fix: remove hardcoded version from CLI help text (#3456 )
fix: monty 0.0.8 compatibility, drop external_functions from constructor (#3468 )
fix: task test teardown hanging 5s per test (#3499 )
Closes #3498
fix: validate workspace path is a directory before cursor install (#3440 )
Fixes #3426
fix: handle re.error from malformed URI templates in build_regex (#3501 )
fix: reject empty/OIDC-only required_scopes in AzureProvider (#3503 )
fix: restrict $ref resolution to local refs only (SSRF/LFI) (#3502 )
fix warnings and timeouts (#3504 )
close upgrade check issue when build passes (#3505 )
Closes #3484
fix: URL-encode path params to prevent SSRF/path traversal (GHSA-vv7q-7jx5-f767) (#3507 )
fix: prevent path traversal in skill download (#3493 )
fix: prefer IdP-granted scopes over client-requested scopes in OAuthProxy (#3492 )
fix: remove unrelated transform and http.py changes from PR scope
fix: remove forced follow_redirects from httpx_client_factory calls (#3496 )
fix: stop passing follow_redirects to httpx_client_factory
fix: restore follow_redirects=True for custom httpx client factories
Closes #3509
fix: CSRF double-submit cookie check in consent flow (#3519 )
fix: validate server names in install commands (#3522 )
fix: use raw strings for regex in pytest.raises match (#3523 )
fix: reject refresh tokens used as Bearer access tokens (#3524 )
fix: route ResourcesAsTools/PromptsAsTools through server middleware (#3495 )
fix: resolve Pyright "Module is not callable" on @tool, @resource, @prompt decorators (#3540 )
fix: filter warnings by message in KEY_PREFIX test (#3549 )
fix: suppress output schema for ToolResult subclass annotations (#3548 )
fix: increase sleep duration in proxy cache tests (#3567 )
fix: store absolute token expiry to prevent stale expires_in on reload (#3572 )
fix: preserve tool properties named 'title' during schema compression (#3582 )
Fix loopback redirect URI port matching per RFC 8252 §7.3 (#3589 )
Fix app tool routing: visibility check and middleware propagation (#3591 )
Fix query parameter serialization to respect OpenAPI explode/style settings (#3595 )
Fix dev apps form: union types, textarea support, JSON parsing (#3597 )
fix(google): replace deprecated /oauth2/v1/tokeninfo with /oauth2/v3/userinfo (#3603 )
fix: resolve EntraOBOToken dependency injection through MultiAuth (#3609 )
fix(docs): correct misleading stateless_http header (#3622 )
fix: filesystem provider import machinery (#3626 )
Closes #3625 (issues 2, 3, 6)
fix: recover StdioTransport after subprocess exits (#3630 )
fix(server): preserve mounted tool task metadata (#3632 )
fix: scope deprecation warning filter to FastMCPDeprecationWarning (#3649 )
fix imports, add PrefabAppConfig (#3650 )
fix: resolve CurrentFastMCP/ctx.fastmcp to child server in mounted background tasks (#3651 )
Fix blocking docs issues: chart imports, Select API, Rx consistency (#3652 )
closed by default (#3657 )
Fix prompt caching middleware missing wrap/unwrap round-trip (#3666 )
fix: serialize object query params per OpenAPI style/explode rules (#3662 )
Fixes #2857
fix: HTTP request headers not accessible in background task workers (#3631 )
fix: restore HTTP headers in worker execution path for background tasks (#3681 )
fix: strip discriminator after dereferencing schemas (#3682 )
fix: remove stale ty:ignore directives for ty 0.0.26 (#3684 )
Fix docs gaps in app provider pages (#3690 )
fix: dev apps log panel UX improvements (#3698 )
fix dev server empty string args (#3700 )
2026-03-30 16:48:30 -04:00
Jeremiah Lowin
c349bd9e25
Remove stale add_resource() key parameter from docs ( #3309 )
...
The `key` parameter was removed from `add_resource()` in the 2.x era and no longer exists in the implementation. Removes all references and the "Custom Resource Keys" section from both the current and v2 docs.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Nc1qEJ1rKaRRxB5h6Qu5V3
Co-authored-by: Claude <noreply@anthropic.com>
2026-02-26 16:10:02 -05:00
Jeremiah Lowin
a2efd686a9
Normalize repo references to PrefectHQ/fastmcp casing ( #3218 )
2026-02-18 14:51:18 -05:00
Jeremiah Lowin
9b248a15b3
Update repository references for transfer to prefecthq ( #3207 )
...
* Update repository references from jlowin/fastmcp to prefecthq/fastmcp
* Retrigger CI after repo transfer
* chore: Update SDK documentation
* Only run deep triage on bug issues for jlowin
---------
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-18 10:33:56 -05:00
Jeremiah Lowin
3df38584cf
Fix broken documentation links ( #2952 )
2026-01-19 23:17:29 -05:00
Jeremiah Lowin
0e4d519c86
Rename Enabled transform to Visibility ( #2950 )
2026-01-19 20:46:58 -05:00
Jeremiah Lowin
84d7d3b281
Support plural names/keys in enable/disable API
...
Change enable() and disable() to accept sets: names, keys, tags.
Use key-based disable for decorator enabled=False to scope exactly.
2026-01-18 14:58:29 -05:00
Jeremiah Lowin
50ba6ea5a4
Refactor visibility to mark-based enabled system
...
Rename Visibility to Enabled, collapse VisibilityRule into the transform,
and move enabled filtering from Provider to Server level so server-level
transforms can override provider-level disables.
2026-01-18 14:36:33 -05:00
Jeremiah Lowin
a6cd764b5f
Add component versioning and VersionFilter transform ( #2894 )
2026-01-16 20:53:18 -05:00
Jeremiah Lowin
8c471a499d
Run sync tools/resources/prompts in threadpool automatically ( #2865 )
2026-01-13 11:03:05 -05:00
Jeremiah Lowin
1b723f302d
Decorators return functions instead of component objects ( #2856 )
2026-01-12 21:58:07 -05:00
Jeremiah Lowin
648684d2bb
Introduce ResourceResult as canonical resource return type ( #2734 )
2025-12-25 21:21:55 -05:00
Jeremiah Lowin
4de06d7f73
Fix documentation to use 'meta' instead of '_meta' for MCP spec field ( #2735 )
2025-12-25 21:05:11 -05:00
Jeremiah Lowin
1d17334803
Reorganize docs around provider architecture ( #2723 )
2025-12-25 09:00:20 -05:00
Jeremiah Lowin
5f3bb05f99
Revert "Revert "Refactor resource behavior and add meta support ( #2598 )" ( #2609 )" ( #2611 )
...
This reverts commit 1efc4bc3ff .
2025-12-14 21:36:40 -05:00
Jeremiah Lowin
1efc4bc3ff
Revert "Refactor resource behavior and add meta support ( #2598 )" ( #2609 )
...
This reverts commit 12f2422e18 .
2025-12-13 15:02:18 -05:00
Jeremiah Lowin
12f2422e18
Refactor resource behavior and add meta support ( #2598 )
...
* feat: make ResourceContent the canonical internal type for resources
Add Resource._read() private method that always returns ResourceContent,
maintaining backwards compatibility for custom resources returning str/bytes
from read(). Includes deprecation warning when str/bytes is returned.
* fix: address review feedback for ResourceContent
- Remove ResourceContent from root exports (import from fastmcp.resources)
- Fix FunctionResource.read() return type to str | bytes | ResourceContent
- Decode base64 blobs in proxy when receiving from remote servers
- Preserve meta in ProxyResource cached content
* fix: add empty result guards in proxy resource reads
2025-12-13 11:45:38 -05:00
Jeremiah Lowin
83085c3cd3
Fix version badges for icons and website_url; add Discord example ( #2509 )
...
* Fix version badges and remove redundant badges from Discord doc
* Add Discord OAuth example
2025-12-01 13:39:43 -05:00
Jeremiah Lowin
6f627b58fd
Implement icon support ( #2121 )
...
* Implement icon support in fastmcp
* Fix icon feature tests
- Update snapshot for ResourceTemplate to include icons field
- Remove OAuth mounting tests (belong to PR #2119 , not this feature)
* Update docs
2025-10-17 17:28:08 -04:00
Jeremiah Lowin
35a8c32f61
Add RFC 6570 query parameter support to resource templates ( #1971 )
2025-09-30 16:28:09 -04:00
Jeremiah Lowin
1447e0275a
Update resources.mdx ( #1334 )
2025-08-01 17:06:42 -04:00
Jeremiah Lowin
3fc2510110
Add meta parameter support to tools, resources, templates, and prompts decorators ( #1294 )
2025-07-29 17:16:05 -04:00
Jeremiah Lowin
0691701951
Add _fastmcp meta namespace ( #1290 )
2025-07-29 15:07:53 -04:00
Jeremiah Lowin
160d50e3a5
Update documentation
2025-07-28 17:42:23 -04:00
Jeremiah Lowin
a01beb4e1c
Add annotations docs ( #1268 )
2025-07-25 18:47:04 -04:00
Jeremiah Lowin
38036b1f42
Add automatic MCP list change notifications and client message handling
...
Implements comprehensive notification system for tools, resources, and prompts with automatic client updates and flexible message handlers.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 22:33:06 -04:00
Jeremiah Lowin
44f14b1f7b
Clean up parameter documentation
2025-06-22 20:59:53 -04:00
Jeremiah Lowin
1adca653e3
Update overview
...
Co-Authored-By: Claude <claude@users.noreply.github.com>
2025-06-22 13:23:52 -04:00
Jeremiah Lowin
233c4fb3fb
Add docs
2025-06-10 11:06:31 -04:00
Jeremiah Lowin
53b067b4e7
Make error masking configurable
2025-05-22 09:08:16 -04:00
Jeremiah Lowin
6fa7c1704a
Improve error handling for tools and resources
2025-05-13 14:19:55 -04:00
Jeremiah Lowin
c449f1d697
Handle args/kwargs appropriately for various objects
2025-05-04 15:00:26 -04:00
Jeremiah Lowin
eefaadee34
Update docs for context
2025-04-25 21:11:14 -04:00
Jeremiah Lowin
3f793d541c
minor docs updates
2025-04-25 18:32:24 -04:00
Jeremiah Lowin
466c1a42f7
Update note
2025-04-25 16:12:23 -04:00
Jeremiah Lowin
d71ae13a2d
Update wildcards to 2.2.4
2025-04-25 15:52:23 -04:00
Jeremiah Lowin
4e650dedf5
Update resources.mdx
2025-04-25 14:34:56 -04:00
Jeremiah Lowin
9b20e8a6b0
update version badges
2025-04-24 20:27:27 -04:00
Jeremiah Lowin
4e076c7c8f
Add wildcard params
2025-04-24 15:01:36 -04:00
Jeremiah Lowin
ccff9f4bd2
update docs
2025-04-15 10:10:11 -04:00
Jeremiah Lowin
2340975232
update docs
2025-04-15 09:40:25 -04:00
Jeremiah Lowin
6e309e1354
Fix bug with duplicate behavior == ignore
2025-04-15 09:33:23 -04:00
Jeremiah Lowin
efec36f45d
Update resources.mdx
2025-04-15 01:23:28 -04:00
Jeremiah Lowin
65c273a65b
Update docs
2025-04-15 01:20:51 -04:00
Jeremiah Lowin
649329351b
permit optional resource template args
2025-04-15 01:17:59 -04:00
Jeremiah Lowin
753c993bb7
Add docs
2025-04-13 11:19:31 -04:00