Summary
The get_pql_reference tool on the hosted MCP server (https://mcp.plane.so/http/mcp) cannot be called in any form. The published tool schema and the server-side dispatcher disagree about a required action parameter, so every call fails.
Reproduction
Three call forms, three failures:
| Call |
Result |
get_pql_reference() (no arguments) |
Error: get_pql_reference requires an action. It takes: read. |
get_pql_reference(detail="brief") |
Same error, verbatim. |
get_pql_reference(detail="brief", action="read") |
1 validation error for call[get_pql_reference] / action / Unexpected keyword argument [type=unexpected_keyword_argument, input_value='read', input_type=str] |
Why there is no valid call
The published JSON schema declares exactly one property, detail (enum: brief, full), and no action. The tool's own description states:
Actions: read (no required params; optional detail) -- this tool has no action parameter.
The dispatcher demands the parameter the schema forbids, and the validator rejects it when supplied.
Every other tool on this server takes action as a required enum. The likely cause is a generic dispatcher that requires action on all tools, while the schema generator correctly omitted it for this one.
Expected
get_pql_reference returns the PQL syntax reference, honouring the optional detail parameter.
Impact
This is the documented entry point for PQL syntax. A caller who hits the contradictory error concludes PQL is unusable and falls back to paging every work item client-side. I did exactly that before finding the workaround below: a question that one PQL filter answers in a single call instead paged through 1,069 work items.
Workaround
The reference is reachable. Send a deliberately invalid PQL to any tool accepting a pql parameter, and the error payload carries the whole document:
workitem count project_id="<uuid>" pql='__nonexistent_field__ = "x"'
Returns {error, failed_pql, pql_reference, hint}, where pql_reference is the complete reference — fields, operators, date/user/cycle functions, predicate and relation functions, custom-property syntax, the 5-condition limit, and examples. It appears to be the same content the broken tool should serve, so this looks like a dispatcher/schema wiring problem rather than missing content.
Environment
- Hosted MCP server at
https://mcp.plane.so/http/mcp, transport http
- Client: Claude Code
- Observed 2026-09-14
Summary
The
get_pql_referencetool on the hosted MCP server (https://mcp.plane.so/http/mcp) cannot be called in any form. The published tool schema and the server-side dispatcher disagree about a requiredactionparameter, so every call fails.Reproduction
Three call forms, three failures:
get_pql_reference()(no arguments)Error: get_pql_reference requires an action. It takes: read.get_pql_reference(detail="brief")get_pql_reference(detail="brief", action="read")1 validation error for call[get_pql_reference] / action / Unexpected keyword argument [type=unexpected_keyword_argument, input_value='read', input_type=str]Why there is no valid call
The published JSON schema declares exactly one property,
detail(enum:brief,full), and noaction. The tool's own description states:The dispatcher demands the parameter the schema forbids, and the validator rejects it when supplied.
Every other tool on this server takes
actionas a required enum. The likely cause is a generic dispatcher that requiresactionon all tools, while the schema generator correctly omitted it for this one.Expected
get_pql_referencereturns the PQL syntax reference, honouring the optionaldetailparameter.Impact
This is the documented entry point for PQL syntax. A caller who hits the contradictory error concludes PQL is unusable and falls back to paging every work item client-side. I did exactly that before finding the workaround below: a question that one PQL filter answers in a single call instead paged through 1,069 work items.
Workaround
The reference is reachable. Send a deliberately invalid PQL to any tool accepting a
pqlparameter, and the error payload carries the whole document:Returns
{error, failed_pql, pql_reference, hint}, wherepql_referenceis the complete reference — fields, operators, date/user/cycle functions, predicate and relation functions, custom-property syntax, the 5-condition limit, and examples. It appears to be the same content the broken tool should serve, so this looks like a dispatcher/schema wiring problem rather than missing content.Environment
https://mcp.plane.so/http/mcp, transporthttp