Executor version
Executor Cloud (hosted, 2026-09-03). Cloud MCP at https://executor.sh/<org>/mcp.
How do you run Executor?
Executor Cloud
Operating system
Linux
Integration involved
Built-in execute sandbox tools.search ({ query: string; namespace?: string; limit?: number; offset?: number }). Workspace with a large OpenAPI catalog (Grafana ~300 ops, Nutanix, Icinga, Outline, plus others).
What happened
tools.search inside execute dies / the MCP execute call hits the client timeout (~MCP -32001 / multi-minute hang) when a run searches more than one integration.
Two shapes we hit:
- No
namespace — tools.search({ query: "cpu" }) walks the whole workspace catalog.
- Several namespaced searches in one
execute — e.g. a cloud agent / skill doing Icinga + Nutanix + Grafana + Outline in one batched execute (Promise.all or sequential searches in the same sandbox run).
A single tools.search({ namespace: "<one-slug>", query: "…" }) (or empty query to enumerate that slug) returns quickly.
namespace is a single string, not an array, so there is no supported multi-slug search — agents still batch it themselves and blow the timeout.
This is an Executor/client footgun, not an upstream API gap. Workaround we are putting on integration descriptions: search one slug per execute.
Related: #1383 (enumerating a namespace's catalog — closed). Empty query + namespace does enumerate now; the remaining failure is unbounded / multi-namespace search.
What you expected
Either:
tools.search without namespace (or with several slugs) should return a bounded, ranked page quickly (hard limit, fail closed rather than hang), or
- reject omitted/
* namespace immediately with a message: pass exactly one integration slug.
Agents should not have to learn the timeout the hard way.
Steps to reproduce
- Open a Cloud workspace whose OpenAPI catalog is large (hundreds of tools across Grafana, Nutanix, Icinga, Outline, …).
execute: await tools.search({ query: "status" }); with no namespace. Observe MCP timeout / hang.
execute: four tools.search calls in one run, each with a different namespace (icinga, nutanix-pc, grafana, outline). Same hang.
execute: await tools.search({ namespace: "grafana", query: "health", limit: 8 }); — succeeds.
Diagnostics / logs
No secrets. Hosted Cloud. MCP error seen: MCP error -32001: Request timed out on the execute tool. Single-namespace search on the same connection is fine.
Before you submit
Executor version
Executor Cloud (hosted, 2026-09-03). Cloud MCP at
https://executor.sh/<org>/mcp.How do you run Executor?
Executor Cloud
Operating system
Linux
Integration involved
Built-in
executesandboxtools.search({ query: string; namespace?: string; limit?: number; offset?: number }). Workspace with a large OpenAPI catalog (Grafana ~300 ops, Nutanix, Icinga, Outline, plus others).What happened
tools.searchinsideexecutedies / the MCPexecutecall hits the client timeout (~MCP -32001 / multi-minute hang) when a run searches more than one integration.Two shapes we hit:
namespace—tools.search({ query: "cpu" })walks the whole workspace catalog.execute— e.g. a cloud agent / skill doing Icinga + Nutanix + Grafana + Outline in one batchedexecute(Promise.all or sequential searches in the same sandbox run).A single
tools.search({ namespace: "<one-slug>", query: "…" })(or empty query to enumerate that slug) returns quickly.namespaceis a single string, not an array, so there is no supported multi-slug search — agents still batch it themselves and blow the timeout.This is an Executor/client footgun, not an upstream API gap. Workaround we are putting on integration descriptions: search one slug per
execute.Related: #1383 (enumerating a namespace's catalog — closed). Empty query + namespace does enumerate now; the remaining failure is unbounded / multi-namespace search.
What you expected
Either:
tools.searchwithoutnamespace(or with several slugs) should return a bounded, ranked page quickly (hardlimit, fail closed rather than hang), or*namespace immediately with a message: pass exactly one integration slug.Agents should not have to learn the timeout the hard way.
Steps to reproduce
execute:await tools.search({ query: "status" });with nonamespace. Observe MCP timeout / hang.execute: fourtools.searchcalls in one run, each with a differentnamespace(icinga,nutanix-pc,grafana,outline). Same hang.execute:await tools.search({ namespace: "grafana", query: "health", limit: 8 });— succeeds.Diagnostics / logs
No secrets. Hosted Cloud. MCP error seen:
MCP error -32001: Request timed outon theexecutetool. Single-namespace search on the same connection is fine.Before you submit