Commit graph

606 commits

Author SHA1 Message Date
Jeremiah Lowin
0adb317361
Ensure proxy components forward meta dicts (#1282) 2025-07-29 10:34:41 -04:00
Jeremiah Lowin
6125b1ebfc
Improve OpenAPI-to-JSONSchema conversion utilities (#1283) 2025-07-28 21:02:03 -04:00
Jeremiah Lowin
52a0fc078a
Fix nullable field handling in OpenAPI to JSON Schema conversion (#1279)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-28 20:31:23 -04:00
Jeremiah Lowin
337cd41f5f Sort tags for deterministic output 2025-07-28 18:11:32 -04:00
Jeremiah Lowin
eda798fa0a Note that OpenAPI components automatically load tags 2025-07-28 18:06:24 -04:00
Jeremiah Lowin
a41aba3486 Add tags to meta 2025-07-28 17:38:18 -04:00
William Easton
3be8f5ea93
Add UV Transport (#1270)
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-07-28 15:41:36 -04:00
Muhammad Khalid
a63d44576b
Fix: prune hidden parameter defs (#1257) 2025-07-28 14:00:56 -04:00
Jeremiah Lowin
07655e6620
Fix typing, add tests for tool call middleware (#1269) 2025-07-25 18:46:48 -04:00
Tapan Chugh
51ceb23291
feat: Add Annotations support for resources and resource templates (#1260)
Co-authored-by: Tapan Chugh <tapanc@cs.washington.edu>
2025-07-25 15:16:15 -04:00
Jeremiah Lowin
d043511370
Add tests for headers with both legacy and experimental openapi parser (#1259) 2025-07-25 15:11:17 -04:00
itaru2622
99f27da088
fix: experimental FastMCPOpenAPI server lost headers in request when __init__(client with headers) (#1254) 2025-07-25 11:04:41 -04:00
Jeremiah Lowin
d04840560a
Support string annotations (#1255) 2025-07-24 14:28:58 -04:00
hopeful0
40f11d2186
Fix stateful proxy client mixing in multi-proxies sessions (#1245) 2025-07-23 15:39:50 -04:00
hopeful0
ca74b44d62
Refactor get_http_request and context.session_id (#1242) 2025-07-23 10:05:46 -04:00
William Easton
653fe0f89f
Log tool name on transform validation error (#1238) 2025-07-23 09:56:17 -04:00
Sourav Tripathy
126dd7b16a
Logcapture addition to test_server file (#1229) 2025-07-22 13:49:49 -04:00
Mukul Murthy
544bc22baa
Add state dict to Context (#1118) (#1160)
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-07-22 10:03:33 -04:00
Jeremiah Lowin
72fb8d4ce9
Ensure default fields are not marked nullable (#1224) 2025-07-22 09:14:15 -04:00
Tapan Chugh
1da1eb581a
Skip repeated type conversion and validation in proxy client elicitation handler (#1222)
Co-authored-by: Tapan Chugh <tapanc@cs.washington.edu>
2025-07-22 08:08:39 -04:00
Jeremiah Lowin
d6bd800d88
Optimize OpenAPI parser performance with single-pass schema processing (#1214) 2025-07-21 21:29:56 -04:00
Jeremiah Lowin
4a38784194
Introduce experimental OpenAPI parser with improved performance and maintainability (#1209) 2025-07-21 16:17:36 -04:00
Jeremiah Lowin
f950b8ca95
Support from __future__ import annotations (#1199) 2025-07-20 21:05:13 -04:00
Jeremiah Lowin
1ea3ee82fe
Merge pull request #1138 from strawgate/run-mcp-config 2025-07-19 21:18:40 -04:00
Jeremiah Lowin
a65bfd10be
Add --python, --project, and --with-requirements options to CLI commands (#1190) 2025-07-19 21:16:09 -04:00
Jeremiah Lowin
c9255f483f Add validation test 2025-07-19 16:11:14 -04:00
Jeremiah Lowin
d8779d2c2e Merge branch 'main' into pr/1138 2025-07-19 16:04:43 -04:00
William Easton
1b953820b3
[🐶] Transform MCP Server Tools (#1132)
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-07-19 15:52:47 -04:00
Jeremiah Lowin
b737fda44f
Merge pull request #1188 from jlowin/separate-integration-tests 2025-07-19 15:52:26 -04:00
hopeful0
85ebe5b657
Add StatefulProxyClient (#1109) 2025-07-19 15:51:58 -04:00
Jeremiah Lowin
30912c69c6 Run integration tests as separate CI job on Ubuntu only
- Add pytest marker for integration tests
- Configure automatic marking for tests/integration_tests/ folder via pytest hook
- Split CI workflow into two jobs: regular tests (all platforms) and integration tests (Ubuntu only)
- Integration tests can now be retried independently if they fail
2025-07-19 15:21:34 -04:00
Jeremiah Lowin
ea54851736
Fix mcp-json output format to include server name (#1185)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-19 13:31:11 -04:00
zzstoatzz
ce49880aeb fix missing import 2025-07-18 15:27:52 -05:00
nate nowack
283bf68550
Update tests/integration_tests/conftest.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-18 15:19:24 -05:00
zzstoatzz
163db94266 more specific 2025-07-18 11:19:18 -05:00
zzstoatzz
1e473cd0ef skip on rate limit 2025-07-18 11:10:26 -05:00
Martin Melka
3543c13ca9
Fix nesting when making OpenAPI arrays and objects optional (#1178) 2025-07-18 08:26:42 -04:00
Aidan
ebe817601c
add server name to mounted server warnings (#1147) 2025-07-17 12:02:30 -07:00
nate nowack
0977d552ff
Fix tool output schema generation to respect Pydantic serialization aliases (#1148)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-15 07:08:56 -07:00
Johannes Maron
7966514a86
Resolve #1139 -- Implement include_context argument in Context.sample (#1141) 2025-07-15 07:01:41 -07:00
William Easton
7532e1a8ee
update for windows? 2025-07-13 15:52:24 -05:00
William Easton
22b578ba11
Merge branch 'main' into run-mcp-config 2025-07-13 15:24:24 -05:00
William Easton
c6501c1060
Support running fastmcp directly with an MCPConfig 2025-07-13 15:19:57 -05:00
Jeremiah Lowin
7ce0a59ea6
Fix optional parameter validation in OpenAPI integration (#1135)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-13 10:23:56 -04:00
Jeremiah Lowin
9326cb91db Fix title field preservation in tool transformations
Add title parameter to Tool.from_tool() and TransformedTool.from_tool()
to properly inherit or override title field when transforming tools.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 09:53:49 -04:00
Jeremiah Lowin
b853bb85f9 Expand empty parameter filtering and add tests
Builds on PR #1128 by adding comprehensive filtering at parameter selection stage and test coverage for empty arrays/dicts.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 09:25:05 -04:00
Jeremiah Lowin
767de312f9
Fix middleware list result types (#1125)
* Catch more openapi changes

* Simplify middleware list operations to use lists directly

- Updated middleware signatures to work with list[Tool], list[Resource], etc instead of wrapper objects
- Removed unnecessary ListToolsResult, ListResourcesResult wrapper types
- Updated documentation to show simpler list-based filtering pattern
- Added tests for list-based middleware filtering

Closes #1121

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-11 18:04:20 -04:00
Magnus
912bba2385
fix: replace oneOf with anyOf in OpenAPI schemas to handle overlapping unions (#1119)
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2025-07-11 13:31:45 -04:00
Jeremiah Lowin
ce1a85ceaf
xfail when github token is not set (#1123) 2025-07-11 12:55:45 -04:00
Jeremiah Lowin
b0f45a85c4
Fix OpenAPI deepObject style parameter encoding (#1122)
* Fix OpenAPI deepObject style parameter encoding

Add support for deepObject style with explode=true to properly serialize
object parameters using bracket notation (param[key]=value) instead of
JSON strings. Fixes #1114.

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

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

* Create README_OPENAPI.md

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-11 12:50:19 -04:00