Commit graph

3,289 commits

Author SHA1 Message Date
hopeful0
85ebe5b657
Add StatefulProxyClient (#1109) 2025-07-19 15:51:58 -04:00
Jeremiah Lowin
1f06f413cb Merge branch 'main' into separate-integration-tests 2025-07-19 15:49:13 -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
06b291365e
Only configure logging one time (#1187) 2025-07-19 15:21:08 -04:00
Jeremiah Lowin
5898450284 Only configure logging one time 2025-07-19 15:08:47 -04:00
Jeremiah Lowin
1c20ad77c9
Remove deprecated proxy creation (#1186) 2025-07-19 13:37:46 -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
Jeremiah Lowin
c02be184ee
Merge pull request #1182 from jlowin/update-api-ref 2025-07-19 10:48:40 -04:00
nate nowack
dfc1a81e33
Merge pull request #1183 from jlowin/fix-tests
skip on rate limit
2025-07-18 15:30:20 -05: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
zzstoatzz
c289f17217 update api ref for new mdxify version 2025-07-18 10:19:16 -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
Ka
ceb8d85826
feat(settings): add log level normalization (#1171) 2025-07-17 12:01:03 -07:00
itaru2622
eca3174922
fix: _replace_ref_with_defs; ensure ref_path is string, because some REST servers use "$ref" as property name of schema. (#1164) 2025-07-17 11:46:23 -07:00
Jeremiah Lowin
5fc7aa04aa
Update README.md (#1165) 2025-07-16 10:16:27 -07:00
tommitt
13dd2bfa0c
Upgrade Eunomia authorization docs (#1144) 2025-07-15 07:09:29 -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
nate nowack
64d469be98
Add no-commit-to-branch hook to prevent direct commits to main (#1149)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-15 07:03:56 -07:00
Johannes Maron
7966514a86
Resolve #1139 -- Implement include_context argument in Context.sample (#1141) 2025-07-15 07:01:41 -07:00
Martin Melka
5151f218cf
Do not silently exclude the "context" key from JSON body (#1153) 2025-07-15 06:59:37 -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
91903bcbe6
update docstring 2025-07-13 15:21:06 -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
c0b01ceb1f
Merge pull request #1131 from jlowin/fix-tool-transform-title-field 2025-07-12 09:56:09 -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
45228c5cfa
Merge pull request #1129 from jlowin/expand-empty-params-fix-1128 2025-07-12 09:35:35 -04:00
Jeremiah Lowin
e670ee708d
Merge branch 'main' into expand-empty-params-fix-1128 2025-07-12 09:29:34 -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
Fabrizio Sandri
21ee0d3ea7
Fix OpenAPI empty parameters (#1128) 2025-07-12 09:24:11 -04:00
FabrizioSandri
2fb7d15894 ruff format 2025-07-12 10:32:26 +02:00
FabrizioSandri
59516e4b65 Check for non empty array and dictionary parameter 2025-07-12 10:22:54 +02:00
Jeremiah Lowin
9f1964aeca
Update changelog.mdx (#1127) 2025-07-11 21:06:34 -04:00
Jeremiah Lowin
add07be347
Improve console width (#1126) v2.10.5 2025-07-11 18:13:46 -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
Jeremiah Lowin
cf1c9f5f46
Catch more openapi changes (#1124) 2025-07-11 14:17:53 -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
Jeremiah Lowin
e55c360389
Update github remote server tests with secret (#1112)
* Adding client tests for streamable http against official GitHub Remote MCP server

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update tests/client/test_github_mcp_remote.py

applying review suggestions

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update github server tests and move to integration

* Set GITHUB_TOKEN variable

* Revert "Set GITHUB_TOKEN variable"

This reverts commit a87d6a303a.

---------

Co-authored-by: Didier Durand <didduran@amazon.ch>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Didier Durand <durand.didier@gmail.com>
2025-07-10 10:48:42 -04:00
coldfire.x
1b92f3e421
Update proxy.mdx (#1108)
fix typo
2025-07-10 09:27:38 -04:00
Jeremiah Lowin
6248a51435
Add mirrored component support for proxy servers (#1105)
* Add mirrored component support for proxy servers

Prevents enable/disable operations on mirrored components (tools, resources, prompts retrieved from proxy servers). Users must create local copies with .copy() and add them to their server to modify them. Local components take precedence over mirrored ones.

Closes #1102

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

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

* Update proxy.mdx

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-09 19:02:07 -04:00
Jeremiah Lowin
4a42587afb
Merge pull request #1107 from jlowin/fix-openapi-parameter-collisions
Fix OpenAPI parameter name collisions with location suffixing
2025-07-09 19:01:27 -04:00
Jeremiah Lowin
5d95ddd8c0 Fix OpenAPI parameter name collisions with location suffixing
Resolves parameter conflicts when same name appears in path/query/header
and request body by adding double underscore suffixes (id__path, id__query).
Body parameters keep original names for natural REST API patterns.

Closes #1100

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 18:49:00 -04:00
Jeremiah Lowin
00da39f43c
Merge pull request #1106 from jlowin/fix-claude-code-detection
Fix Claude Code CLI detection for npm global installations
2025-07-09 18:09:17 -04:00