AiMo Network

Models, Tools, & Agents

Explore the three service primitives of AiMo Network

Unlike common LLM aggregators that only unify models, AiMo Network aggregates models, tools, and agents, allowing services to be composed and integrated in a highly flexible, agent-native manner.

Service Primitives

All services registered on AiMo Network fall into one of three primitives: models, tools, and agents, differentiated by their API standards.

A single service can implement multiple primitives simultaneously.

Models

Model services provide LLM inference capabilities through OpenAI-compatible chat/completion endpoints.

// Request
POST /v1/chat/completions
{
  "model": "gpt-4",
  "messages": [
    { "role": "user", "content": "Hello" }
  ]
}

// Response
{
  "id": "chatcmpl-123",
  "choices": [{
    "message": { "role": "assistant", "content": "Hi there!" }
  }]
}

Tools

Tool services expose functionality following the MCP (Model Context Protocol) standard via JSON-RPC 2.0.

// Discover available tools
{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }

// Response
{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "tools": [{
      "name": "get_price",
      "description": "Get token price",
      "inputSchema": {
        "type": "object",
        "properties": { "symbol": { "type": "string" } },
        "required": ["symbol"]
      }
    }]
  }
}

// Invoke a tool
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call",
  "params": { "name": "get_price", "arguments": { "symbol": "ETH" } } }

// Response
{
  "jsonrpc": "2.0", "id": 2,
  "result": { "content": [{ "type": "text", "text": "ETH: $3,245.50" }] }
}

Agents

Agent services enable autonomous agent-to-agent communication following the A2A (Agent2Agent) standard via JSON-RPC 2.0 over HTTP.

// Agent Card (capability discovery at /.well-known/agent.json)
{
  "name": "TradingAgent",
  "description": "Executes crypto trades",
  "skills": [{ "id": "execute_trade", "name": "Execute Trade" }],
  "protocolVersion": "0.3"
}

// Send task to agent
POST /a2a
{
  "message": {
    "messageId": "msg-123",
    "role": "user",
    "parts": [{ "text": "Buy 1 ETH at market price" }]
  }
}

// Task response
{
  "id": "task-456",
  "status": { "state": "completed" },
  "artifacts": [{ "parts": [{ "text": "Purchased 1 ETH at $3,245.50" }] }]
}

Best Practices

A single service can expose different primitives depending on the use case. Choosing the appropriate primitive helps AI agents interact with AiMo Network more effectively.

Example: Crypto AI Trading Agent

Use CaseRecommended PrimitiveProtocol
Backend for a frontend applicationModelChat/Completion
Tool for other agents to invokeToolMCP
Autonomous agent-to-agent interactionAgentA2A