From 52ee5e2c2adf08380e44a26e9a81ec8f433dced8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Le=C3=B3n?= <43795634+leoric-crown@users.noreply.github.com> Date: Sat, 6 Sep 2025 12:57:27 -0600 Subject: [PATCH] mcp: fix Gemini register_version schema + optional types (#562) * mcp: fix Gemini register_version schema and optional types\n\n- Constrain to JSON-serializable dict | list[dict] for create_version\n- Use for optional args in RAG tools\n- Add AGENTS.md with repo guidelines * mcp: remove unintended AGENTS.md from PR --------- Co-authored-by: Cole Medin --- python/src/mcp_server/features/documents/version_tools.py | 2 +- python/src/mcp_server/modules/rag_module.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/python/src/mcp_server/features/documents/version_tools.py b/python/src/mcp_server/features/documents/version_tools.py index 376593bf..b5033c6d 100644 --- a/python/src/mcp_server/features/documents/version_tools.py +++ b/python/src/mcp_server/features/documents/version_tools.py @@ -28,7 +28,7 @@ def register_version_tools(mcp: FastMCP): ctx: Context, project_id: str, field_name: str, - content: Any, + content: dict[str, Any] | list[dict[str, Any]], change_summary: str | None = None, document_id: str | None = None, created_by: str = "system", diff --git a/python/src/mcp_server/modules/rag_module.py b/python/src/mcp_server/modules/rag_module.py index 67b5b498..8686a75c 100644 --- a/python/src/mcp_server/modules/rag_module.py +++ b/python/src/mcp_server/modules/rag_module.py @@ -78,7 +78,7 @@ def register_rag_tools(mcp: FastMCP): @mcp.tool() async def perform_rag_query( - ctx: Context, query: str, source_domain: str = None, match_count: int = 5 + ctx: Context, query: str, source_domain: str | None = None, match_count: int = 5 ) -> str: """ Search knowledge base for relevant content using RAG. @@ -135,7 +135,7 @@ def register_rag_tools(mcp: FastMCP): @mcp.tool() async def search_code_examples( - ctx: Context, query: str, source_domain: str = None, match_count: int = 5 + ctx: Context, query: str, source_domain: str | None = None, match_count: int = 5 ) -> str: """ Search for relevant code examples in the knowledge base.