Skip to content

Actora Platform — Agent Publishing, Subscriptions & A2A

io.github.sftgroup/actora-platformsftgroupstreamable-httpv0.2.0Scanned

Actora developer tools: ERC-8004 identity, subscriptions, listings, A2A, reputation.

43 tools: 2 can delete or cancel things, 1 do something that can't be undone, 21 change things and 19 only read.

Tools: 2 delete, 1 irreversible, 21 write, 19 read.
  • Reads private data · 3
  • Reads text others write · 2
  • Can send data out · 1
  • No findings

Anlyon alternative

24 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.

43 tools

Deletes or cancels 2Claude Code: deny
  • 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 21Claude 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_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.
Only reads 19Show 19 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_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.

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.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__actora-platform__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-platform https://actora.codes/mcp/platform
claude mcp add --transport http actora-platform https://actora.codes/mcp/platform

Run 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.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__actora-platform__actora_identity_list",
      "mcp__actora-platform__actora_identity_get",
      "mcp__actora-platform__actora_identity_list_all",
      "mcp__actora-platform__actora_identity_metadata",
      "mcp__actora-platform__actora_identity_total_count",
      "mcp__actora-platform__actora_subscription_plans",
      "mcp__actora-platform__actora_subscription_my_list",
      "mcp__actora-platform__actora_subscription_fee",
      "mcp__actora-platform__actora_central_agent_list",
      "mcp__actora-platform__actora_a2a_get_task",
      "mcp__actora-platform__actora_a2a_my_tasks",
      "mcp__actora-platform__actora_a2a_agent_card",
      "mcp__actora-platform__actora_reputation_get",
      "mcp__actora-platform__actora_config_get",
      "mcp__actora-platform__actora_config_list",
      "mcp__actora-platform__actora_endpoint_list",
      "mcp__actora-platform__actora_endpoint_status",
      "mcp__actora-platform__actora_listing_get",
      "mcp__actora-platform__actora_payload_key_list"
    ],
    "ask": [
      "mcp__actora-platform__actora_identity_exists",
      "mcp__actora-platform__actora_identity_register",
      "mcp__actora-platform__actora_subscription_check",
      "mcp__actora-platform__actora_subscription_detail",
      "mcp__actora-platform__actora_subscription_subscribe",
      "mcp__actora-platform__actora_subscription_release",
      "mcp__actora-platform__actora_subscription_create_plan",
      "mcp__actora-platform__actora_central_subscription_check",
      "mcp__actora-platform__actora_central_agent_create",
      "mcp__actora-platform__actora_central_agent_update",
      "mcp__actora-platform__actora_central_subscription_subscribe",
      "mcp__actora-platform__actora_a2a_create_task",
      "mcp__actora-platform__actora_a2a_complete_task",
      "mcp__actora-platform__actora_reputation_rate",
      "mcp__actora-platform__actora_reputation_reviews",
      "mcp__actora-platform__actora_config_set",
      "mcp__actora-platform__actora_endpoint_active",
      "mcp__actora-platform__actora_endpoint_best_mcp",
      "mcp__actora-platform__actora_gateway_health",
      "mcp__actora-platform__actora_listing_set",
      "mcp__actora-platform__actora_listing_price",
      "mcp__actora-platform__actora_endpoint_probe"
    ],
    "deny": [
      "mcp__actora-platform__actora_subscription_cancel",
      "mcp__actora-platform__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-platform. Review it before you use it.

Capability tags behind 6 rules
  • mcp__actora-platform__actora_identity_get untrusted-input
  • mcp__actora-platform__actora_reputation_get untrusted-input
  • mcp__actora-platform__actora_config_get private-data
  • mcp__actora-platform__actora_config_list private-data
  • mcp__actora-platform__actora_endpoint_list private-data
  • mcp__actora-platform__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-platform/verify?hash=cd67ee0f07ebbb1b1596c2e6ab73e65ed73b06e58632983ca1d3e791d8a9561e" | jq -e '.changed == false'

Pinned hash cd67ee0f07eb, 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-platform/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.github.sftgroup/actora-platform
[![anlyon.dev](https://anlyon.dev/badge/io.github.sftgroup/actora-platform.svg)](https://anlyon.dev/servers/io.github.sftgroup/actora-platform)

Source: MCP Registry · repository. Synced Nov 4, 2026, 12:17 UTC.