Cookbook
Agents & skills · for AI agents

Create a grounded support agent

Create an agent with a soul, a task with boundaries, tools and a knowledge base — over MCP.

MCP tools:list_toolslist_knowledge_basescreate_agentget_agent

Principle — one agent, one job. Give this agent a single, clearly bounded task. If the business has three jobs (support and sales and scheduling), build three agents — a "does everything" agent answers each thing worse. More in Design principles.

An agent is soul + task + tools + skills + knowledge_bases. soul is identity and voice; task is the job and its boundaries — both go into the fixed prefix of the system prompt.

1. See what you can attach

list_tools()             # tools available to this tenant (including connected MCP tools)
list_knowledge_bases()   # knowledge bases you can mount

2. Create it

create_agent(
  name="Support",
  soul="You are the support assistant for Acme Loans. Professional and warm.",
  task="Answer questions about mortgage products and the application process. "
       "Never promise a disbursement date; never give legal or tax advice; "
       "for any specific quote, call a tool — do not answer from memory.",
  tools=["web_search"],
  knowledge_bases=["Company policy"],
  published=True,
)

3. Confirm what landed

get_agent(name="Support")   # writing it doesn't mean it looks the way you intended

published=True means visible, not usable: an empty space = off. To let end users reach it, create a share link or add the agent to a user's space (done in the console).

Boundaries belong in task — negative constraints ("never promise…") stop drift better than positive description. Don't put safety rules in soul; the platform appends global moderation automatically. To change one field later, use update_agent(name, field=…) — it merges, so it won't blank the rest.

Report back. Give the user the agent's console link to review and test it — https://console.agent4.io/#/agents/Support — and note that to let end users reach it, they create a share link in the console (an empty space = off).