MCP server
Tembo Agent Studio exposes a Model Context Protocol (MCP) server so an AI client like Claude Code can read and improve your TAS deployment directly. The agent definition files already live in your connected Git repo, which Claude Code can edit locally — so the MCP server’s job is everything that isn’t in Git: live run history and output, the tool catalog, connection status, automations, Slack bots, and spec validation, plus the ability to trigger runs and hand authoring to the Tembo Coding Agent.
Connect Claude Code
Section titled “Connect Claude Code”Mint a key under Settings → API keys, then:
claude mcp add --transport http tas https://<your-tas-host>/mcp \ --header "Authorization: Bearer tas_..."That’s it — start a Claude Code session and ask it to “list my agents” or “show
the last failed run’s output”. Any MCP client that speaks Streamable HTTP
works the same way; point it at https://<your-tas-host>/mcp with the same
Authorization: Bearer header.
Authentication
Section titled “Authentication”The MCP server uses the same personal API keys as the REST API. A key
acts as you: tools that run agents use your per-user connections, and each
tool is allowed only if your live workspace role permits it. Read tools need
viewer; write tools (trigger_run, create_automation,
request_agent_change) need operator and return an error for a viewer key.
Read (viewer):
list_agents— every agent in the repo, including specs that fail to parse.get_agent— one agent plus its raw spec text and any sidecar tools/skills.validate_agent_spec— parse a draft spec without writing it. Use this before committing.list_runs— recent runs, filterable by status / agent / trigger.get_run— full output, error, and token usage for one run.list_tools— your cached tool catalog. Each tool’sslugis what goes into an agent’sconnections: tools: [...].list_connections— your connection status across Composio + Native MCP.list_automations— scheduled automations.list_slack_apps— the workspace’s Slack bots (secret-safe).
Write (operator):
trigger_run— run an agent now, acting as you; returns a run id to poll withget_run.create_automation— schedule an agent on a cron expression.request_agent_change— hand an edit or a new-agent request to the Tembo Coding Agent, which opens a PR (or commits directly, per your commit mode).
Slack bots (workspace_admin):
create_slack_app— create a Slack bot (metadata only; comes upconfiguringand needs the one-time browser OAuth install before it’s live).update_slack_app— change a bot’s name, the agent labels it may launch, owner, or secrets.delete_slack_app— remove a bot.
A typical loop with Claude Code
Section titled “A typical loop with Claude Code”- Ask Claude Code to read the agent you want to improve (
get_agent) and the relevant runs (list_runs,get_run) to see what actually happened. - It edits the agent’s YAML in your local repo checkout — its native strength.
- Before committing, it can
validate_agent_specto catch shape errors, andlist_toolsto get the exact connection slugs. - After you commit and the change is live, it can
trigger_runto test, thenget_runto read the result — iterating until the agent behaves.
request_agent_change is there for clients that aren’t themselves coding
agents (or when you’d rather TAS open the PR). When Claude Code can edit the
files directly, that’s usually the faster path.
- Stateless. The server runs in stateless mode — there’s no session to keep alive; each call is authenticated by the bearer token on its own.
- Per-user connections. A run triggered through the MCP server uses the
connections you authorized. If a run fails on a missing connection, check
list_connectionsand authorize it under Connections. - The token is shown once. Revoke or disable a key anytime under Settings → API keys; the change takes effect immediately.