- Discover —
capabilities_discoverwith a task description - Install —
capability_detailswith tool names (map to your model’s function-calling format) - Invoke —
tools/callon the server path
/pinkfish-sidekick. For full parameter schemas, see the Pinkfish Workflow Building server reference.
End-to-End Example
Node.js 18+ or browser. Python:
requests.post() with same JSON-RPC payload.capabilities_discover
Describe the task; get matching tools and connections.
Response:
capability_details
Pass tool names; get full parameter schemas.
Key Points
- Embedded tools: no PCID required. Application tools: use PCID from discovery or see Connecting to MCPs.
- Pass
tool.nametocapability_details, notserverName. - Install only what the user needs (typically 1–5 tools per task).
Custom Agents
Bootstrap with these two discovery tools. On user task: discover → fetch schemas → map to your model’s function-calling format → add to agent context. Route model tool calls throughtools/call.
Fixed tool sets — invoke via gateway_invoke
The example above invokes a discovered tool by calling tools/call directly on its server path
(/${serverName}). That works when your agent can issue arbitrary HTTP calls at runtime. Many agents can’t:
no-code and low-code agent platforms have a fixed set of pre-registered tools and no way to add an endpoint
per discovered tool.
For these, register three fixed tools and route every discovered tool through gateway_invoke on
/gateway, which dispatches internally by server + tool:
capabilities_discover and capability_details (both on
/pinkfish-sidekick), and gateway_invoke (on /gateway). The agent never calls a discovered tool directly —
it passes the discovered serverName/name into gateway_invoke. See
Gateway for the full meta-tool set and the
Bring Your Own Agent prompt variant.
If your platform’s tools are strongly typed and can’t express a nested
arguments object, pass
gateway_invoke’s arguments as a JSON string and have the tool inject it into the request body so it
renders as real JSON.Two invocation modes at a glance
Code Execution Shortcut
Code Execution chains tools without installing them. Discover tools, then pass tool calls into a singlecode-execution_execute invocation.
