arcade-mcp/libs/tests/arcade_mcp_server
Eric Gustin 9bbdbe2b46
Fix outputSchema to conform to MCP spec's object type requirement (#799)
When a stdio server had a tool that didn't return a dict, then:
```
  {
    "code": "invalid_value",
    "values": [
      "object"
    ],
    "path": [
      "tools",
      2,
      "outputSchema",
      "type"
    ],
    "message": "Invalid input: expected \"object\""
  }
```

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Changes the generated `outputSchema` shape for all non-`json` return
types by wrapping them under a `result` property, which may affect
clients/tests expecting primitive/array schemas despite being
spec-correct.
> 
> **Overview**
> Adjusts MCP tool `outputSchema` generation to **always** emit an
object schema, per the MCP spec that `structuredContent` must be a JSON
object.
> 
> `json` outputs remain a direct object schema, while primitive/array
outputs are now wrapped as `{ "type": "object", "properties": {
"result": <inner> } }` (preserving `enum`/`items`), and tests are
expanded to cover these cases. Bumps `arcade-mcp-server` version to
`1.18.0`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
7dd13bd33d6fdf6ebb778e1a3d9167ca89806f55. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2026-03-20 15:50:54 -07:00
..
integration Removing Flanky tests (#790) 2026-03-06 16:03:49 -03:00
transports Adding MCP Servers supports to Arcade Evals (#689) 2026-01-07 20:26:23 -03:00
__init__.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
conftest.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_context.py Adding MCP Servers supports to Arcade Evals (#689) 2026-01-07 20:26:23 -03:00
test_convert.py Fix outputSchema to conform to MCP spec's object type requirement (#799) 2026-03-20 15:50:54 -07:00
test_env_discovery.py Improve .env discovery (#737) 2026-02-25 23:20:28 -08:00
test_error_handling_middleware.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_logging_middleware.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_mcp_app.py [TOO-518] Enforce semver for MCPApp Versioning (#793) 2026-03-16 16:06:25 -07:00
test_middleware_base.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_openapi_docs.py Adding MCP Servers supports to Arcade Evals (#689) 2026-01-07 20:26:23 -03:00
test_prompt.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_public_imports.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_resource.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_resource_server_auth.py Support Ed25519 Algorithm (#742) 2026-01-16 15:55:05 -08:00
test_server.py Front-Door Auth (#696) 2025-12-11 12:51:20 -08:00
test_session.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_session_cancellation.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_settings.py [TOO-518] Enforce semver for MCPApp Versioning (#793) 2026-03-16 16:06:25 -07:00
test_tool.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
test_tool_metadata_serialization.py Add Tool Metadata (#766) 2026-02-17 14:31:45 -08:00
test_worker_factory.py Fix multiple worker log level bug (#758) 2026-01-30 15:37:52 -08:00