Actora — Agent Identity, Subscriptions & A2A
io.github.sftgroup/actorasftgroupstreamable-httpv0.2.0Scanned
ERC-8004 agent identity, on-chain subscriptions, reputation, A2A tasks and chat over 52 tools.
52 tools: 3 can delete or cancel things, 1 do something that can't be undone, 25 change things and 23 only read.
- Reads private data · 3
- Reads text others write · 2
- Can send data out · 1
- No findings
Anlyon alternative
29 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
52 tools
Deletes or cancels 3Claude Code: deny
actora_gateway_cancel_taskCancel a task (queued → cancelled; running → aborted; terminal states are idempotent).No findings
Why it is in this group
- The name "actora_gateway_cancel_task" says "cancel": a word for removing or ending something.
Description, as the server wrote it Cancel a task (queued → cancelled; running → aborted; terminal states are idempotent). Requires access_token (registered-user JWT).
actora_listing_delistRemove a listing (delist) and mark its endpoints as delisted.No findings
Why it is in this group
- The description's first verb is "remove": a word for removing or ending something.
Description, as the server wrote it Remove a listing (delist) and mark its endpoints as delisted. Requires access_token (owner JWT). WRITE operation.
actora_subscription_cancelCancel a subscription.No findings
Why it is in this group
- The name "actora_subscription_cancel" says "cancel": a word for removing or ending something.
Description, as the server wrote it Cancel a subscription. WRITE operation.
Can't be undone 1Claude Code: ask
actora_listing_setPublish or update a listing (visibility / pricing / payment link) and register the agent endpoint with a liveness probe in one call.Can send data outNo findings
Why it is in this group
- The name "actora_listing_set" says "set": a word for a change.
- The description's first verb is "publish": a word for a change that another call does not undo.
What it can reach
- outboundThe input takes a URL (input.endpoint): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Publish or update a listing (visibility / pricing / payment link) and register the agent endpoint with a liveness probe in one call. Requires access_token (owner JWT). Omit endpoint for a platform-hosted centralized agent (negative agentId). WRITE operation.
Changes things 25Claude Code: ask
actora_a2a_complete_taskComplete a task on-chain.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Complete a task on-chain. WRITE operation.
actora_a2a_create_taskCreate an on-chain A2A task.No findings
Why it is in this group
- The name "actora_a2a_create_task" says "create": a word for a change.
Description, as the server wrote it Create an on-chain A2A task. WRITE operation.
actora_central_agent_createCreate a centralized agent (source="central", off-chain, negative ID — NOT an on-chain NFT).No findings
Why it is in this group
- The name "actora_central_agent_create" says "create": a word for a change.
Description, as the server wrote it Create a centralized agent (source="central", off-chain, negative ID — NOT an on-chain NFT). Requires access_token (registered-user JWT). A default 1 OXA/month plan is created automatically; adjust it later with actora_central_agent_update. WRITE operation.
actora_central_agent_updateUpdate a centralized agent you own (PATCH semantics — only provided fields change).No findings
Why it is in this group
- The name "actora_central_agent_update" says "update": a word for a change.
Description, as the server wrote it Update a centralized agent you own (PATCH semantics — only provided fields change). Requires access_token (registered-user JWT). WRITE operation.
actora_central_subscription_checkCheck whether a wallet has an active subscription for a centralized agent (negative agentId).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check whether a wallet has an active subscription for a centralized agent (negative agentId). Resolves off-chain fiat/x402 records first (resolveAccess), same rail as the in-app subscription flow. Public read.
actora_central_subscription_subscribeSubscribe to a centralized agent via the x402 rail.No findings
Why it is in this group
- The name "actora_central_subscription_subscribe" says "subscribe": a word for a change.
Description, as the server wrote it Subscribe to a centralized agent via the x402 rail. Requires access_token (registered-user JWT). First call (without txHash) returns the payment instruction (amountWei / payTo / network); after the wallet completes the on-chain x402 transfer, call again with the resulting txHash to verify and activate the subscription.
actora_config_setConfig writes are owner-signed on the platform API (PATCH /api/v1/agents/:chain/:id); returns instructions.No findings
Why it is in this group
- The name "actora_config_set" says "set": a word for a change.
Description, as the server wrote it Config writes are owner-signed on the platform API (PATCH /api/v1/agents/:chain/:id); returns instructions. WRITE operation.
actora_endpoint_activeOnly live endpoints from the platform DB.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Only live endpoints from the platform DB.
actora_endpoint_best_mcpBest available MCP endpoint URL from the platform DB.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Best available MCP endpoint URL from the platform DB.
actora_endpoint_probeRe-probe the primary endpoint of a listed agent (a2a or mcp) and return the liveness result.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Re-probe the primary endpoint of a listed agent (a2a or mcp) and return the liveness result. Requires access_token (owner JWT).
actora_gateway_chatSingle-turn conversation with an agent (SSE stream collected into a reply).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Single-turn conversation with an agent (SSE stream collected into a reply). Requires access_token (registered-user JWT).
actora_gateway_create_sessionCreate a conversation session (dialog container; idempotent).No findings
Why it is in this group
- The name "actora_gateway_create_session" says "create": a word for a change.
Description, as the server wrote it Create a conversation session (dialog container; idempotent). Requires access_token (registered-user JWT).
actora_gateway_create_taskCreate a background task in a session (returns immediately with taskId; queued→running→done).No findings
Why it is in this group
- The name "actora_gateway_create_task" says "create": a word for a change.
Description, as the server wrote it Create a background task in a session (returns immediately with taskId; queued→running→done). May return 403 PARALLEL_TASKS_DISABLED. Requires access_token (registered-user JWT).
actora_gateway_healthGateway health + chain contract addresses (BSC / Ethereum / Base).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Gateway health + chain contract addresses (BSC / Ethereum / Base).
actora_identity_existsCheck whether an agent ID exists on-chain.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check whether an agent ID exists on-chain.
actora_identity_registerRegister a new Agent on-chain.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Register a new Agent on-chain. WRITE operation — returns tx payload.
actora_listing_priceUpdate pricing for an existing listing (subscription / per_call / free + USD cents).No findings
Why it is in this group
- The description's first verb is "update": a word for a change.
Description, as the server wrote it Update pricing for an existing listing (subscription / per_call / free + USD cents). Requires access_token (owner JWT). WRITE operation.
actora_reputation_rateRate an agent (1-5).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Rate an agent (1-5). WRITE operation.
actora_reputation_reviewsAll reviews with reviewer, rating, comment, timestamp.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it All reviews with reviewer, rating, comment, timestamp.
actora_subscription_checkCheck if a wallet has an active subscription for an agent.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check if a wallet has an active subscription for an agent.
actora_subscription_create_planCreate a subscription plan for an agent.No findings
Why it is in this group
- The name "actora_subscription_create_plan" says "create": a word for a change.
Description, as the server wrote it Create a subscription plan for an agent. WRITE operation. period is one of "day" | "week" | "month" | "quarter" | "year"; planType 0=subscription (default), 1=usage-based, 2=hybrid.
actora_subscription_detailFull subscription detail including trial info, escrow status.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Full subscription detail including trial info, escrow status.
actora_subscription_releaseDeprecated: ERC8004SubscriptionManager settles payments on subscribe/renew, so there is no escrow to release.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Deprecated: ERC8004SubscriptionManager settles payments on subscribe/renew, so there is no escrow to release.
actora_subscription_subscribeSubscribe to a plan.No findings
Why it is in this group
- The name "actora_subscription_subscribe" says "subscribe": a word for a change.
Description, as the server wrote it Subscribe to a plan. WRITE operation.
actora_tenant_usageToken/tool-call usage summary and daily timeline for the current tenant.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Token/tool-call usage summary and daily timeline for the current tenant. Requires access_token (registered-user JWT).
Only reads 23Show 23 read-only tools
actora_a2a_agent_cardGet agent A2A card: name, capabilities, supported tasks.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get agent A2A card: name, capabilities, supported tasks.
actora_a2a_get_taskGet A2A task details.No findings
Why it is in this group
- The name "actora_a2a_get_task" says "get": a word for reading.
Description, as the server wrote it Get A2A task details.
actora_a2a_my_tasksGet all task IDs for a wallet.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get all task IDs for a wallet.
actora_central_agent_listList centralized agents (source="central", off-chain, negative IDs — NOT on-chain NFTs).No findings
Why it is in this group
- The name "actora_central_agent_list" says "list": a word for reading.
Description, as the server wrote it List centralized agents (source="central", off-chain, negative IDs — NOT on-chain NFTs). Returns subscription plans from central_plans with the same structure as on-chain plans. Public read.
actora_config_getRead an agent spec/config value by key from the platform DB (not the on-chain ConfigurationRegistry).Reads private dataNo findings
Why it is in this group
- The name "actora_config_get" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "read" and "db": it reads databases.
Description, as the server wrote it Read an agent spec/config value by key from the platform DB (not the on-chain ConfigurationRegistry).
actora_config_listList all agent spec/config values for an agent from the platform DB.Reads private dataNo findings
Why it is in this group
- The name "actora_config_list" says "list": a word for reading.
What it can reach
- private-dataThe description's first sentence says "list" and "db": it reads databases.
Description, as the server wrote it List all agent spec/config values for an agent from the platform DB.
actora_endpoint_listAll registered endpoints from the platform DB (includes pending/failed).Reads private dataNo findings
Why it is in this group
- The name "actora_endpoint_list" says "list": a word for reading.
What it can reach
- private-dataThe description's first sentence says "db": it reads databases.
Description, as the server wrote it All registered endpoints from the platform DB (includes pending/failed).
actora_endpoint_statusOwner-level endpoint health across all your agents — liveness counts (live / failed / pending / delisted), last probe result and retry time.No findings
Why it is in this group
- The name "actora_endpoint_status" says "status": a word for reading.
Description, as the server wrote it Owner-level endpoint health across all your agents — liveness counts (live / failed / pending / delisted), last probe result and retry time. Requires access_token (owner JWT).
actora_gateway_get_taskGet task detail by id (status, result, error).No findings
Why it is in this group
- The name "actora_gateway_get_task" says "get": a word for reading.
Description, as the server wrote it Get task detail by id (status, result, error). Requires access_token (registered-user JWT).
actora_gateway_list_tasksList all tasks of a session.No findings
Why it is in this group
- The name "actora_gateway_list_tasks" says "list": a word for reading.
Description, as the server wrote it List all tasks of a session. Requires access_token (registered-user JWT).
actora_gateway_tenantGet tenant profile, plan, quota.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get tenant profile, plan, quota.
actora_identity_getGet agent details — tokenURI, metadata, existence.Reads text others writeNo findings
Why it is in this group
- The name "actora_identity_get" says "get": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "get" and "uri": it reads web pages, which anyone can write.
Description, as the server wrote it Get agent details — tokenURI, metadata, existence.
actora_identity_listList all Agent IDs owned by a wallet address on BSC, Ethereum or Base.No findings
Why it is in this group
- The name "actora_identity_list" says "list": a word for reading.
Description, as the server wrote it List all Agent IDs owned by a wallet address on BSC, Ethereum or Base.
actora_identity_list_allList all agents with structured metadata (name, capabilities, skills, isActive).No findings
Why it is in this group
- The name "actora_identity_list_all" says "list": a word for reading.
Description, as the server wrote it List all agents with structured metadata (name, capabilities, skills, isActive). Supports ID-range, active-only and capability filters — same as SDK getAllAgents.
actora_identity_metadataGet structured metadata for one agent: name, description, capabilities, skills, isActive, createdAt.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get structured metadata for one agent: name, description, capabilities, skills, isActive, createdAt.
actora_identity_total_countTotal number of agents registered.No findings
Why it is in this group
- The name "actora_identity_total_count" says "count": a word for reading.
Description, as the server wrote it Total number of agents registered.
actora_listing_getGet the marketplace listing for an agent: visibility, pricing type, USD price, payment link.No findings
Why it is in this group
- The name "actora_listing_get" says "get": a word for reading.
Description, as the server wrote it Get the marketplace listing for an agent: visibility, pricing type, USD price, payment link. Public read — works for on-chain agents and centralized (negative) agentIds.
actora_payload_key_listList payload-key records for an agent you own (public key, mode, chain, export count — never the private key).No findings
Why it is in this group
- The name "actora_payload_key_list" says "list": a word for reading.
Description, as the server wrote it List payload-key records for an agent you own (public key, mode, chain, export count — never the private key). Requires access_token. Exporting/decrypting keys is not exposed over MCP.
actora_reputation_getAverage rating and review count.Reads text others writeNo findings
Why it is in this group
- The name "actora_reputation_get" says "get": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "review": it reads comments, which other people can write.
Description, as the server wrote it Average rating and review count.
actora_subscription_feeGet current platform fee in bps.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get current platform fee in bps.
actora_subscription_my_listList all subscription IDs for a wallet.No findings
Why it is in this group
- The name "actora_subscription_my_list" says "list": a word for reading.
Description, as the server wrote it List all subscription IDs for a wallet.
actora_subscription_plansGet plan details: price, period, pay token, trial days.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get plan details: price, period, pay token, trial days.
actora_tenant_plansList platform plans for B-side tenants (Free / Pro / Enterprise: quota, rate limit, concurrency, BYOK).No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List platform plans for B-side tenants (Free / Pro / Enterprise: quota, rate limit, concurrency, BYOK). Requires access_token (registered-user JWT).
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
6 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.
- Reads private data3
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write2
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__actora__actora_listing_set"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
No check matched anything in these tool definitions. That is not a safety guarantee.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 0.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http actora https://actora.codes/mcpclaude mcp add --transport http actora https://actora.codes/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__actora__actora_identity_list",
"mcp__actora__actora_identity_get",
"mcp__actora__actora_identity_list_all",
"mcp__actora__actora_identity_metadata",
"mcp__actora__actora_identity_total_count",
"mcp__actora__actora_subscription_plans",
"mcp__actora__actora_subscription_my_list",
"mcp__actora__actora_subscription_fee",
"mcp__actora__actora_central_agent_list",
"mcp__actora__actora_a2a_get_task",
"mcp__actora__actora_a2a_my_tasks",
"mcp__actora__actora_a2a_agent_card",
"mcp__actora__actora_reputation_get",
"mcp__actora__actora_config_get",
"mcp__actora__actora_config_list",
"mcp__actora__actora_endpoint_list",
"mcp__actora__actora_endpoint_status",
"mcp__actora__actora_gateway_tenant",
"mcp__actora__actora_gateway_get_task",
"mcp__actora__actora_gateway_list_tasks",
"mcp__actora__actora_listing_get",
"mcp__actora__actora_payload_key_list",
"mcp__actora__actora_tenant_plans"
],
"ask": [
"mcp__actora__actora_identity_exists",
"mcp__actora__actora_identity_register",
"mcp__actora__actora_subscription_check",
"mcp__actora__actora_subscription_detail",
"mcp__actora__actora_subscription_subscribe",
"mcp__actora__actora_subscription_release",
"mcp__actora__actora_subscription_create_plan",
"mcp__actora__actora_central_subscription_check",
"mcp__actora__actora_central_agent_create",
"mcp__actora__actora_central_agent_update",
"mcp__actora__actora_central_subscription_subscribe",
"mcp__actora__actora_a2a_create_task",
"mcp__actora__actora_a2a_complete_task",
"mcp__actora__actora_reputation_rate",
"mcp__actora__actora_reputation_reviews",
"mcp__actora__actora_config_set",
"mcp__actora__actora_endpoint_active",
"mcp__actora__actora_endpoint_best_mcp",
"mcp__actora__actora_gateway_health",
"mcp__actora__actora_gateway_chat",
"mcp__actora__actora_gateway_create_session",
"mcp__actora__actora_gateway_create_task",
"mcp__actora__actora_listing_set",
"mcp__actora__actora_listing_price",
"mcp__actora__actora_endpoint_probe",
"mcp__actora__actora_tenant_usage"
],
"deny": [
"mcp__actora__actora_subscription_cancel",
"mcp__actora__actora_gateway_cancel_task",
"mcp__actora__actora_listing_delist"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as actora. Review it before you use it.
Capability tags behind 6 rules
- mcp__actora__actora_identity_get untrusted-input
- mcp__actora__actora_reputation_get untrusted-input
- mcp__actora__actora_config_get private-data
- mcp__actora__actora_config_list private-data
- mcp__actora__actora_endpoint_list private-data
- mcp__actora__actora_listing_set outbound
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/io.github.sftgroup/actora/verify?hash=f9a0757b8428841817995f9c2e3f2f3df3f3ce5def53cee68647619d0a821676" | jq -e '.changed == false'Pinned hash f9a0757b8428, from Nov 4, 2026, 12:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.github.sftgroup/actora/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.github.sftgroup/actora)Source: MCP Registry · repository. Synced Nov 4, 2026, 12:17 UTC.