Commit graph

66 commits

Author SHA1 Message Date
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
0691701951
Add _fastmcp meta namespace (#1290) 2025-07-29 15:07:53 -04:00
Jeremiah Lowin
a41aba3486 Add tags to meta 2025-07-28 17:38:18 -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
d04840560a
Support string annotations (#1255) 2025-07-24 14:28:58 -04:00
Jeremiah Lowin
f950b8ca95
Support from __future__ import annotations (#1199) 2025-07-20 21:05:13 -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
7e0a237945 Fix schema wrapping for non-object union types in output schemas 2025-06-30 14:12:40 -04:00
Jeremiah Lowin
b10bab9423 Fix output schema test 2025-06-28 08:14:31 -04:00
Jeremiah Lowin
c412a63d4e Update docs 2025-06-27 22:38:55 -04:00
Jeremiah Lowin
b3799e7a73 Update typing 2025-06-27 21:54:17 -04:00
Jeremiah Lowin
db24c85359 Update all tests 2025-06-27 21:41:37 -04:00
Jeremiah Lowin
d8dc28b9b2 Add structured content & update almost all tests 2025-06-27 15:40:52 -04:00
Jeremiah Lowin
1e29149d5f Merge branch 'main' into output-schema 2025-06-26 19:30:35 -04:00
Jeremiah Lowin
0624a4ae53 Update tests for server input validation 2025-06-26 10:56:21 -04:00
Jeremiah Lowin
0142bb2af1
Merge branch 'protocol-update' into output-schema 2025-06-22 13:46:26 -04:00
Jeremiah Lowin
9714028cac Fix pyright type checking issues in tests
Add proper null checks and type assertions for prompt argument
handling in tests to satisfy pyright strict typing.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 09:55:40 -04:00
Jeremiah Lowin
7114242e1e Update schema description wording for clarity
Change from 'Arguments must be strings conforming to this JSON schema'
to 'Provide as a JSON string matching the following schema' for clearer
instruction to LLMs about string format requirements.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 09:46:11 -04:00
Jeremiah Lowin
817018bf3b Add automatic JSON schema descriptions for non-string prompt arguments
- Fix ValueError -> PromptError for consistent error handling
- Add automatic JSON schema descriptions to non-string prompt arguments
- Include comprehensive tests for argument description enhancement
- Verify enhanced descriptions are visible via MCP protocol

This helps developers understand the expected string format for complex
types when calling prompts from MCP clients.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 09:38:57 -04:00
Jeremiah Lowin
3bc585788f Add output schema to tools 2025-06-20 17:54:07 -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
d24d35639f Remove duplicate tests 2025-06-14 09:26:52 -04:00
Jeremiah Lowin
06dcff3b3b Add tests 2025-06-14 09:22:29 -04:00
Jeremiah Lowin
f269c074f4 Add audio support 2025-06-14 08:59:48 -04:00
Jeremiah Lowin
c5fb5f7fd2 Remove tuple tags 2025-06-10 19:50:43 -04:00
Jeremiah Lowin
ad45f0572a Merge branch 'main' into include-exclude 2025-06-10 19:31:25 -04:00
Jeremiah Lowin
9c25cc6454 Support enabled/disabled resources and templates 2025-06-10 10:44:46 -04:00
Jeremiah Lowin
6e92335510 Support enabled/disabled tools 2025-06-10 10:32:50 -04:00
Jeremiah Lowin
17a71278aa Support enabled/disabled prompts 2025-06-10 10:24:40 -04:00
Jeremiah Lowin
bc59a4fbf5 Ensure client is only initialized once 2025-06-08 14:48:05 -04:00
Jeremiah Lowin
956488635e Add support for tag-based include/exclude 2025-06-07 18:38:29 -04:00
Jeremiah Lowin
d64077b03b remove empty parens from prompt 2025-06-05 14:56:10 -04:00
Jeremiah Lowin
d26a5dffc3 Return objects from decorators 2025-06-05 10:04:39 -04:00
Jeremiah Lowin
099d340208 Update tests for prompts 2025-06-04 16:37:41 -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
0535a70d31 Server add_* methods no longer accept functions 2025-06-04 12:39:34 -04:00
Jeremiah Lowin
3a0faf5fcf Formalize resource/functionresource replationship 2025-06-04 11:06:59 -04:00
Jeremiah Lowin
39c8f39863 Fix remaining typing issues 2025-05-31 20:46:12 -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
eadec83083 Add request id back to tests 2025-05-20 10:45:27 -04:00
Jeremiah Lowin
526b831bec Store the initialize result on the client 2025-05-19 20:49:03 -04:00
Jeremiah Lowin
6b4f700a59 Improve handling of exceptiongroups when raised in clients 2025-05-14 19:34:17 -04:00
Jeremiah Lowin
6fa7c1704a Improve error handling for tools and resources 2025-05-13 14:19:55 -04:00
Jeremiah Lowin
112b91f521 create a setting for legacy parsing 2025-05-06 13:21:38 -04:00
Jeremiah Lowin
2eb0e7c1b3 Ensure prompts return descriptions 2025-05-05 12:33:05 -04:00
Jeremiah Lowin
c449f1d697 Handle args/kwargs appropriately for various objects 2025-05-04 15:00:26 -04:00