MCP tools: validate inputs and report failures as errors
1 person asked for this · Integration with Development Tools
Backlog accepts invalid status in list and update Runtime accepts a status outside the documented enum, persists it, and can query it back. Runnable reproduction / implementation sketch backlog_list({"status":"in_review","limit":5}) backlog_update({"taskId":"<disposable-task-id>","status":"bogus"}) backlog_get({"taskId":"<disposable-task-id>"}) backlog_list({"status":"bogus","limit":5}) Steps Run the invalid list filter. Write bogus status to a disposable task. Fetch and filter by bogus. Restore or delete the task. Safety Use a disposable task. Restore it immediately if it matters. Observed Invalid filter returns success; invalid write returns ok:true and persists; bogus filter returns the task. Expected / proposed Enforce todo, in_progress, pending, or done at runtime. Why it matters Tasks can disappear into unsupported states and simple agents may trust invalid writes.
This gathers what several people told us separately. Their original messages stay private: only this rewording is public, and nobody sees who wrote what.
Discussion0
You will be told by email and in the app on every reply. Every message carries a link to stop them.