Getting Started
Connect your application to Agent Platform in four steps.
1. Implement the MCP Tool Server
Your application needs to expose an HTTP endpoint that speaks MCP (JSON-RPC 2.0). It must handle two methods: tools/list and tools/call.
server.ts
import express from "express";
const app = express();
app.use(express.json());
const tools = [
{
name: "lookup_account",
description: "Look up a customer account by email or ID",
inputSchema: {
type: "object",
properties: {
email: { type: "string", description: "Customer email" },
account_id: { type: "string", description: "Account ID" },
},
},
},
];
app.post("/mcp", (req, res) => {
const { method, params, id } = req.body;
if (method === "tools/list") {
return res.json({ jsonrpc: "2.0", id, result: { tools } });
}
if (method === "tools/call") {
const { name, arguments: args } = params;
// Execute the tool and return the result
const result = executeToolHandler(name, args);
return res.json({ jsonrpc: "2.0", id, result });
}
res.json({ jsonrpc: "2.0", id, error: { code: -32601, message: "Method not found" } });
});
app.listen(3001);2. Register Your MCP Server
Tell Agent Platform where your MCP server lives. Register it as a skill using the provisioning YAML or the ConnectRPC API.
provision.yaml
skills:
- name: account-lookup
display_name: "Account Lookup"
description: "Customer account operations"
category: read
requires_approval: false
skill_type: mcp
mcp_server_url: https://your-app.example.com/mcp
mcp_headers:
Authorization: "Bearer ${MCP_AUTH_TOKEN}"Apply
go run ./cmd/provision -config provision.yaml -api-url https://agent-platform.example.comEach MCP server is registered as a skill with
skill_type: mcp. Agent Platform discovers tools dynamically from your server — no need to define tool schemas in the config.3. Assign Skills to Agents
Agents only have access to the tools from their assigned skills. Assign your skill to the agents that need it.
agent-config.yaml
agents:
- id: ops-triage
name: "Operations Triage"
skills:
- account-lookup # Your skill
- invoice-parser # Another skill
system_prompt: |
You are an operations agent. Use the available
tools to help resolve customer issues.4. Trigger the Agent
Agents can be triggered via webhooks, schedules, or manual conversation. Here's a webhook example:
Send a webhook event
curl -X POST https://agent-platform.example.com/webhooks/events \
-H "Content-Type: application/json" \
-H "X-Webhook-Token: whk_your_source_token" \
-d '{
"event_type": "ticket.created",
"payload": {
"ticket_id": "TKT-1234",
"subject": "Cannot access account",
"customer_email": "user@example.com"
}
}'The agent receives the event payload, reasons about it, discovers your tools via tools/list, and invokes them as needed. Tool calls that modify data go through the approval gate before execution.