Agent Control — Agent Meter
Can I pay this address? ok·new·warn·sink. Buy looks_20 $0.20 or look $0.10. No inbox.
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"agent-control": {
"url": "https://agent-control.net/api/v1/mcp"
}
}
}リモートエンドポイント
https://agent-control.net/api/v1/mcpstreamable-httpできること
ツール一覧
ツール(16)
🟢meter_pricing
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. No Authorization / Bearer empty. Public catalog from this tool: look, looks_20, addresses_100, stamp_tx. default_sku is look. paid_sku looks_20. Base USDC (EIP-3009 exact) and Solana USDC. No email. No API key. Human App $29 plans are separate.
入力スキーマ
{
"type": "object",
"properties": {}
}🟢meter_buy_pass(sku, proof, pass_token, signature, payment)
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. Call with sku looks_20 (or omit) to buy a pack that mints/extends X-Agent-Pass. look $0.10 is optional one-shot. Returns a payable invoice as tool content (ok:true / status payment_required) with pay_to, base_pay_to, accepts (Base USDC EIP-3009 exact and Solana USDC), amount_usd, amount_base_units, reference, pay_url, invoice_id, watch_url, adapter_url, base_adapter_url, preferred_rail, pay_page, next_tool, tool_fields, sign_exact, adapter_snippet, next_steps. Prefer Base EIP-3009 exact to base_pay_to (CDP/AgentKit; no Solana key) then meter_watch with payment. Use sign_exact + adapter_snippet to finish in-process (payMeterPassBase / signTypedData). Fetch base_adapter_url only if you need the full file. Optional Solana: fetch adapter_url. 402 invoice includes pay_page for Phantom laptop as a last resort. We never take keys. Packs: looks_20 / addresses_100 / stamp_tx. No human account.
入力スキーマ
{
"type": "object",
"properties": {
"sku": {
"type": "string",
"description": "Catalog id from meter_pricing. Omit or looks_20 is the paid pack. look $0.10 is optional one-shot. Packs: looks_20, addresses_100, stamp_tx. pass_1h stays in catalog only."
},
"proof": {
"type": "object",
"description": "Payment proof. { type: dev } only when METER_DEV_GRANT=1. Never send a secret key."
},
"pass_token": {
"type": "string",
"description": "Existing X-Agent-Pass to extend with a pack."
},
"signature": {
"type": "string",
"description": "Optional on-chain tx signature after you sign locally. Not a private key."
},
"payment": {
"type": "object",
"description": "Optional Base EIP-3009 exact payload. Same JSON as PAYMENT-SIGNATURE. Never send a secret key."
}
}
}⚪meter_watch(invoice_id, sku, signature, payment)
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. After Base EIP-3009 exact (CDP/AgentKit; no Solana key) or optional Solana USDC, call with invoice_id until token. Pass the Base payment object from payMeterPassBase / sign_exact.payment_template after you fill signature ({ x402Version, payload:{ authorization, signature }, accepted }) — not a raw signature string. Repeat until the result includes token — that is X-Agent-Pass. Then meter_scan with pass_token. Optional signature (tx sig only). We never take keys. No human account.
入力スキーマ
{
"type": "object",
"properties": {
"invoice_id": {
"type": "string",
"description": "From meter_buy_pass / 402 invoice."
},
"sku": {
"type": "string"
},
"signature": {
"type": "string",
"description": "Optional Solana tx signature after local sign. Not a private key."
},
"payment": {
"type": "object",
"description": "Base x402 v2 payment object from payMeterPassBase / sign_exact.payment_template (x402Version + payload.authorization + payload.signature + accepted). Not a raw signature string. Never send a secret key."
}
}
}🟢meter_scan(chain, address, pass_token)
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. One look = one address. No free looks. Without a paid X-Agent-Pass, 402 looks_20 pack $0.20 (look $0.10 is optional one-shot). Prefer Base USDC (EIP-3009 exact) to base_pay_to (CDP/AgentKit; no Solana key). Optional Solana USDC. 402 invoice includes next_steps and pay_page for Phantom laptop as a last resort. Risk ok|new|warn|sink. Never hold.
入力スキーマ
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "solana, ethereum, or base"
},
"address": {
"type": "string"
},
"pass_token": {
"type": "string"
}
},
"required": [
"chain",
"address"
]
}⚪meter_preflight(chain, wallet, to, value_usd, cap_usd, ...)
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. One look = one address. No free looks. Without a paid X-Agent-Pass, 402 looks_20 pack $0.20. look $0.10 is optional one-shot. Body: chain, wallet, to, value_usd, cap_usd. allow or stop vs cap_usd. Never hold.
入力スキーマ
{
"type": "object",
"properties": {
"chain": {
"type": "string"
},
"wallet": {
"type": "string"
},
"to": {
"type": "string"
},
"value_usd": {
"type": "number"
},
"cap_usd": {
"type": "number"
},
"pass_token": {
"type": "string"
}
},
"required": [
"chain",
"wallet",
"to",
"value_usd",
"cap_usd"
]
}🟢meter_scan_batch(chain, addresses, pass_token, sku)
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. Risk scores for up to 100 addresses. Sku addresses_100 ($0.15) covers scan_batch. Never hold. ok|new|warn|sink.
入力スキーマ
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "solana, ethereum, or base"
},
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Up to 100 addresses"
},
"pass_token": {
"type": "string"
},
"sku": {
"type": "string"
}
},
"required": [
"chain",
"addresses"
]
}⚪meter_stamp(decision, chain, wallet, to, value_usd, ...)
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. stamp_tx $0.05. Take this ticket or we do not take your USDC. Signed allow|stop receipt. HMAC-SHA256. Merchants verify with meter_verify_stamp before accepting agent USDC.
入力スキーマ
{
"type": "object",
"properties": {
"decision": {
"type": "string",
"description": "allow or stop. Optional if value_usd and cap_usd are set."
},
"chain": {
"type": "string"
},
"wallet": {
"type": "string"
},
"to": {
"type": "string"
},
"value_usd": {
"type": "number"
},
"cap_usd": {
"type": "number"
},
"pass_token": {
"type": "string"
}
}
}🟢meter_verify_stamp(stamp_id, id)
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. Public. Take this ticket or we do not take your USDC. GET a signed allow|stop receipt by stamp_id before you accept agent USDC. If verified is true and decision is allow, take the USDC. If not, do not take it. No email. No API key.
入力スキーマ
{
"type": "object",
"properties": {
"stamp_id": {
"type": "string"
},
"id": {
"type": "string"
}
}
}🟢check_transfer(to, value_usd)
MUST be called before the agent signs or sends a transfer. Returns allow, alert, hold, or block. If must_abort is true, do not sign. If decision is hold, poll get_approval until allow or block.
入力スキーマ
{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Destination wallet address"
},
"value_usd": {
"type": "number",
"description": "Transfer size in USD"
}
},
"required": [
"to",
"value_usd"
]
}🟢get_agent_status
Returns whether this agent is paused, expired, or healthy.
入力スキーマ
{
"type": "object",
"properties": {}
}🟢get_approval(approval_id)
Poll a held pre-sign check. Pass approval_id from check_transfer. Repeat until decision is allow or block.
入力スキーマ
{
"type": "object",
"properties": {
"approval_id": {
"type": "string",
"description": "ID returned when check_transfer decision is hold"
}
},
"required": [
"approval_id"
]
}🟢get_pricing
List Agent Control plans and trial truth. Starter $29 / Pro $49 / Team $149. 1-day trial, no card, no KYC. Pay on-chain USDC on Solana. A human principal owns billing and Approval Inbox.
入力スキーマ
{
"type": "object",
"properties": {}
}⚪start_trial(human_email, principal_id)
Invite a human to start the 1-day trial. Provide human_email or an existing principal_id. Agents cannot open a root account. The human owns billing and Approval Inbox.
入力スキーマ
{
"type": "object",
"properties": {
"human_email": {
"type": "string",
"description": "Email of the human customer of record"
},
"principal_id": {
"type": "string",
"description": "Existing human user id, if you already have one"
}
}
}⚪attach_human(human_email, principal_id)
Attach this agent to a human principal (email or existing principal_id). Does not move the agent to a different human. Agents cannot decide Approval Inbox.
入力スキーマ
{
"type": "object",
"properties": {
"human_email": {
"type": "string",
"description": "Email of the human customer of record"
},
"principal_id": {
"type": "string",
"description": "Existing human user id"
}
}
}🟡create_checkout(plan, asset, chain)
Open a pay request on the human principal that owns this agent. Wraps POST /api/v1/billing/checkout. The human pays on-chain USDC (Solana). Not automatic payment. Agents cannot decide Approval Inbox.
入力スキーマ
{
"type": "object",
"properties": {
"plan": {
"type": "string",
"description": "starter, pro, or team"
},
"asset": {
"type": "string",
"description": "usdc (default), sol, or eth"
},
"chain": {
"type": "string",
"description": "solana (default), ethereum, or base"
}
},
"required": [
"plan"
]
}🟢get_status
Subscription or trial status for the human principal that owns this agent. Does not return Approval Inbox items and cannot approve holds.
入力スキーマ
{
"type": "object",
"properties": {}
}コミュニティ
エビデンス