Summary
The customField parameter on testplanit_cases_list (MCP handler) appears to be silently dropped: the API accepts the argument but returns results that include cases not matching the requested custom field value. The automated boolean filter on the same call is honored correctly, so this looks specific to the customField argument handling.
Reproduction
Called testplanit_cases_list with:
{
"projectId": 364,
"automated": false,
"customField": { "name": "Priority", "value": "High" },
"limit": 100
}
Project 364 is "Admin Tool". The call returned 2,960 cases across 30 pages (hasNextPage reached false on page 30).
Evidence
Sampled 3 random case IDs from the result set and fetched each via testplanit_cases_get to inspect customFields.Priority:
| Case ID |
customFields.Priority returned by cases_get |
Matches filter? |
| 6867 |
High |
yes |
| 62788 |
Low |
no |
| 64435 |
Medium |
no |
Two of three sampled results had a Priority other than "High", so the filter was not applied. The result count is effectively the unfiltered non-automated set for the project.
Expected behavior
When customField: { name: \"Priority\", value: \"High\" } is passed, the response should contain only cases whose customFields.Priority == \"High\". Or, if the parameter shape is wrong, the handler should return a validation error rather than silently dropping the filter.
Notes / suggested next steps
- The schema for
customField declares { name: string, ...additionalProperties: true } with no explicit value key, so it is plausible the handler expects a different value-key (e.g. values: [...], option: ...). If so, the schema should pin the expected shape and reject unknown variants.
- Either way, silently ignoring an unrecognized filter is the worst failure mode here — agents and clients will trust the response and ship incorrect downstream results.
Environment
- Tool:
testplanit_cases_list (MCP)
- Date observed: 2026-05-22
Summary
The
customFieldparameter ontestplanit_cases_list(MCP handler) appears to be silently dropped: the API accepts the argument but returns results that include cases not matching the requested custom field value. Theautomatedboolean filter on the same call is honored correctly, so this looks specific to thecustomFieldargument handling.Reproduction
Called
testplanit_cases_listwith:{ "projectId": 364, "automated": false, "customField": { "name": "Priority", "value": "High" }, "limit": 100 }Project 364 is "Admin Tool". The call returned 2,960 cases across 30 pages (
hasNextPagereachedfalseon page 30).Evidence
Sampled 3 random case IDs from the result set and fetched each via
testplanit_cases_getto inspectcustomFields.Priority:customFields.Priorityreturned bycases_getTwo of three sampled results had a Priority other than "High", so the filter was not applied. The result count is effectively the unfiltered non-automated set for the project.
Expected behavior
When
customField: { name: \"Priority\", value: \"High\" }is passed, the response should contain only cases whosecustomFields.Priority == \"High\". Or, if the parameter shape is wrong, the handler should return a validation error rather than silently dropping the filter.Notes / suggested next steps
customFielddeclares{ name: string, ...additionalProperties: true }with no explicitvaluekey, so it is plausible the handler expects a different value-key (e.g.values: [...],option: ...). If so, the schema should pin the expected shape and reject unknown variants.Environment
testplanit_cases_list(MCP)