manage_agents
InactiveTool of io.github.butterbase-ai/mcp
Manage agents for a Butterbase app: list, get, create, update, delete, and validate specs. Actions: - "list": List all agents defined for an app. - "get": Get a single agent by name (full record incl. graph_spec). - "create": Create a new agent. Requires name + graph_spec. - "update": Patch an existing agent (partial update). Requires name. - "delete": Permanently delete an agent and all its runs. Requires name. - "validate": Validate a graph_spec without creating an agent. Requires graph_spec. Parameters by action: list: { action: "list", app_id } get: { action: "get", app_id, name } create: { action: "create", app_id, name, graph_spec, display_name?, description?, default_model?, ...access_fields? } update: { action: "update", app_id, name, display_name?, description?, graph_spec?, default_model?, status?, ...access_fields? } delete: { action: "delete", app_id, name } validate: { action: "validate", app_id, graph_spec } Common errors: - 404: Agent or app not found - 403: Not authorized - 409: Agent name already exists (on create) - 400: Invalid body or unsafe public agent (pass safety_acknowledged=true to override)
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"action",
"app_id"
],
"properties": {
"name": {
"type": "string",
"description": "Agent slug. Required for get/update/delete; required for create (must match /^[a-z0-9][a-z0-9_-]{0,63}$/)"
},
"action": {
"enum": [
"list",
"get",
"create",
"update",
"delete",
"validate"
],
"type": "string",
"description": "The action to perform"
},
"app_id": {
"type": "string",
"description": "The app ID (e.g. app_abc123)"
},
"status": {
"enum": [
"active",
"disabled"
],
"type": "string",
"description": "Optional for update. Set to \"disabled\" to stop the agent accepting new runs."
},
"graph_spec": {
"description": "Graph spec object. Required for create and validate; optional for update. Validated by graphSpecSchema except on validate (which returns structured issues instead of rejecting)."
},
"visibility": {
"enum": [
"private",
"authenticated",
"public"
],
"type": "string",
"description": "Who can invoke the agent"
},
"description": {
"type": "string",
"description": "What this agent does. Optional for create/update."
},
"display_name": {
"type": "string",
"description": "Human-readable name. Optional for create/update."
},
"default_model": {
"type": "string",
"description": "Default LLM model identifier. Optional for create/update."
},
"daily_budget_usd": {
"type": "number",
"description": "Daily spend cap in USD (null = unlimited)",
"exclusiveMinimum": 0
},
"max_concurrent_runs": {
"type": "integer",
"description": "Maximum simultaneous active runs (null = unlimited)",
"exclusiveMinimum": 0
},
"safety_acknowledged": {
"type": "boolean",
"description": "Set true to confirm you accept the risks of public write-capable agents"
},
"max_runs_per_ip_per_hour": {
"type": "integer",
"description": "Rate limit per IP address per hour (null = unlimited)",
"exclusiveMinimum": 0
},
"max_runs_per_app_per_hour": {
"type": "integer",
"description": "Rate limit across the whole app per hour (null = unlimited)",
"exclusiveMinimum": 0
},
"max_runs_per_user_per_hour": {
"type": "integer",
"description": "Rate limit per authenticated user per hour (null = unlimited)",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
io.github.butterbase-ai/mcp
https://github.com/butterbase-ai/butterbase-oss
1/7 registries