Agent Platform

Integrate your applications with AI-powered operations agents via the Model Context Protocol (MCP).

What is Agent Platform?

Agent Platform runs autonomous AI agents that handle operational workflows — processing invoices, triaging tickets, managing accounts. Each agent has a set of tools (skills) it can invoke to take action in connected systems.

External applications integrate with Agent Platform by exposing their capabilities as MCP tool servers. Agents discover available tools at runtime and invoke them through a standardized protocol, with built-in approval gates and escalation policies to keep humans in the loop.

Architecture

The platform sits between your LLM-powered agents and your backend services.

┌──────────────────────────────────────────────────────┐

│ Triggers (Webhooks, Schedules, Manual) │

└────────────────────┬─────────────────────────────────┘

┌──────────────────────────────────────────────────────┐

│ Agent Platform │

│ ┌─────────┐ ┌──────────┐ ┌────────────────────┐ │

│ │ Daemon │→ │ LLM Call │→ │ Tool Approval Gate │ │

│ │ Workflow │ │ (Bedrock) │ │ (Human-in-loop) │ │

│ └─────────┘ └──────────┘ └─────────┬──────────┘ │

└────────────────────────────────────────┬─────────────┘

┌───────────────┐ ┌───────────────────┐

│ MCP Server A │ │ MCP Server B │

│ (Your App) │ │ (Another Service) │

└───────────────┘ └───────────────────┘

How MCP Works

The Model Context Protocol (MCP) is an open standard for connecting AI agents to external tools and data. It uses JSON-RPC 2.0 over HTTP and defines two key operations:

tools/list

Discovery. The agent asks your server what tools are available. Your server returns tool names, descriptions, and JSON Schema input definitions.

tools/call

Execution. The agent invokes a specific tool with arguments. Your server executes the action and returns the result.

You don't need to implement the full MCP specification. Agent Platform only requires the tools/list and tools/call methods.

Quick Example

Here's what a minimal MCP tool server response looks like for tools/list:

tools/list response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "save_csv",
        "description": "Save parsed invoice data as a CSV file",
        "inputSchema": {
          "type": "object",
          "properties": {
            "filename": { "type": "string" },
            "rows": {
              "type": "array",
              "items": { "type": "object" }
            }
          },
          "required": ["filename", "rows"]
        }
      }
    ]
  }
}