# Actora Platform — Agent Publishing, Subscriptions & A2A (remote · actora.codes)

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

- Trust score: 62/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `actora.codes`: 62/100 (this document), [markdown](https://verifymcp.io/servers/sftgroup-actora-platform/mcp-platform.md), [page](https://verifymcp.io/servers/sftgroup-actora-platform/mcp-platform)

## Channel facts

- Endpoint: `https://actora.codes/mcp/platform`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.2.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 43 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 3767 tokens (~87/item across 43 items; 43 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 98% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "actora_listing_set" implies "publish" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 43 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

## Install

### How do I install the Actora Platform — Agent Publishing, Subscriptions & A2A MCP server?

Actora Platform — Agent Publishing, Subscriptions & A2A is a hosted endpoint at https://actora.codes/mcp/platform, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http sftgroup-actora-platform 'https://actora.codes/mcp/platform'
```

### Cursor

```json
{
  "mcpServers": {
    "sftgroup-actora-platform": {
      "url": "https://actora.codes/mcp/platform"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sftgroup-actora-platform": {
      "type": "http",
      "url": "https://actora.codes/mcp/platform"
    }
  }
}
```

### Codex

```toml
[mcp_servers.sftgroup-actora-platform]
url = "https://actora.codes/mcp/platform"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sftgroup-actora-platform": {
      "type": "remote",
      "url": "https://actora.codes/mcp/platform",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sftgroup-actora-platform --url 'https://actora.codes/mcp/platform' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  sftgroup-actora-platform:
    url: "https://actora.codes/mcp/platform"
```

### Netclaw

```json
{
  "McpServers": {
    "sftgroup-actora-platform": {
      "Transport": "http",
      "Url": "https://actora.codes/mcp/platform"
    }
  }
}
```

### Vellum

```bash
assistant mcp add sftgroup-actora-platform -t streamable-http -u 'https://actora.codes/mcp/platform'
```

### Other

```json
{
  "mcpServers": {
    "sftgroup-actora-platform": {
      "type": "http",
      "url": "https://actora.codes/mcp/platform"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 62, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-11-04 (score 61)

First indexed and scored.

## MCP tools (43)

### `actora_identity_list` (~72 tokens)

List all Agent IDs owned by a wallet address on BSC, Ethereum or Base.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `ownerAddress` (string, required): Ethereum wallet address (0x...)

### `actora_identity_get` (~63 tokens)

Get agent details — tokenURI, metadata, existence.

Input parameters:

- `agentId` (integer, required): Agent numeric ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_identity_list_all` (~141 tokens)

List all agents with structured metadata (name, capabilities, skills, isActive). Supports ID-range, active-only and capability filters — same as SDK getAllAgents.

Input parameters:

- `activeOnly` (boolean): Only return isActive=true agents
- `capabilities` (string): Comma-separated capability filter, e.g. "trading,analysis"
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `fromId` (integer): Start Agent ID (default 1)
- `toId` (integer): End Agent ID (default: last agent)

### `actora_identity_metadata` (~73 tokens)

Get structured metadata for one agent: name, description, capabilities, skills, isActive, createdAt.

Input parameters:

- `agentId` (integer, required): Agent numeric ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_identity_exists` (~60 tokens)

Check whether an agent ID exists on-chain.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_identity_total_count` (~48 tokens)

Total number of agents registered.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_identity_register` (~102 tokens)

Register a new Agent on-chain. WRITE operation — returns tx payload.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `eciesEncryptedKey` (string, required): Hex ECIES-encrypted AES key
- `encryptedPayloadCid` (string, required): IPFS CID of encrypted payload
- `tokenURI` (string, required): IPFS URI (ipfs://...)

### `actora_subscription_plans` (~66 tokens)

Get plan details: price, period, pay token, trial days.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `planId` (integer, required): Plan ID

### `actora_subscription_check` (~73 tokens)

Check if a wallet has an active subscription for an agent.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `subscriberAddress` (string, required): Wallet address

### `actora_subscription_detail` (~61 tokens)

Full subscription detail including trial info, escrow status.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `subscriptionId` (integer, required): Subscription ID

### `actora_subscription_my_list` (~60 tokens)

List all subscription IDs for a wallet.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `userAddress` (string, required): Wallet address

### `actora_subscription_subscribe` (~71 tokens)

Subscribe to a plan. WRITE operation.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `planId` (integer, required): Plan ID
- `valueWei` (string): ETH in wei

### `actora_subscription_cancel` (~58 tokens)

Cancel a subscription. WRITE operation.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `subscriptionId` (integer, required): Subscription ID

### `actora_subscription_release` (~73 tokens)

Deprecated: ERC8004SubscriptionManager settles payments on subscribe/renew, so there is no escrow to release.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `subscriptionId` (integer, required): Subscription ID

### `actora_subscription_fee` (~49 tokens)

Get current platform fee in bps.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_subscription_create_plan` (~282 tokens)

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.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `description` (string): Plan description
- `maxUsage` (string): Max usage per billing period (0 = unlimited)
- `name` (string): Plan name (required on-chain; defaults to "Plan #<agentId>")
- `payToken` (string): ERC20 token address; omit for native ETH
- `period` (string, required): "day" | "week" | "month" | "quarter" | "year"
- `planType` (integer): 0=subscription (default), 1=usage-based, 2=hybrid
- `price` (string): Recurring price in wei/token units (required unless planType=1)
- `totalUsageLimit` (string): Total usage limit (0 = unlimited)
- `usagePrice` (string): Per-use price (required when planType is 1 or 2)

### `actora_central_agent_list` (~130 tokens)

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.

Input parameters:

- `activeOnly` (boolean): Only return is_active=true agents
- `capabilities` (string): Comma-separated capability filter, e.g. "chat,trading"
- `category` (string): Category filter, e.g. "finance"
- `page` (integer): Page number (default 1)
- `pageSize` (integer): Page size (default 50, max 100)

### `actora_central_subscription_check` (~80 tokens)

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.

Input parameters:

- `agentId` (integer, required): Centralized agent ID (negative)
- `subscriber` (string, required): Wallet address (0x...)

### `actora_central_agent_create` (~152 tokens)

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.

Input parameters:

- `access_token` (string, required): Gateway JWT — registered-user auth (required)
- `capabilities` (array): Capabilities, e.g. ["chat","trading"]
- `category` (string): Category, e.g. "finance"
- `description` (string): Agent description
- `name` (string, required): Agent name (required)
- `skills` (array): Skill names
- `tags` (array): Tags

### `actora_central_agent_update` (~140 tokens)

Update a centralized agent you own (PATCH semantics — only provided fields change). Requires access_token (registered-user JWT). WRITE operation.

Input parameters:

- `access_token` (string, required): Gateway JWT — registered-user auth (required)
- `agentId` (integer, required): Centralized agent ID (negative)
- `capabilities` (array): Capabilities
- `category` (string): Category
- `description` (string): Agent description
- `isActive` (boolean): List (true) or delist (false) the agent
- `name` (string): Agent name
- `skills` (array): Skill names
- `tags` (array): Tags

### `actora_central_subscription_subscribe` (~187 tokens)

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.

Input parameters:

- `access_token` (string, required): Gateway JWT — registered-user auth (required)
- `agentId` (integer, required): Centralized agent ID (negative)
- `period` (string): "day" | "week" | "month" | "year" (default "month")
- `priceWei` (string): Plan price in wei (overrides the default active plan price)
- `subscriber` (string, required): Buyer wallet address (0x...)
- `txHash` (string): x402 on-chain payment tx hash — include to verify and activate

### `actora_a2a_create_task` (~92 tokens)

Create an on-chain A2A task. WRITE operation.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `inputData` (string, required): JSON input
- `targetAgentId` (integer, required): Target agent ID
- `taskType` (string, required): e.g. audit, analyze

### `actora_a2a_get_task` (~61 tokens)

Get A2A task details.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `taskId` (integer, required): Task ID

### `actora_a2a_complete_task` (~73 tokens)

Complete a task on-chain. WRITE operation.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `outputData` (string, required): JSON output
- `taskId` (integer, required): Task ID

### `actora_a2a_my_tasks` (~62 tokens)

Get all task IDs for a wallet.

Input parameters:

- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `userAddress` (string, required): Wallet address

### `actora_a2a_agent_card` (~68 tokens)

Get agent A2A card: name, capabilities, supported tasks.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_reputation_rate` (~82 tokens)

Rate an agent (1-5). WRITE operation.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `comment` (string): Review
- `rating` (integer, required): 1-5

### `actora_reputation_get` (~58 tokens)

Average rating and review count.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_reputation_reviews` (~63 tokens)

All reviews with reviewer, rating, comment, timestamp.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_config_get` (~95 tokens)

Read an agent spec/config value by key from the platform DB (not the on-chain ConfigurationRegistry).

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `configKey` (string, required): Config key (name | description | category | tags | capabilities | skills | card)

### `actora_config_list` (~65 tokens)

List all agent spec/config values for an agent from the platform DB.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_config_set` (~102 tokens)

Config writes are owner-signed on the platform API (PATCH /api/v1/agents/:chain/:id); returns instructions. WRITE operation.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.
- `dataType` (string)
- `key` (string, required)
- `value` (string, required)

### `actora_endpoint_list` (~64 tokens)

All registered endpoints from the platform DB (includes pending/failed).

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_endpoint_active` (~59 tokens)

Only live endpoints from the platform DB.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_endpoint_best_mcp` (~63 tokens)

Best available MCP endpoint URL from the platform DB.

Input parameters:

- `agentId` (integer, required): Agent ID
- `chain` (string): Chain: "bsc" (default) | "ethereum" | "base". Sepolia testnet is not supported.

### `actora_endpoint_status` (~61 tokens)

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

Input parameters:

- `access_token` (string, required): Gateway JWT — owner auth (required)

### `actora_gateway_health` (~24 tokens)

Gateway health + chain contract addresses (BSC / Ethereum / Base).

### `actora_listing_get` (~76 tokens)

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.

Input parameters:

- `agentId` (integer, required): Agent ID (negative for centralized agents)
- `chain` (string, required): Chain or "central" for off-chain agents

### `actora_listing_set` (~218 tokens)

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.

Input parameters:

- `access_token` (string, required): Gateway JWT — owner auth (required)
- `agentId` (integer, required): Agent ID (negative for centralized agents)
- `chain` (string, required): Chain or "central"
- `endpoint` (string): Agent endpoint URL (a2a or mcp). Omit/empty = platform-hosted (central only)
- `paymentLinkUrl` (string): Publisher-hosted fiat checkout link (platform does not collect)
- `priceUsdCents` (integer): USD cents (required when pricingType=per_call)
- `pricingType` (string): Pricing model
- `protocol` (string): Endpoint protocol (default a2a)
- `tags` (array): Up to 10 discovery tags
- `visibility` (string): Marketplace visibility

### `actora_listing_price` (~103 tokens)

Update pricing for an existing listing (subscription / per_call / free + USD cents). Requires access_token (owner JWT). WRITE operation.

Input parameters:

- `access_token` (string, required): Gateway JWT — owner auth (required)
- `agentId` (integer, required): Agent ID
- `chain` (string, required): Chain or "central"
- `priceUsdCents` (integer): USD cents (required when pricingType=per_call)
- `pricingType` (string): Pricing model

### `actora_listing_delist` (~72 tokens)

Remove a listing (delist) and mark its endpoints as delisted. Requires access_token (owner JWT). WRITE operation.

Input parameters:

- `access_token` (string, required): Gateway JWT — owner auth (required)
- `agentId` (integer, required): Agent ID
- `chain` (string, required): Chain or "central"

### `actora_endpoint_probe` (~78 tokens)

Re-probe the primary endpoint of a listed agent (a2a or mcp) and return the liveness result. Requires access_token (owner JWT).

Input parameters:

- `access_token` (string, required): Gateway JWT — owner auth (required)
- `agentId` (integer, required): Agent ID
- `chain` (string, required): Chain or "central"

### `actora_payload_key_list` (~87 tokens)

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.

Input parameters:

- `access_token` (string, required): Gateway JWT — owner auth (required)
- `agentId` (integer, required): Agent ID
- `chain` (string): Optional chain filter

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/sftgroup-actora-platform/mcp-platform#diagnostics

## Score history

- 2026-11-05: 62
- 2026-11-04: 61

## Common questions

### What is the Actora Platform — Agent Publishing, Subscriptions & A2A MCP server?

Actora Platform — Agent Publishing, Subscriptions & A2A is an MCP server listed in the public MCP registry as io.github.sftgroup/actora-platform. Actora developer tools: ERC-8004 identity, subscriptions, listings, A2A, reputation. This page covers its hosted endpoint (https://actora.codes/mcp/platform).

### Is the Actora Platform — Agent Publishing, Subscriptions & A2A MCP server safe to use?

Actora Platform — Agent Publishing, Subscriptions & A2A scores 62 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Actora Platform — Agent Publishing, Subscriptions & A2A MCP server expose?

Actora Platform — Agent Publishing, Subscriptions & A2A exposes 43 tools: actora_identity_list, actora_identity_get, actora_identity_list_all, actora_identity_metadata, actora_identity_exists, and 38 more. Their descriptions and schemas cost roughly 3,767 tokens of context every time the server is loaded.

### Does the Actora Platform — Agent Publishing, Subscriptions & A2A MCP server require authentication?

No. We connected to Actora Platform — Agent Publishing, Subscriptions & A2A without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Actora Platform — Agent Publishing, Subscriptions & A2A MCP server still maintained?

Actora Platform — Agent Publishing, Subscriptions & A2A is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://actora.codes/mcp/platform
- Repository: https://github.com/sftgroup/actora-mcp
- Website: https://actora.codes/
- Changelog RSS feed: https://verifymcp.io/servers/sftgroup-actora-platform/mcp-platform.xml
- Changelog JSON feed: https://verifymcp.io/servers/sftgroup-actora-platform/mcp-platform.json
- HTML version of this page: https://verifymcp.io/servers/sftgroup-actora-platform/mcp-platform
