-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Environment:
- OS: macOS 14.6 (darwin 24.6.0)
- Client: Cursor + MCP (Dockerized)
- MCP image tags tested: quantconnect/mcp-server:0.0.9 and quantconnect/mcp-server:0.0.10
- MCP server version endpoint reported: 0.0.9 and 0.0.10 respectively during tests
- Project: cloud-id 25616475 (organization: 4b0c7589ab94a041999150081684f80e)
- Language: Python
Launch command used by Cursor: docker run -i --rm -e QUANTCONNECT_USER_ID -e QUANTCONNECT_API_TOKEN -e AGENT_NAME --platform linux/amd64 quantconnect/mcp-server:
Summary:Compilation endpoints succeed, but several management/backtest endpoints fail at schema validation. The failures indicate schema drift between tool definitions and server responses: date-time fields are not RFC3339 strings per schema, and some boolean fields are returned as JSON booleans while the tool schema expects enum strings 'true'/'false'.Steps to reproduce:1) Start MCP server via Docker with tag 0.0.10 (same behavior observed on 0.0.9).2) create_compile(projectId=25616475) → read_compile reports BuildSuccess.
Example compileIds observed include:
- 0.0.10: 8e5a30e235613461fc7f22873ad28091-54e70b3ebf2e2a6ed24e3c5dec7880e2
- 0.0.9: 1399f91cffc65a3998d9c9867384cfe1-54e70b3ebf2e2a6ed24e3c5dec7880e2
- create_backtest(projectId=25616475, compileId=<from step 2>, backtestName="...") → schema validation error (see below).
- list_backtests(projectId=25616475, includeStatistics=true) → schema validation error (see below).5) read_project(start=0, end=10) → schema validation error on boolean fields (see below).Observed errors:
create_backtest response (date-time mismatch):
"Structured content does not match the tool's output schema: data.backtest.backtestStart should match format "date-time", data.backtest.backtestStart should be null, data.backtest.backtestStart should match some schema in anyOf, data.backtest should be null, data.backtest should match some schema in anyOf"
list_backtests response (date-time mismatch):
"data.backtests[0].created should match format "date-time", data.backtests[0].created should be null, data.backtests[0].created should match some schema in anyOf, data.backtests should be null, data.backtests should match some schema in anyOf"
read_project response (booleans as JSON booleans but schema expects string enums):
"projects.N.liveForm.notifyInsights: Input should be 'true' or 'false' [input_value=True]""projects.N.liveForm.notifyOrderEvents: Input should be 'true' or 'false' [input_value=True]""projects.N.liveForm.autoRestart: Input should be 'true' or 'false' [input_value=True]"Expected:
MCP tool schemas match server responses so strict validation passes. Date-time fields are RFC3339 strings (or schema accepts server's actual format). Boolean fields are validated as JSON booleans, not 'true'/'false' string enums.
Actual:
With both quantconnect/mcp-server:0.0.9 and 0.0.10, create_backtest, list_backtests, and read_project fail at schema validation, blocking automated backtest creation/inspection via MCP.
Impact:
Unable to programmatically create or read backtests through MCP due to strict schema validation; must bypass via direct REST to proceed.
Request:
Please align the MCP tool schemas for:
- create_backtest (field backtest.backtestStart)
- list_backtests (field backtests[].created)
- read_project (liveForm boolean fields)
Either normalize server responses to RFC3339 + JSON booleans or update the tool schemas to accept the server's current format.
Provide a fixed Docker image tag once available.
Notes:
Other endpoints like create_compile/read_compile and account reads succeed, suggesting the issue is localized to date-time and boolean fields on the endpoints listed above.