When to choose MCP over REST
MCP is best for
Tools that need structured tool schemas, rich return types, streaming outputs, or coordinated multi-call workflows.
REST is best for
Single endpoints that already have OpenAPI specs and simple request-response semantics. See Custom REST Integrations.
What an MCP server exposes
An MCP server advertises a set of tools. Each tool has:- A name (unique handle).
- A description (one sentence, used for intent matching).
- A JSON schema for its arguments (types, enums, ranges).
- A handler that runs the tool and returns structured output.
allowed_tools list.
Minimal server (TypeScript SDK)
Hosting modes
- RubixKube-managed
- Self-hosted
Push a container image to a registry we can pull from, plus a manifest that declares resources. RubixKube runs the server in an isolated sandbox inside RubixKube Cloud. Simplest path for most teams.
Register the server
Declare the server in the console
Open Integrations → Custom MCP and choose RubixKube-managed or Self-hosted. Provide the image reference or tunnel endpoint.
Validate the tool schemas
The console lists every tool the server advertises. Click each to inspect the JSON schema and run a test call.
Set auth
Pick the auth type that matches your server (API key, OAuth, mTLS). Store credentials in the workspace secret vault. See OAuth and Auth Types.
Design guidelines
Narrow, typed arguments
Enums and ranges beat free-form strings. The planner’s accuracy rises sharply with good schemas.
Idempotent reads, explicit writes
Read tools can run freely. Write tools should require approval via the RubixKube action flow.
Fast responses
Target sub-second p95 for read tools. Long-running operations should return a task handle and let Chat poll.
Descriptive errors
Return structured error payloads with reason codes. They feed back into planning and future recommendations.
Safety and Guardian
A custom MCP server is not a bypass of Guardian. Mutating tools still pass through the approval flow before they can run. Reads are permitted freely but can still be scoped by environment, team, or time window.Troubleshooting
Server registered, tools not appearing
Server registered, tools not appearing
RubixKube discovers tools via the MCP
tools/list call on connect. If nothing appears, check the server log for errors during the handshake and that the SDK version is at least 1.0.Tool call returns 'arguments do not match schema'
Tool call returns 'arguments do not match schema'
The argument the SRI Agent sent did not match your schema. Tighten the description and examples so intent mapping aligns with what the tool accepts.
Self-hosted server unreachable
Self-hosted server unreachable
The outbound tunnel dropped. Check the tunnel health in Integrations → Custom MCP → Tunnel. Most commonly this is a restart of the self-hosted host without auto-reconnect.
Related guides
Custom REST Integrations
When OpenAPI is enough.
OAuth and Auth Types
Reference for every supported authentication method.
How to add custom integrations
Walkthrough of the full custom integration flow.