GuidesConnect and integrate

Connect your own MCP server

Register a Streamable HTTP MCP server, discover its tools, and grant the minimum a routine needs.

Managed providers cover GitHub, PostHog, and Zernio. Everything else — Stripe, an internal service, a vendor's hosted server — connects as a self-managed MCP connection: a URL plus optional headers, encrypted at rest.

What Work on Repeat expects

  • A Streamable HTTP MCP server reachable over HTTPS.
  • Authentication expressed as request headers, if the server needs any.
  • Tool definitions with JSON Schema inputs, returned from the server's tool listing.

Register the connection

Add the server

Open Connections → Add MCP server and provide:

Prop

Type

A new connection starts with status untested. It becomes ready the first time tool discovery succeeds.

Discover tools from a routine

Tool policies belong to a routine, not to the connection — the same server can expose three tools to one routine and one tool to another.

Open the routine, choose the connection, and select Discover tools. Work on Repeat asks the server for its current tool definitions and creates a policy row for each.

If the server cannot be reached or does not return valid tools, the request fails with 502 mcp_discovery_failed.

Enable the minimum

Every discovered tool is disabled. Enable only the ones the responsibility requires, and grant automatic execution only where you have decided the routine may act unattended.

In the model's context each tool is named <connection-slug>__<tool-name>, so traces stay unambiguous when two servers expose a tool with the same name.

Network rules

Production connections reject unsafe destinations — loopback, link-local, and private network addresses — and refuse credentials embedded in URLs or introduced by redirects.

The DNS answers validated at connection time are pinned to the outbound request, which closes the gap where a hostname resolves safely during validation and to an internal address during use.

Local development can point at an explicit fixture server so integration tests do not need a public endpoint.

Rediscovery

Rediscovering refreshes the remote schema and resets prior approvals. This is deliberate: a server that changes what a tool does cannot inherit an old automatic-execution grant. Rediscovery also returns the routine to draft, so you re-prove it before it runs unattended again.

Troubleshooting

On this page

Edit this page on GitHub