Commit Graph

232 Commits

Author SHA1 Message Date
Max Isbey 9853ce73ce Replace integration test with proper unit tests for config generation
The test_command_execution test was an integration test disguised as a unit
test. It executed external commands (uv run) which caused several problems:
- Modified uv.lock file as a side effect
- Required external dependencies (uv binary, network access)
- Was slow and potentially flaky
- Tested the wrong layer (uv CLI instead of config generation)

Replaced with 15 comprehensive unit tests that properly test the
update_claude_config function's actual responsibilities:
- JSON structure generation
- Argument array construction
- Path resolution to absolute paths
- Environment variable merging
- Package deduplication
- Server preservation and updates
- Error handling

Benefits:
- Fast: runs in ~1.5s vs several seconds
- No external dependencies or side effects
- Tests the correct abstraction layer
- Better coverage of edge cases
- More maintainable and reliable
2025-11-06 16:26:58 +00:00
Chris Coutinho 3390e49c01 Implement SEP-985: OAuth Protected Resource Metadata discovery fallback (#1548)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Paul Carleton <paulc@anthropic.com>
2025-11-05 15:51:02 +00:00
Luca Chang f161149680 Implement RFC 7523 JWT flows (#1247)
Co-authored-by: Yann Jouanin <yann.jouanin@valueandco.com>
2025-10-29 16:48:08 +00:00
Max Isbey db9e451551 fix: Replace remaining manual server polling with wait_for_server helper (#1529) 2025-10-29 11:27:57 +00:00
Max Isbey c44e68f766 Fix flaky timeout test in test_88_random_error (#1525) 2025-10-28 14:45:25 -07:00
Max Isbey 3e86edfb2f fix: Replace arbitrary sleeps with active server readiness checks in tests (#1527)
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-28 21:42:33 +00:00
Max Isbey f97f7c4a7d fix: Replace fixed sleep with active server readiness check in SSE tests (#1526) 2025-10-28 19:49:13 +00:00
adam jones 31ae5f4dc4 Relax Accept header requirement for JSON-only responses (#1500) 2025-10-27 17:46:04 +00:00
mingo007 b7e4ae7542 test: use errno.ENOENT for command not found assertion (#1498) 2025-10-23 16:30:50 -07: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
Samuel Felipe Chenatti 40acbc596c Expose RequestParams._meta in ClientSession.call_tool (#1231)
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-10-17 17:57:56 +01: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)
Main branch checks / checks (push) Failing after 0s
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-10-15 13:56:43 +01:00
Felix Weinberger de89457683 fix: send params as empty object for list methods without cursor (#1453) 2025-10-14 11:11:38 +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
Dogacan Colak 0e29cc4130 [client] Implement MCP OAuth scope selection and step-up authorization (#1324) 2025-10-13 14:18:00 +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)
Main branch checks / checks (push) Failing after 0s
2025-10-01 13:23:46 +01:00
Lorenzo d648a31359 fix: improve misleading warning for progress callback exceptions (#775) 2025-09-30 14:39:52 +01:00
Peter Alexander 80c0d23d48 Update Icon.sizes to use string array format (#1411) 2025-09-29 14:27:32 +01:00
Peter Alexander 60f4b2d10a Add comprehensive Unicode tests for streamable HTTP transport (#1381) 2025-09-29 14:09:33 +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)
Main branch checks / checks (push) Failing after 1s
2025-09-24 20:29:04 +01:00
Tapan Chugh b85e7bd1a9 feat: Add SDK support for SEP-1034 default values in elicitation schemas (#1337)
Co-authored-by: Tapan Chugh <tapanc@cs.washington.edu>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-09-24 16:33:45 +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
Yann Jouanin 20596e5f41 Add test for ProtectedResourceMetadataParsing (#1236)
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-09-23 12:48:21 +01:00
Peter Alexander 7e93a9fc19 Return HTTP 403 for invalid Origin headers (#1353) 2025-09-22 16:44:51 +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)
Main branch checks / checks (push) Failing after 0s
2025-09-11 14:30:06 +01:00
Eleftheria Stein-Kousathana 47d35f0b3c Allow ping requests before initialization (#1312) 2025-09-01 22:37:36 +01:00
jess 1644b822b3 changes structured temperature to not deadly (#1328) 2025-08-31 23:09:49 +00:00
Sreenath Somarajapuram 07ae8c0d4e types: Setting default value for method: Literal (#1292) 2025-08-26 16:22:56 +01:00
Justin Wang 9c6fd15a88 SDK Parity: Avoid Parsing Server Response for non-JsonRPCMessage Requests (#1290) 2025-08-26 16:14:47 +01:00
San Nguyen eaf7cf41d5 fix: error too many values to unpack (expected 2) (#1279)
Signed-off-by: San Nguyen <vinhsannguyen91@gmail.com>
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-08-23 21:36:39 +01:00
keurcien e750a06a99 fix: avoid uncessary retries in OAuth authenticated requests (#1206)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
2025-08-22 11:45:54 +01:00
xavier f4b2957a20 Added Audio to FastMCP (#1130) 2025-08-22 11:45:38 +01:00
David Soria Parra 0926613714 Update dependencies and fix type issues (#1268)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2025-08-14 10:40:47 +01:00
Marcelo Trylesinski c7671e470c Add pyright strict mode on the whole project (#1254) 2025-08-11 18:56:37 +01:00
joesavage-silabs ef4e167c1a Remove strict validation on response_modes_supported member of OAuthMetadata (#1243)
Main branch checks / checks (push) Failing after 1s
2025-08-07 18:39:35 +01:00
Marcelo Trylesinski 959d4e39ae Unpack settings in FastMCP (#1198)
Main branch checks / checks (push) Failing after 0s
2025-07-26 10:37:48 +02:00
lukacf b34e7207ad server: skip duplicate response on CancelledError (#1153)
Co-authored-by: ihrpr <inna@anthropic.com>
2025-07-25 10:16:13 +01:00
Luca Chang 35777b9811 fix: perform auth server metadata discovery fallbacks on any 4xx (#1193)
Main branch checks / checks (push) Failing after 1s
2025-07-24 11:32:35 +01:00
Clare Liguori 6a84a2f79f fix: fix OAuth flow request object handling (#1174)
Main branch checks / checks (push) Failing after 2s
2025-07-21 13:36:21 +01:00
Marcelo Trylesinski 7570ba30cf Make sure RequestId is not coerced as int (#1178) 2025-07-21 10:57:47 +01:00
Inna Harper 0b1b52ba45 fix flaky test test_88_random_error (#1171) 2025-07-18 16:21:33 +01:00
Luca Chang 99c4f3c906 Support falling back to OIDC metadata for auth (#1061)
Main branch checks / checks (push) Failing after 1s
2025-07-17 20:06:38 +01:00
Inna Harper 813da6a579 fix flaky fix-test_streamablehttp_client_resumption test (#1166) 2025-07-17 18:35:40 +01:00