diff --git a/Makefile b/Makefile index f10e7fcb..771dbea9 100644 --- a/Makefile +++ b/Makefile @@ -69,7 +69,7 @@ check-toolkits: ## Run code quality tools for each toolkit that has a Makefile done .PHONY: test -test: ## Test the code with pytest +test: install ## Test the code with pytest @echo "🚀 Testing libs: Running pytest" @uv run pytest -W ignore -v libs/tests --cov=libs --cov-config=pyproject.toml --cov-report=xml diff --git a/libs/arcade-mcp-server/arcade_mcp_server/convert.py b/libs/arcade-mcp-server/arcade_mcp_server/convert.py index 3356a453..8f4ae426 100644 --- a/libs/arcade-mcp-server/arcade_mcp_server/convert.py +++ b/libs/arcade-mcp-server/arcade_mcp_server/convert.py @@ -71,7 +71,7 @@ def create_mcp_tool(tool: MaterializedTool) -> MCPTool | None: # Build meta with requirements if any exist meta = None if requirements.authorization or requirements.secrets or requirements.metadata: - meta = {"requirements": requirements.model_dump()} + meta = {"arcade_requirements": requirements.model_dump(exclude_none=True)} # Instantiate MCPTool model to ensure shape correctness return MCPTool( diff --git a/libs/arcade-mcp-server/arcade_mcp_server/managers/tool.py b/libs/arcade-mcp-server/arcade_mcp_server/managers/tool.py index 3ec66763..9cecf26c 100644 --- a/libs/arcade-mcp-server/arcade_mcp_server/managers/tool.py +++ b/libs/arcade-mcp-server/arcade_mcp_server/managers/tool.py @@ -40,7 +40,7 @@ class ToolManager(ComponentManager[Key, ManagedTool]): requirements = tool.definition.requirements meta = None if requirements.authorization or requirements.secrets or requirements.metadata: - meta = {"requirements": requirements.model_dump()} + meta = {"arcade_requirements": requirements.model_dump(exclude_none=True)} return MCPTool( name=self._sanitize_name(tool.definition.fully_qualified_name), diff --git a/libs/arcade-mcp-server/pyproject.toml b/libs/arcade-mcp-server/pyproject.toml index 73225c85..afe4f24e 100644 --- a/libs/arcade-mcp-server/pyproject.toml +++ b/libs/arcade-mcp-server/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "arcade-mcp-server" -version = "1.3.0" +version = "1.3.1" description = "Model Context Protocol (MCP) server framework for Arcade.dev" readme = "README.md" authors = [{ name = "Arcade.dev" }] diff --git a/libs/tests/cli/test_utils.py b/libs/tests/cli/test_utils.py index 2a38bc97..e67d8ad7 100644 --- a/libs/tests/cli/test_utils.py +++ b/libs/tests/cli/test_utils.py @@ -239,12 +239,14 @@ def test_compute_login_url(inputs: dict, expected_output: str): assert login_url == expected_output -def test_resolve_provider_api_key(): +def test_resolve_provider_api_key(monkeypatch): resolved_api_key = resolve_provider_api_key(Provider.OPENAI, "123") assert resolved_api_key == "123" resolved_api_key = resolve_provider_api_key("not-a-provider", None) assert resolved_api_key is None + # Ensure OPENAI_API_KEY is not set in the environment for this test + monkeypatch.delenv("OPENAI_API_KEY", raising=False) resolved_api_key = resolve_provider_api_key(Provider.OPENAI, None) assert resolved_api_key is None