> ## Documentation Index
> Fetch the complete documentation index at: https://docs.riggery.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP

> Remote server tools on an Agent. The URL is stored on the Graph.

**MCP** in **Add a tool** lets an Agent call tools on a remote MCP server. The Graph stores **Connection name**, **Server URL**, an optional Secret on **Bearer token (optional)**, and the Tools you allow.

MCP is not a Graph Tool node. There is no MCP step in **Add a node**.

<h2 id="add">
  Add on the Agent
</h2>

On the Agent card, **+** opens **Add a tool**. Choose **MCP** (**Remote server**).

<Steps>
  <Step title="Connection name">
    **Connection name** must start with a lowercase letter and use only lowercase letters, digits, and `_`. Example: `github`. Several Agents can share the same name only with the same URL and Secret.
  </Step>

  <Step title="Server URL">
    **Server URL** is saved on the Graph. Example: `https://mcp.example.com`
  </Step>

  <Step title="Token">
    **Bearer token (optional)**. Use **Insert value** to add a Secret like `{{secret:GitHub}}` — that Secret is used on Run. A raw token is not saved — **Probe** only. Bind the Secret on Instance [Settings](/instance/settings#secrets).
  </Step>

  <Step title="Probe and Tools">
    **Probe** lists Tools from the server. Check at least one Tool. Empty list shows **Select at least one tool.** **Add MCP** writes the name, URL, Secret placeholder, and that list onto the Agent.
  </Step>
</Steps>

Copy this into the dialog, then replace the URL and Secret name with yours:

```text theme={null}
Connection name: github
Server URL: https://mcp.example.com
Bearer token (optional): {{secret:GitHub}}
```

Open the MCP chip to change the name, URL, Secret, or the list. **Re-probe** uses the saved URL to refresh Tools. The X on the chip drops it.

An Agent used as a Tool does not get this list. Add MCP on that Agent if it needs the same server.

If the Graph has `{{secret:GitHub}}`, Setup on [Settings](/instance/settings#setup) shows **Secret: GitHub** until you bind a value.

<h2 id="limits">
  Limits
</h2>

Up to 32 Tools on one MCP binding.

In production the URL must be HTTPS: **MCP URLs must use HTTPS**. A blocked URL: **This MCP URL is not allowed**.

A raw token on the Graph shows **MCP binding "github" token must be empty or a Secret placeholder**. Two Agents with the same **Connection name** but a different URL or Secret show **MCP connection "github" must use the same URL and Secret on every Agent**.
