Jeremiah Lowin
6584750667
Fix external schema reference handling in OpenAPI parser
...
Previously, external schema references (URLs) in OpenAPI schemas were
silently passed through and only failed during JSON schema validation
with confusing "failed to match exactly one schema" errors.
This change:
- Detects external references in _replace_ref_with_defs() and raises clear error messages
- Updates exception handlers to propagate external reference errors while preserving other error handling
- Adds comprehensive test coverage for external reference detection
- Provides helpful error messages explaining that FastMCP only supports local schema references
Fixes #926
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:25:06 -04:00
Jeremiah Lowin
8506f78453
Fix event loop conflict in inspect CLI command
...
Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 20:04:39 -04:00
Jeremiah Lowin
6a3a3077b7
Add fastmcp inspect command with detailed server analysis
...
- Add comprehensive server inspection utility supporting both FastMCP 1.x and 2.x
- Create detailed info dataclasses for tools, prompts, resources, and templates
- Implement CLI command with path:object notation and JSON output
- Add version reporting (fastmcp_version, mcp_version, server_version)
- Include comprehensive unit tests for utilities and CLI
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 16:40:54 -04:00
Jeremiah Lowin
337c2f8db5
Merge pull request #897 from owtaylor/openapi-recursive-components
2025-06-20 18:43:27 -04:00
Owen W. Taylor
14d1b8a94d
openapi: Rewrite recursive #/components/schemas/ references
...
When a schema referenced another schema as #/components/schemas/...
that wasn't properly rewritten into #/$defs/..
2025-06-20 14:34:47 -04:00
Owen W. Taylor
bbf8165636
openapi: Improve pruning of unused defs
...
Defs that are used only by other unused defs were counted as
used. Fix this by tracing what defs use other defs recursively.
2025-06-20 14:34:41 -04:00
Jeremiah Lowin
fbe2fc3533
Add transport handling for trailing slashes
2025-06-20 13:12:23 -04:00
Jeremiah Lowin
18ae625fef
Update docs and test
2025-06-20 13:06:48 -04:00
Goro
4c60119767
Add missing tests
2025-06-16 08:10:34 +02:00
Goro
57e0b03711
Run pre-commit and fix typing issues
2025-06-16 07:12:41 +02:00
Goro
d2b2243957
Add file utility type and tests
2025-06-16 00:23:11 +02:00
Jeremiah Lowin
06dcff3b3b
Add tests
2025-06-14 09:22:29 -04:00
Jeremiah Lowin
6dc2bd7ca2
Merge branch 'main' into settings
2025-06-10 12:02:39 -04:00
Jeremiah Lowin
47b2c58134
Merge branch 'main' into transform-tools-2
2025-06-09 17:24:23 -04:00
Jeremiah Lowin
6fbb555962
Support remote auth in mcpconfig
2025-06-07 21:39:57 -04:00
Jeremiah Lowin
aaa09ca7a3
Remove open-ended and server-specific settings
2025-06-07 20:20:04 -04:00
Jeremiah Lowin
23617c9c72
Use ellipsis default
2025-06-07 16:58:59 -04:00
William Easton
93a7255f7a
Make the type checker less sad
2025-06-05 23:02:40 -05:00
Jeremiah Lowin
31fd9abee0
Remove DecoratedFunction
2025-06-05 09:18:39 -04:00
Jeremiah Lowin
d1549c3d35
Remove empty parens
2025-06-04 15:37:55 -04:00
Jeremiah Lowin
a8c309f59f
Make sure tests are atomic
2025-06-04 10:29:25 -04:00
ShiWei
82a987b900
add tests for _replace_ref_with_defs
2025-06-04 09:23:37 +08:00
ShiWei
6baa906813
replace nested requestBody's #/components/ with
2025-06-04 08:54:55 +08:00
Jeremiah Lowin
f1e3713fc6
Update test typing
2025-05-31 20:41:18 -04:00
Jeremiah Lowin
794ef3f114
Match functions and methods
2025-05-23 19:00:54 -04:00
Jeremiah Lowin
213abc4244
Pass client headers through to OpenAPI client
2025-05-23 12:38:24 -04:00
Jeremiah Lowin
d618f9151b
add transport to stdio server in mcpconfig, with default
2025-05-22 11:25:25 -04:00
Jeremiah Lowin
fa1c94ccdc
Support creating clients from mcpconfig
2025-05-20 20:48:16 -04:00
Jeremiah Lowin
f5cddc3219
Formalize MCP Config
2025-05-20 17:43:32 -04:00
Jeremiah Lowin
44a7f10ee6
prune titles from jsonschemas
2025-05-14 15:28:16 -04:00
Jeremiah Lowin
e4eaa9890b
ensure all json schemas are compressed
2025-05-14 14:20:18 -04:00
Jeremiah Lowin
ff318e655d
Add reprs for OpenAPI objects
2025-05-14 13:42:20 -04:00
Jeremiah Lowin
7c257a481f
Merge pull request #388 from didier-durand/add-test-cache
...
Adding tests for TimedCache
2025-05-09 18:08:23 -04:00
Jeremiah Lowin
3ccf27930f
Fix typing and static issues
2025-05-09 18:06:51 -04:00
Didier Durand
31f07d8ddf
Adding tests for TimedCache
2025-05-09 18:15:47 +02:00
Didier Durand
f8130cc22f
Adding a few tests to Image type
2025-05-09 18:00:00 +02:00
Jeremiah Lowin
112b91f521
create a setting for legacy parsing
2025-05-06 13:21:38 -04:00
Jeremiah Lowin
55e62a0c63
Update test_types.py
2025-05-04 14:34:37 -04:00
Jeremiah Lowin
49d7bc92ff
Update test_types.py
2025-05-04 14:32:52 -04:00
Jeremiah Lowin
d8c881bf21
Add tests
2025-05-04 14:31:21 -04:00
Jeremiah Lowin
51a867c3af
Replace custom parsing with TypeAdapter
2025-05-04 12:07:00 -04:00
Jeremiah Lowin
87031a62de
Improve context injection type checks
2025-04-30 18:03:52 -04:00
Jeremiah Lowin
b6ef8d2346
Add test for missing annotation
2025-04-25 10:27:26 -04:00
cutekibry
c8dface36a
fix: unintended type convert
...
The function tries to convert `str`` into `dict` without validate
if it is suitable for the type annotation.
This will cause unintended type converting.
Refs: #251
2025-04-25 15:24:12 +08:00
Jeremiah Lowin
d27141a935
Refactor remote servers
2025-04-15 20:28:14 -04:00
Jeremiah Lowin
d2474d558c
Only apply log config to FastMCP loggers
2025-04-14 15:45:05 -04:00
Jeremiah Lowin
56801435ac
Support openapi 3.0 and 3.1
2025-04-13 22:38:37 -04:00
Jeremiah Lowin
3ea0685a17
Expand support for various method interactions
2025-04-13 21:39:19 -04:00
Jeremiah Lowin
79190e40e9
Ensure that openapi tags are transferred to MCP objects
2025-04-12 12:40:57 -04:00
zzstoatzz
16af43e272
use type
2025-04-11 03:42:00 -05:00