Skip to main content

Agents on MCP Servers

Every published MCP server in the catalog exposes the same agent management tools on its bundle MCP endpoint (/mcp/bundle/{slug}/) as the Hub. Each agent you create through that endpoint is bound to that server—it can only call tools from that server.

Use this when your AI client is already connected to a product server (for example google-ads) and you want to create or run an agent without switching to Hub-only tools.

Tools (same names on Hub and bundle)

ToolPurpose
get_agentsList agents for this workspace on the current server (bundle) or across servers (Hub)
upsert_agentCreate or update an agent
delete_agentRemove an agent
upsert_agent_skill / delete_agent_skillOptional extra skill markdown for the prompt
trigger_agent_runStart an on-demand run; returns task_id
get_agent_taskPoll task state and run_id
cancel_agent_taskRequest cancellation while a run is in progress
list_agent_runsExecution history and run detail

On a bundle connection, mcp_source is set for you—you only need a display name and agents_md_content to create an agent.

Readiness

  • Required: agent instructions (agents.md content), an enabled MCP server with working access, and platform AI availability for your workspace.
  • Optional: heartbeat checklist (heartbeat.md)—recommended for scheduled runs with a fixed step list; not required for manual or one-off runs.

Create and run from chat

Agent tools ship on every bundle MCP connection. Connect Google Ads (or any catalog server) in Claude Desktop, Claude Code, Cursor, ChatGPT, or another MCP client—upsert_agent, trigger_agent_run, and the rest appear alongside that server's product tools in the thread you're already working in.

Example prompts in the same thread where you already use Google Ads:

  • Create an agent on this server called Morning PPC. Instructions: summarize yesterday's spend and flag disapproved ads.
  • Run Morning PPC now and paste the summary here.

The model calls upsert_agent and trigger_agent_run on that connection; the agent stays bound to Google Ads.

Example: CLI

For scripts and terminal use, the MCPBundles CLI hits the same bundle endpoint (--server google-ads):

mcpbundles call upsert_agent --as mcpbundles_prod --server google-ads -- \
name="morning-ppc-review" \
agents_md_content="# Morning PPC review\n\nSummarize yesterday's spend and flag any disapproved ads."

mcpbundles call trigger_agent_run --as mcpbundles_prod --server google-ads -- \
agent_id="<id-from-upsert>" \
isolated:=true \
trigger_context:='{"user_message":"Run the review from your instructions."}'

Poll with get_agent_task using the returned task_id.

Product skills vs agent setup

Calling get_skill on a product server returns domain guidance for that integration (workflows, entities, cautions). It does not include agent creation steps—that avoids duplicating platform docs across hundreds of servers.

To create or run agents, use the agent tools on that bundle connection (or on the Hub). For platform how-to in chat without calling tools, use Hub get_skill or read Creating A2A Agents.