Agents Overview
Asset Core provides production-ready adapters for AI agent integration, enabling models to manipulate state through a bounded, auditable operation set.
Who this is for
Engineers building AI agents that need to interact with Asset Core state, whether through MCP, OpenAI function calling, or Gemini tools.
What you will learn
- Why Asset Core’s fixed operation set is ideal for agents
- How protocol adapters translate tool calls to HTTP
- Which adapter to choose for your use case
When to use this
Use Asset Core as your agent’s state backend when you need:
- Auditability: Every state change is recorded
- Safety: Bounded operations prevent dangerous mutations
- Determinism: Reproducible behavior for testing and debugging
High-level structure
The Problem with Open-Ended APIs
AI agents can execute arbitrary actions, which creates risks:
- Unbounded mutations can corrupt state
- No audit trail for what changed
- Hard to test and verify behavior
- Difficult to constrain permissions
Transactions as Safe Surface
Asset Core solves this by exposing exactly 16 operations:
| Domain | Operations |
|---|---|
| Container | CreateContainer, RemoveContainer |
| Balance | AddFungible, RemoveFungible, TransferFungible, MergeStacks, ConsolidateStacks |
| Instance | MintInstance, BurnInstance, Attach, Detach |
| Slot | PlaceInSlot, RemoveFromSlot, SwapSlots |
| Schema | RegisterClass, RegisterClassShape |
This fixed vocabulary:
- Limits blast radius: Agents can only do these things
- Enables auditing: Every possible action is known
- Supports permissions: Filter operations by tag
- Simplifies testing: Finite state space
Protocol Adapters
Asset Core provides adapters that translate between AI protocols and HTTP:
Agent → Adapter → HTTP API → Daemon
Available adapters:
| Protocol | Description | Transport |
|---|---|---|
| MCP | Model Context Protocol | STDIO, SSE |
| OpenAI | Function calling | HTTP |
| Gemini | Function declarations | HTTP |
All adapters expose the same tool surface, so switching protocols doesn’t require changing your Asset Core integration.
Adapter Architecture
Each adapter provides:
- Tool definitions matching the protocol’s schema
- Executor that maps tool calls to HTTP requests
- HTTP client for daemon communication
- Error handling with protocol-appropriate responses
The adapters live in the assetcore-adapters crate and share common infrastructure.
Tool Inventory
Standard tools across all adapters:
| Tool | Description |
|---|---|
assetcore_commit | Submit transactions to write daemon |
assetcore_write_health | Check write daemon health |
assetcore_read_health | Check read daemon health |
assetcore_read_freshness | Check projection freshness |
The commit tool accepts the same operation structure as the HTTP API, so agents can compose complex transactions.
Filtering by Tags
Operations have tags (domain, action, scope, reversibility) that enable filtering:
# Allow only read operations
allowed = [op for op in operations if op.action != "destroy"]
# Restrict to specific domains
allowed = [op for op in operations if op.domain in ["balance", "container"]]
This lets you build agents with different permission levels without changing the core system.
Next steps
- MCP Integration - Set up the MCP server
- OpenAI Tools - Function calling integration
- Gemini - Gemini adapter usage
- Operations by Domain - Complete operation reference