Commit graph python-sdk/src/mcp/server
Author SHA1 Message Date
Max
777b8d0671
[v1.x] Support TransportSecuritySettings in the WebSocket server transport (#2992)
Some checks failed
Main branch checks / checks (push) Has been cancelled
2026-06-26 13:31:33 +02:00
Max
6df3d73426
[v1.x] Buffer per-request StreamableHTTP streams; store priming event before dispatch (#2948) 2026-06-23 14:57:45 +01:00
Max
b8f491724c
[v1.x] Deprecate the WebSocket transport and the experimental tasks entry points (#2828) 2026-06-11 09:20:19 +01:00
Sheldon
2309e5ef97
fix: omit null optional fields from task result payloads (#2809)
Co-authored-by: Sheldon <neooosky@gmail.com>
2026-06-10 10:37:52 +01:00
Max
494eb11d36
[v1.x] Support Python 3.14 (#2769) 2026-06-03 11:27:55 +01:00
Max
62137874ff
[v1.x] Scope experimental tasks to the session that created them (#2720)
Some checks failed
Main branch checks / checks (push) Has been cancelled
2026-05-29 18:05:58 +01:00
Max
ce267b6fc5
[v1.x] Bind transport sessions to the authenticated principal (#2719) 2026-05-29 16:46:37 +00:00
Max
1abcca2408
[v1.x] Add subject and claims to AccessToken (#2690) 2026-05-26 15:49:44 +01:00
Max
8d4c2f5834
[v1.x] fix: catch PydanticUserError when generating output schema (pydantic 2.13 compat) (#2435) 2026-04-13 17:09:19 +01:00
Owen Devereaux
6524782667
[v1.x] fix: handle ClosedResourceError when transport closes mid-request (#2334)
Some checks failed
Main branch checks / checks (push) Has been cancelled
Co-authored-by: Owen Devereaux <owendevereaux@users.noreply.github.com>
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2026-03-24 22:24:47 +00:00
Max Isbey
2e9897e2b9
[v1.x] fix: handle non-UTF-8 bytes in stdio server stdin (#2303) 2026-03-17 18:40:43 +00:00
BabyChrist666
f8d98b63a7
Backport: Add missing TasksCallCapability to v1.x (#2137)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-03-02 12:56:24 +00:00
Felix Weinberger
23a615783e
feat: add idle timeout for StreamableHTTP sessions (#1994) 2026-02-18 10:34:18 +00:00
Luca Chang
3d9d34552a
[v1.x] fix: return HTTP 404 for unknown session IDs instead of 400 (#1945)
Some checks failed
Main branch checks / checks (push) Has been cancelled
Co-authored-by: Maxime <67350340+max-rousseau@users.noreply.github.com>
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2026-01-24 19:09:14 +00:00
Max Isbey
d891525958
Backport: Support for Resource and ResourceTemplate metadata (#1928)
Co-authored-by: Jacem Elwaar <jacem@mcpappsbuilders.com>
2026-01-22 14:02:25 +00:00
zenlytix
8ac0cab98c
Fix for Url Elicitation issue 1768 (#1780) 2025-12-15 18:58:17 +01:00
Anton Pidkuiko
8ac11ec604
fix: allow MIME type parameters in resource validation (RFC 2045) (#1755)
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-09 14:56:40 +00:00
Felix Weinberger
89ff338174
fix: skip priming events and close_sse_stream for old protocol versions (#1719)
Some checks failed
Main branch checks / checks (push) Has been cancelled
2025-12-04 14:44:08 +00:00
Edison
9ed0b93ceb
fix: handle ClosedResourceError in StreamableHTTP message router (#1384)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2025-12-04 11:36:23 +01:00
Paul Carleton
d3a184119e
Merge commit from fork
Some checks failed
Main branch checks / checks (push) Has been cancelled
* Auto-enable DNS rebinding protection for localhost servers

When a FastMCP server is created with host="127.0.0.1" or "localhost"
and no explicit transport_security is provided, automatically enable
DNS rebinding protection. Both 127.0.0.1 and localhost are allowed
as valid hosts/origins since clients may use either to connect.

* Add tests for auto DNS rebinding protection on localhost

Tests verify that:
- Protection auto-enables for host=127.0.0.1
- Protection auto-enables for host=localhost
- Both 127.0.0.1 and localhost are in allowed hosts/origins
- Protection does NOT auto-enable for other hosts (e.g., 0.0.0.0)
- Explicit transport_security settings are not overridden

* Add IPv6 localhost (::1) support for DNS rebinding protection

Extend auto-enable DNS rebinding protection to also cover IPv6
localhost. When host="::1", protection is now auto-enabled with
appropriate allowed hosts ([::1]:*) and origins (http://[::1]:*).

* Fix import ordering in test file
2025-12-02 13:23:55 +00:00
Felix Weinberger
fa851d93a2
feat: backwards-compatible create_message overloads for SEP-1577 (#1713) 2025-12-02 13:17:45 +00:00
Felix Weinberger
281fd4765e
Add SSE polling support (SEP-1699) (#1654) 2025-12-02 11:44:49 +00:00
Max Isbey
c92bb2f7ff
SEP-1686: Tasks (#1645) 2025-11-28 18:51:58 +00:00
Chris Coutinho
02b7889929
Implement SEP-1036: URL mode elicitation for secure out-of-band interactions (#1580)
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
2025-11-25 11:00:21 +00:00
Paul Carleton
27279bc157
Update doc string on custom_route (#1660) 2025-11-24 19:20:56 +00:00
Felix Weinberger
091afb82dc
Implement SEP-986: Tool name validation (#1655) 2025-11-24 16:46:57 +00:00
Tapan Chugh
b19fa6f279
SEP-1330: Elicitation Enum Schema Improvements and Standards Compliance (#1246)
Co-authored-by: Tapan Chugh <tapanc@cs.washington.edu>
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-11-23 23:32:08 +00:00
Olivier Chafik
71c475588f
Implement SEP-1577 - Sampling With Tools (#1594)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-22 23:58:14 -05:00
Jon Shea
c51936f61f
Add client_secret_basic authentication support (#1334)
Co-authored-by: Paul Carleton <paulc@anthropic.com>
2025-11-20 20:53:37 +00:00
Victorien
116c13e2c6
Refactor func_metadata() implementation (#1496) 2025-11-13 20:21:15 +00:00
Max Isbey
89e9c43acf
Get baseline 100% clean coverage (#1553) 2025-11-11 14:09:32 +01:00
adam jones
31ae5f4dc4
Relax Accept header requirement for JSON-only responses (#1500) 2025-10-27 17:46:04 +00:00
Brandon Shar
1200ba0082
Allow CallToolResult to be returned directly to support _meta field for OpenAI Apps (#1459)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-10-21 18:52:08 +00:00
Mat Leonard
98f82485bd
feat: add tool metadata in FastMCP.tool decorator (#1463)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-10-17 11:18:34 +00:00
daamitt
dcc68ce56b
fix: Set the Server session initialization state immediately after respond… (#1478)
Some checks failed
Main branch checks / checks (push) Has been cancelled
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-10-15 13:56:43 +01:00
Fenn Bailey
cd7253c593
feat: add resource annotations support to FastMCP (#1468) 2025-10-14 11:07:37 +01:00
AishwaryaKalloli
b4e50aa9f9
Handles message type Exception in lowlevel/server.py _handle_message function. Mentioned as TODO on line 528. (#786)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-10-13 14:29:03 +01:00
Brandon Wu
b8e758b02b
feat: add ability to remove tools (#1322)
Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-06 14:16:50 +01:00
Marcus Shu
df3e428ee8
Improve OAuth protected resource metadata URL construction per RFC 9728 (#1407) 2025-10-06 13:52:44 +01:00
Peter Alexander
3e798bfc01
Add icons support for ResourceTemplate (#1412)
Some checks failed
Main branch checks / checks (push) Has been cancelled
2025-10-01 13:23:46 +01:00
automaton82
9323efad99
Issue 1379 patch - Fix MCP server OAuth not working with Visual Studio Code and others with extra grant_types (#1380) 2025-09-29 11:13:16 +01:00
Jon Shea
1940040ac3
Accept additional response_types values from OAuth servers (#1323) 2025-09-26 20:29:06 +01:00
Peter Alexander
71889d7387
Implementation of SEP 973 - Additional metadata + icons support (#1357)
Some checks failed
Main branch checks / checks (push) Has been cancelled
2025-09-24 20:29:04 +01:00
Mike Salvatore
7629fe6b97
Remove "unconditionally" from conditional description (#1289) 2025-09-23 17:13:26 +01:00
Max Isbey
4fb975c6dc
feat: add paginated list decorators for prompts, resources, and tools (#1286)
Co-authored-by: Claude <noreply@anthropic.com>
2025-09-23 14:58:06 +01:00
Peter Alexander
7e93a9fc19
Return HTTP 403 for invalid Origin headers (#1353) 2025-09-22 16:44:51 +01:00
owengo
b41b9175e8
fix: allow elicitations accepted without content (#1285)
Co-authored-by: Olivier Schiavo <olivier.schiavo@wengo.com>
2025-09-17 15:34:15 +01:00
pchoudhury22
ca5cb4cb67
fix(fastmcp): propagate mimeType in resource template list (#1186)
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-09-17 14:50:41 +01:00
David Soria Parra
c3717e7ad3
Fix context injection for resources and prompts (#1336)
Some checks failed
Main branch checks / checks (push) Has been cancelled
2025-09-11 14:30:06 +01:00
Christian Clauss
c47c767ff4
Python lint: Ruff rules for pylint and code complexity (#525) 2025-09-05 15:20:14 +01:00