Agent-Native Protocol Layer
MCP Layer
TruthLinked brings Model Context Protocol objects into chain state. Agents, tools, resources, prompt templates, policy cells, and action logs are represented by deterministic cells and signed transaction intents. The chain records what exists, who registered it, which policy controls it, and which transaction executed it.
01 Core Model
The MCP layer gives autonomous software a native execution surface on TruthLinked. A model client can discover tools, read resources, request prompt templates, and submit agent actions through an MCP-shaped transport. The authoritative records live in cells, storage slots, transaction hashes, and indexed events.
The MCP registry is the namespace for registered tools, resources, prompt templates, and registry counters.
An agent is a post-quantum account bound to a policy cell through the agent registry.
A policy cell defines status, permissions, spend limits, rate limits, and per-tool authority.
State-changing tool usage is submitted as a signed McpToolCall transaction.
02 Protocol Objects
| Object | Stored As | Role |
|---|---|---|
| MCP Registry | Genesis cell | Stores counts and indexes for tools, resources, and prompt templates. It maps names and positions to cell IDs. |
| Tool | Axiom cell | A callable capability with name, schema hash, category, enabled flag, call count, owner, bytecode, manifest hash, and declared execution surface. |
| Resource | Cell storage | A readable protocol object with name, URI scheme, MIME type, content hash, update timestamp, read count, and optional data slots. |
| Prompt Template | Cell storage | A named instruction template with template hash, argument definitions, approval timestamp, and use count. |
| Agent | Agent registry cell | A post-quantum actor account linked to policy. Agent actions are attributable by account ID and transaction history. |
| Policy Cell | Axiom cell | The authority boundary for an agent: status, read/write/admin allowances, per-tool permission, rate limits, spend ceilings, and review thresholds. |
| Action Log | Protocol cell | A durable activity trail for agent actions and tool-call provenance. |
03 Execution Flow
This flow gives agent systems a stable operational contract. Discovery, authority, execution, and inspection use the same chain-backed state model.
04 Transaction Intents
| Intent | Function |
|---|---|
| RegisterMcpTool | Registers a tool with bytecode, schema JSON, category, declared reads, declared writes, commutative keys, oracle schema IDs, and registry ID. |
| RegisterMcpResource | Registers a resource with name, URI scheme, MIME type, initial data, declared state surface, and registry ID. |
| RegisterMcpPrompt | Registers a prompt template with name, template bytes, argument definitions, and registry ID. |
| RegisterAgent | Binds an agent account ID to a policy cell in the agent registry. |
| SuspendAgent | Marks an agent as suspended and records the suspension reason. |
| ReinstateAgent | Restores an agent to active service after suspension. |
| McpToolCall | Executes a tool call with agent ID, tool ID, calldata, value, gas limit, policy cell ID, action log ID, and timestamp. |
05 Policy Cell
The policy cell is the control plane for agent authority. It gives the owner a concrete place to define what an agent can read, write, administer, spend, and call.
| Field | Meaning |
|---|---|
| Status | Current operating state for the agent policy path. |
| Allow Reads | Permission for read-category tools. |
| Allow Writes | Permission for state-changing tools. |
| Allow Admin | Permission for administrative capabilities. |
| Per-Tool Permission | Explicit permission bit for a tool cell ID. |
| Rate Limit | Maximum action frequency within the policy window. |
| Spend Per Transaction | Maximum value an agent can forward in one call. |
| Spend Per Epoch | Maximum value an agent can use across an epoch window. |
| Review Threshold | Human-review threshold for higher-risk activity. |
06 MCP Transport
TruthLinked exposes MCP-compatible HTTP endpoints through the public MCP node gateways. Use mcp1 as the primary endpoint, with mcp2 and mcp3 available as additional node endpoints. The node process also exposes MCP locally on the RPC port plus one.
| Endpoint | Status |
|---|---|
| https://mcp1.truthlinked.org/mcp | Primary public MCP endpoint. |
| https://mcp2.truthlinked.org/mcp | Available public MCP endpoint. |
| https://mcp3.truthlinked.org/mcp | Available public MCP endpoint. |
| Method | Purpose |
|---|---|
| initialize | Returns server identity and declares tool, resource, and prompt capabilities. |
| auth/challenge | Issues a nonce for the agent key. |
| auth/respond | Verifies the ML-DSA agent signature and opens an authenticated session. |
| tools/list | Lists registered enabled tools. With an agent ID, results are filtered by policy. |
| tools/call | Calls read tools or submits a signed agent tool-call transaction for write paths. |
| resources/list | Lists registered resource cells. |
| resources/read | Reads resource data from a trth:// URI. |
| prompts/list | Lists approved prompt templates from the registry. |
| prompts/get | Returns a named prompt template reference and metadata. |
MCP_URL="https://mcp1.truthlinked.org/mcp"
curl -s "$MCP_URL" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
07 Native Tools
TruthLinked deploys native MCP tools at genesis so agents and clients can inspect the network immediately. These tools provide chain information, balances, validators, staking state, transactions, account history, cells, oracle results, SDK retrieval, faucet guidance, and transaction submission.
| Tool | Use |
|---|---|
| get_chain_info | Current height, finalized height, genesis hash, and session information. |
| get_balance | TRTH balance for a 32-byte account ID. |
| get_validators | Validator list, active stake, and jail state. |
| get_cell_info | Cell owner, token flag, immutability flag, and cell metadata. |
| get_transaction | Transaction detail lookup by hash. |
| get_account_history | Recent transaction history for an account. |
| submit_transaction | Submission path for pre-signed MCP tool-call transactions. |
| http_fetch | Accord-backed HTTP fetch path for oracle workflows. |
MCP_URL="https://mcp1.truthlinked.org/mcp"
curl -s "$MCP_URL" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_chain_info","arguments":{}}}'
08 CLI Usage
The Axiom CLI exposes MCP commands for the registry and execution path. Builders can register agents, resources, prompt templates, and submit agent tool calls from the same operational toolchain used for cells and transactions.
Register an agent
axiom mcp register-agent \ --from ./owner.keys.json \ --agent-keyfile ./agent.keys.json \ --policy-cell-id <policy_cell_id>
Register a resource
axiom mcp register-resource \ --from ./owner.keys.json \ --resource-id <resource_cell_id> \ --name market-feed \ --uri-scheme trth \ --mime-type application/json \ --initial-data-json ./resource-data.json
Register a prompt template
axiom mcp register-prompt \ --from ./owner.keys.json \ --prompt-id <prompt_cell_id> \ --name inspect-cell-risk \ --template-file ./inspect-cell-risk.prompt.txt \ --arg cell_id:"Cell ID to inspect":required \ --arg risk_level:"Low, medium, or high":false
Call a tool as an agent
axiom mcp tool-call \ --from ./agent.keys.json \ --tool-id <tool_cell_id> \ --policy-cell-id <policy_cell_id> \ --calldata-hex <hex_payload> \ --gas-limit 500000
09 Prompt Templates
A prompt template is a reusable instruction object with a stable name, argument schema, template hash, and prompt cell ID. It gives agent systems a registry-backed way to reference approved instruction patterns.
The registry name used by MCP clients through prompts/list and prompts/get.
The content fingerprint for the registered instruction template.
Named fields expected by the template, including required flags.
A counter for prompt usage in agent workflows.
MCP_URL="https://mcp1.truthlinked.org/mcp"
curl -s "$MCP_URL" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":3,"method":"prompts/list","params":{}}'
curl -s "$MCP_URL" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":4,"method":"prompts/get","params":{"name":"inspect-cell-risk"}}'
A prompt count of zero means the registry currently has zero approved prompt templates visible to the MCP layer and explorer indexer.
10 Explorer Visibility
The explorer exposes MCP activity as a first-class chain surface. Operators can inspect registered agents, tool calls, policy links, resource registrations, prompt templates, and transaction references from the MCP Agents page, transaction pages, address pages, and cell pages.
| Surface | Data |
|---|---|
| Agents page | Agent count, tool count, resource count, prompt-template count, tool-call count, and recent MCP activity. |
| Transaction page | Intent-specific fields for MCP registrations and tool calls. |
| Address page | MCP activity associated with an agent, owner, or actor address. |
| Cell page | Tool, resource, policy, registry, and action-log cells with storage and event context. |
| Indexer API | GET /mcp/events and GET /address/{id}/mcp. |
11 Operating Guidance
- Use tools for callable capabilities with a schema and an authority boundary.
- Use resources for durable data that agents can read and cite.
- Use prompt templates for reusable instruction patterns that need provenance.
- Use policy cells to keep agent authority narrow and reviewable.
- Use action logs and explorer pages to inspect agent behavior after execution.
- Use per-tool permissions for every capability that mutates state or forwards value.