Description
The list_deploys MCP tool returns a Zod validation error for every project, making it completely unusable. The error occurs because the MCP schema expects runtime to be a string, but the API returns null for deployments where runtime isn't explicitly set.
Error
200 Validation error: Expected string, received null at "data[0].runtime";
Expected string, received null at "data[1].runtime";
Expected string, received null at "data[2].runtime";
...
The error appears on every item in the response (data[N].runtime), so no deployment data is ever returned.
Reproduction
Call list_deploys against any project in any environment:
list_deploys({ projectRef: "proj_ltsvaqbswowasygnxbje", environment: "prod" })
list_deploys({ projectRef: "proj_rvvhjfapaptmblohgobv", environment: "prod" })
list_deploys({ projectRef: "proj_skckcxabaziwwsgbnljx", environment: "prod" })
All three return the same validation error. These are active projects with real deployments — the underlying API data exists, the MCP schema is just rejecting the null runtime field.
Expected behaviour
list_deploys returns the list of deployments with runtime: null treated as optional/nullable rather than a required string.
Environment
- MCP server: Trigger.dev official MCP (connected via Claude Code)
- SDK version: 4.4.3
- All three projects are on cloud.trigger.dev
Workaround
None via MCP. Can fall back to the REST API directly, but this blocks using the MCP as a fleet monitoring tool.
Description
The
list_deploysMCP tool returns a Zod validation error for every project, making it completely unusable. The error occurs because the MCP schema expectsruntimeto be astring, but the API returnsnullfor deployments where runtime isn't explicitly set.Error
The error appears on every item in the response (
data[N].runtime), so no deployment data is ever returned.Reproduction
Call
list_deploysagainst any project in any environment:All three return the same validation error. These are active projects with real deployments — the underlying API data exists, the MCP schema is just rejecting the null
runtimefield.Expected behaviour
list_deploysreturns the list of deployments withruntime: nulltreated as optional/nullable rather than a required string.Environment
Workaround
None via MCP. Can fall back to the REST API directly, but this blocks using the MCP as a fleet monitoring tool.