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 Case | Recommended Primitive | Protocol |
|---|---|---|
| Backend for a frontend application | Model | Chat/Completion |
| Tool for other agents to invoke | Tool | MCP |
| Autonomous agent-to-agent interaction | Agent | A2A |