Jeremiah Lowin
e036cba383
Add Pydantic-compatible input validation ( #2073 )
2025-10-14 11:49:30 -07:00
Jeremiah Lowin
1f11b5e641
Refactor mounting logic from managers to server ( #2069 )
2025-10-11 18:28:21 -04:00
William Easton
408415c174
Merge branch 'main' into content_block_handling
2025-09-07 10:17:41 -05:00
William Easton
fe4f31c2c7
Enable more type checking rules ( #1775 )
2025-09-07 11:11:44 -04:00
William Easton
64010ff276
Cleanup content conversion
2025-09-06 17:32:33 -05:00
William Easton
d7a74419b2
Preserve order in mixed text/image tool returns ( #1704 )
...
Co-authored-by: William Easton <strawgate@users.noreply.github.com>
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2025-09-06 14:22:29 -04:00
Jeremiah Lowin
a302385361
fix: eliminate pytest warnings ( #1559 )
...
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <jlowin@users.noreply.github.com>
2025-08-21 07:49:42 -04:00
Jeremiah Lowin
26969e80c3
Add mounted_components_raise_on_load_error setting for debugging ( #1534 )
...
Co-authored-by: Jeremiah Lowin <jlowin@users.noreply.github.com>
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2025-08-18 13:42:33 -04:00
Jeremiah Lowin
19a4dd85d4
Ensure resource + template names are properly prefixed when importing/mounting ( #1423 )
2025-08-08 21:29:07 -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
0600834da4
Fix single-element list unwrapping in tool content
...
Single-element lists like [1] were being incorrectly unwrapped to "1"
in unstructured content while multi-element lists remained as lists.
This created inconsistent behavior where the structure was lost for
single items.
This fix ensures lists always preserve their structure in unstructured
content regardless of length, making behavior consistent and predictable.
Also removes pretty-printing from JSON serialization for more compact
output across tools, prompts, and resources.
Fixes #1064
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-07 12:07:16 -04:00
Jeremiah Lowin
228425e309
Avoid propagating logs ( #1042 )
...
* Avoid propagating logs
* Set up caplog for non-root loggers
* Update tests
2025-07-04 12:22:11 -04:00
Jeremiah Lowin
ddb557ba30
Update for 'result' kwarg instead of 'value'
2025-06-27 15:44:46 -04:00
Jeremiah Lowin
d8dc28b9b2
Add structured content & update almost all tests
2025-06-27 15:40:52 -04:00
Jeremiah Lowin
7b9696405b
Remove legacy json parsing
...
Because the server now validates inputs, its no longer viable to provide a JSON string where e.g. an array is expected, so we can entirely remove FastMCP's "legacy json parsing" support from 1.x.
This is a breaking change (for legacy opt-in behavior)
2025-06-26 18:19:43 -04:00
Jeremiah Lowin
38036b1f42
Add automatic MCP list change notifications and client message handling
...
Implements comprehensive notification system for tools, resources, and prompts with automatic client updates and flexible message handlers.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 22:33:06 -04:00
Jeremiah Lowin
085c5b765b
Update docs and tests
2025-06-19 17:06:54 -04:00
Jeremiah Lowin
607125abf8
Update tool manager
2025-06-19 11:04:50 -04:00
Jeremiah Lowin
46ab813de6
Deprecate top-level import
2025-06-14 09:12:21 -04:00
Jeremiah Lowin
d1549c3d35
Remove empty parens
2025-06-04 15:37:55 -04:00
Jeremiah Lowin
cc541d6eee
Ensure tool serializer is applied
2025-06-04 12:47:12 -04:00
Jeremiah Lowin
7d520ec5d1
Use strict basemodel for Prompt; relax from_function deprecation
2025-06-04 10:46:48 -04:00
Jeremiah Lowin
6014e880ef
Update test_tool_manager.py
2025-06-04 10:24:03 -04:00
Jeremiah Lowin
3a3c01708d
Split Tool into Tool and FunctionTool
2025-06-04 10:19:14 -04:00
Jeremiah Lowin
f1e3713fc6
Update test typing
2025-05-31 20:41:18 -04:00
Jeremiah Lowin
010170337f
Ensure that tools/templates/prompts are compatible with callable objects
2025-05-23 18:53:55 -04:00
Jeremiah Lowin
53b067b4e7
Make error masking configurable
2025-05-22 09:08:16 -04:00
Jeremiah Lowin
08d54ef65b
Merge pull request #437 from davenpi/feat/remove-tool
...
feat: add support for removing tools from server
2025-05-13 18:36:18 -04:00
davenpi
a6b7da4599
chore: unify tool not found error message
2025-05-13 16:54:16 -04:00
davenpi
d6f7dab9e6
feat: add support for removing tools from server
2025-05-13 16:39:04 -04:00
Jeremiah Lowin
6fa7c1704a
Improve error handling for tools and resources
2025-05-13 14:19:55 -04:00
strawgate
a12edd7be5
fix recursive calls
2025-05-08 20:33:41 -05:00
Jeremiah Lowin
82aa53e09b
Refactor context to avoid unecessary passing
2025-05-06 21:24:29 -04:00
Jeremiah Lowin
112b91f521
create a setting for legacy parsing
2025-05-06 13:21:38 -04:00
Jeremiah Lowin
c449f1d697
Handle args/kwargs appropriately for various objects
2025-05-04 15:00:26 -04:00
Jeremiah Lowin
c63fcc96ea
Remove is_async attribute
2025-05-04 12:18:28 -04:00
Jeremiah Lowin
51a867c3af
Replace custom parsing with TypeAdapter
2025-05-04 12:07:00 -04:00
Jeremiah Lowin
d10e426d03
Ensure that tool serialization has a graceful fallback
2025-05-03 12:30:41 -04:00
strawgate
d1eb1812f3
address PR feedback
2025-05-03 10:41:16 -05:00
strawgate
80f7487f36
Add an example of a custom serializer implementation
2025-05-03 06:48:50 -05:00
Jeremiah Lowin
517b5358dd
Merge pull request #290 from jlowin/json
...
use pydantic_core.to_json
2025-04-30 18:12:27 -04:00
Jeremiah Lowin
87031a62de
Improve context injection type checks
2025-04-30 18:03:52 -04:00
Jeremiah Lowin
a9253d3111
use pydantic_core.to_json
2025-04-30 17:29:38 -04:00
Jeremiah Lowin
b81d1a11ec
Indicate that Image class is for returns
2025-04-24 12:11:00 -04:00
Jeremiah Lowin
5ff93f6bd6
Add mount tests
2025-04-15 21:03:00 -04:00
Jeremiah Lowin
d27141a935
Refactor remote servers
2025-04-15 20:28:14 -04:00
Jeremiah Lowin
8d922d995a
restore mcp tool generation to server
2025-04-15 13:54:33 -04:00
Jeremiah Lowin
9ec0be8665
Update test_tool_manager.py
2025-04-15 09:54:47 -04:00
Jeremiah Lowin
6fcd333e52
Update tool manager param to key
2025-04-15 09:52:31 -04:00
Jeremiah Lowin
6e309e1354
Fix bug with duplicate behavior == ignore
2025-04-15 09:33:23 -04:00