How do I let a Tares agent use tools from an external MCP server?
Tares lets an agent use tools from an external MCP server in two steps. Register the server under Settings, MCP servers, then opt the agent in under External tools on its form. The server’s tools then appear to the agent prefixed by the server name, such as github__create_issue.
How it works
By default a Tares agent has the read and stats tools and can end a run with conclude. It reads and concludes, and it does not act. Connecting an external MCP server moves that boundary for that one agent, because the server’s tools can act on whatever the server exposes. You decide per agent which servers it may touch. The full list of built-in and external tools is on the Tools and MCP servers page.
Registration and opt-in are separate:
- Register once. You add the server under Settings → MCP servers in a project’s Advanced setup. Any project’s agents can then use it.
- Opt in per agent. Each agent lists the registered servers it may use under External tools on its form. An agent you do not opt in never sees the server.
At run time, Tares offers the selected servers’ tools to the model alongside read and stats. Each tool name is prefixed by its server name, so you can tell where a tool comes from.
Three guardrails apply to every run:
- A tool result is capped at 8,000 characters, so a verbose server cannot crowd out the evidence.
- A server that is down when the run starts is skipped and logged. The run continues with the tools that remain.
- A failed call is returned to the model as an error to reason about.
Set it up
- Open a project’s Advanced setup and go to Settings → MCP servers.
- Add the server with these fields:
- A name. Tools are prefixed with it.
- A streamable-HTTP URL. Tares supports streamable-HTTP servers only. Stdio servers are not supported.
- An optional auth header. The value is stored as a secret and never shown again.
- If the server needs a token that you already store as a GitHub credential, point the auth value at it instead of pasting the token. Rotating the token in one place then rotates the server too.
- Optionally, under Advanced: extra headers, add non-secret headers that are sent with every request. GitHub’s hosted MCP server takes
X-MCP-Toolsetsto limit the tools it offers andX-MCP-Readonlyfor a read-only agent. - Click Test. Tares connects live and lists the server’s tools, so you see what the agent can call before you use it.
- Open the agent’s form. Under External tools, pick any registered server. Each selection shows as a removable tag.
- Save the agent and start a run. The server’s tools are offered to the model in that run.
The values below are the ones the GitHub example uses:
credential:github/<name>
X-MCP-Toolsets: repos,pull_requests
X-MCP-Readonly: trueThe first line is the auth value that points at a stored GitHub credential. The other two are extra headers, entered as header name and value.
What you get
- Tools that can act. Your agent can call whatever the registered server exposes, for example
github__create_issue, next to its built-in reads. - Control per agent. A server is registered once, but only the agents you opt in can use it. You can keep a reading agent read-only and give a different agent a server that acts.
- A safe way to check a server. Test lists the tools before any agent runs with them.
- Secrets that stay secret. The auth header value is stored as a secret and never shown again. With a stored GitHub credential, one rotation updates every server that uses it.
- An audit trail. Each run records the external tools it called, shown on the run under Runs. You can see exactly what an agent touched outside Tares.
- Runs that keep going. A server that is down is skipped and logged, and the run continues with the tools that remain.
External tools fit well into an AI SRE setup. The agent reads the correlated evidence in Tares, then uses a server’s tools to act on it, such as opening an issue.
When something else fits
- If you want the agent only to investigate and report, leave External tools empty. The default
read,statsandconcludetools keep it from acting. - If your tool server only runs over stdio, Tares cannot use it directly, because it supports streamable-HTTP servers only. Expose the server over streamable-HTTP first.
- If you need a result larger than 8,000 characters, pick a tool or server setting that returns less, because Tares caps every tool result at that size.
Related
Still stuck? Get help