Tracea
Tracea — legal identity (Know Your Agent) for AI agents, on-chain. ERC-8004 compatible.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"tracea": {
"url": "https://mcp.tracea.online/mcp"
}
}
}远程端点
https://mcp.tracea.online/mcpstreamable-http它能做什么
工具清单
工具(15)
⚪verify_agent(agent_address)
Verify an AI agent's on-chain legal identity on Tracea (Base Sepolia). Returns registration status, financial cap, permission scope, revocation status, and KYA legal identity (mandant) when available. Use this BEFORE trusting or delegating work to an agent.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of the agent (0x...)"
}
},
"required": [
"agent_address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_agent_info(agent_address)
Get the raw Tracea registry record for an agent: owner, permission scope, financial cap, active status, timestamps.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of the agent"
}
},
"required": [
"agent_address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢is_agent_revoked(agent_address)
Check whether an agent's mandate has been revoked on Tracea (immediate, scheduled or partial revocation).
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of the agent"
}
},
"required": [
"agent_address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_owner_agents(owner_address)
List all agent addresses registered on Tracea by a given owner address.
输入模式
{
"type": "object",
"properties": {
"owner_address": {
"type": "string",
"description": "Ethereum address of the owner"
}
},
"required": [
"owner_address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_action(action_id)
Read a single logged agent action from the Tracea ActionLog contract by its numeric ID. Returns agent, action type, payload and timestamp.
输入模式
{
"type": "object",
"properties": {
"action_id": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Numeric action ID"
}
},
"required": [
"action_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_agent_actions(agent_address)
List all on-chain action IDs logged for a given agent on Tracea.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of the agent"
}
},
"required": [
"agent_address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪log_action(agent_address, action_type, data)
Log an agent action on-chain via Tracea (immutable audit trail, court-ready). Requires TRACEA_API_KEY env var. The action is signed by the account's wallet.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of the acting agent"
},
"action_type": {
"type": "string",
"maxLength": 64,
"description": "Short action type, e.g. 'email_sent', 'payment_initiated'"
},
"data": {
"description": "Optional human-readable payload (JSON string recommended)",
"type": "string",
"maxLength": 2000
}
},
"required": [
"agent_address",
"action_type"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_registration_file(agent_address)
Fetch the ERC-8004 compatible registration file for a Tracea-registered agent, including the KYA legal principal block.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of the agent"
}
},
"required": [
"agent_address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪report_activity(agent_address, category, summary, permission_label, in_permission, ...)
Report an action the agent just performed to its owner's Tracea activity feed (off-chain, free, instant). Call this AFTER every significant action (email sent, message posted, file modified, payment, purchase, booking...). Auth via the Tracea MCP URL (?key=...) from the agent's identity page, OR self-activate with a one-time activation code (?code=... or x-activation-code header) — the tool then receives its apiKey automatically.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of this agent"
},
"category": {
"type": "string",
"enum": [
"email",
"payment",
"document",
"message",
"purchase",
"social",
"data_access",
"rdv",
"code",
"other"
],
"description": "Action category"
},
"summary": {
"type": "string",
"maxLength": 500,
"description": "Short human-readable summary of what was done"
},
"permission_label": {
"description": "Which owner-granted permission this action falls under",
"type": "string"
},
"in_permission": {
"description": "false if this action is OUTSIDE the granted permissions (flagged red)",
"type": "boolean"
},
"details": {
"description": "Optional JSON string with extra context",
"type": "string",
"maxLength": 2000
}
},
"required": [
"agent_address",
"category",
"summary"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡get_my_identity(agent_address, activation_code)
Get this agent's full Tracea identity (activity apiKey +, for v2 agents, its EOA private key and ERC-4337 smart account address) using a one-time activation code from the owner. The private key is returned ONLY ONCE — save it securely.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of this agent"
},
"activation_code": {
"description": "One-time activation code (or use ?code= / x-activation-code)",
"type": "string"
}
},
"required": [
"agent_address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_payment_whitelist(agent_address)
Get the list of owner-approved payment destination addresses for an agent (anti-injection guardrail). Non-empty list = the agent's smart account can ONLY pay these addresses. Empty = all allowed.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of the agent"
}
},
"required": [
"agent_address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_payment_allowed(agent_address, destination, amount_eth)
Dry-run a payment BEFORE executing it: checks on-chain whether the agent's smart account would allow it (permission granted, within financial cap, destination approved if a whitelist exists). Returns { allowed, reason }.
输入模式
{
"type": "object",
"properties": {
"agent_address": {
"type": "string",
"description": "Ethereum address of the agent (its smart account address)"
},
"destination": {
"type": "string",
"description": "Destination address to pay"
},
"amount_eth": {
"type": "string",
"description": "Amount in ETH, e.g. '0.001'"
}
},
"required": [
"agent_address",
"destination",
"amount_eth"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡payment_required(destination, amount_usdc, resource, agent, ttl_seconds)
Create a x402 payment request (HTTP 402) for a resource you sell to another agent. Returns a paymentId, the USDC amount in units, the destination address and the TraceaPayments contract to call. The paying agent must then call TraceaPayments.payX402(destination, amount, paymentId) on-chain — the contract enforces financial cap + whitelist on-chain. Deliver the resource only after payment_incoming confirms fulfilment.
输入模式
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Address that receives the USDC payment (yours)"
},
"amount_usdc": {
"type": "string",
"description": "Amount in USDC, e.g. '0.50' or '2'"
},
"resource": {
"description": "Identifier/URL of the resource to unlock after payment",
"type": "string"
},
"agent": {
"description": "Address of the paying agent, if known",
"type": "string"
},
"ttl_seconds": {
"description": "Validity of the payment session (30-3600s, default 300)",
"type": "number"
}
},
"required": [
"destination",
"amount_usdc"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪payment_incoming(payment_id, tx_hash)
Verify a x402 payment ON-CHAIN (the USDC transfer to your address, exact amount) and mark the session fulfilled. The blockchain is the ONLY source of truth — the payment_sessions table is never trusted alone. Returns { status: 'fulfilled', resource } if verified, or an error if not yet paid/expired.
输入模式
{
"type": "object",
"properties": {
"payment_id": {
"type": "string",
"description": "The paymentId returned by payment_required (pay_...)"
},
"tx_hash": {
"type": "string",
"description": "The on-chain transaction hash of the USDC transfer / payX402 call"
}
},
"required": [
"payment_id",
"tx_hash"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢payment_status(payment_id)
Get the status of a x402 payment session (pending | paid | fulfilled | expired), with destination, amount and tx hash. Useful to poll while waiting for the paying agent's on-chain transaction.
输入模式
{
"type": "object",
"properties": {
"payment_id": {
"type": "string",
"description": "The paymentId returned by payment_required (pay_...)"
}
},
"required": [
"payment_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据