Actora Platform — Agent Publishing, Subscriptions & A2A

io.github.sftgroup由 GitHub 账号 sftgroup 发布v0.2.1更新于 Nov 5, 2026

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

已验证Streamable HTTP可网页运行金融商业与电商AI 与机器学习

概览

AI 生成的概览

远程 Actora 网关 MCP 服务器,用于在 BSC、Ethereum 和 Base 上读取与管理 ERC-8004 智能体身份、订阅、上架、A2A 任务和信誉。

可以做什么
  • 查询链上智能体:按钱包或 ID 区间列出、读取元数据、能力与存在性、统计注册总数
  • 读取订阅套餐、检查订阅状态、列出钱包的订阅及平台费率
  • 创建、更新并订阅中心化链下智能体及其套餐,含 x402 付款指令
  • 管理 A2A 任务与智能体卡片,为智能体评分并读取评分与评论
  • 读写智能体配置项、列出端点、检查端点健康与网关状态
  • 发布或更新市场列表,设置定价与付款链接
适用场景
适用于使用 Actora 智能体市场的场景:希望助手查看智能体身份、套餐与信誉,或代为准备发布、订阅和上架变更,而无需手写区块链调用。
运行要求
远程 HTTP 端点 actora.codes(platform、tenant 及合并路径);无需安装,另有 npm 客户端包,需 Node 18+。只读工具可匿名使用;写入、租户、对话与任务工具需要注册用户 JWT,通过 Authorization Bearer 头或 access_token 参数传入。提交返回的交易需要钱包签名。
安装前请注意
许多工具是写操作,会注册智能体、创建套餐、订阅、取消、评分、发布列表或修改配置,部分会通过 x402 向服务器返回的地址付款。写工具返回待签名交易载荷。注册用户 JWT 属凭据,服务器不接受企业 API key。负 ID 为链下智能体,不可传给链上工具。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Actora Platform — Agent Publishing, Subscriptions & A2A,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.sftgroup%2Factora-platform/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "actora-platform-agent-publishing-subscri": {
      "type": "http",
      "url": "https://actora.codes/mcp/platform"
    }
  }
}

README

@actora/mcp

[CI]

Actora MCP 客户端包 — 类型化访问 Actora Gateway 的 MCP 服务(52 个工具):IdentityRegistry 读取、订阅套餐/操作、中心化 Agent(C-6,链下市场)发布/订阅、A2A、信誉、配置、端点、对话与并行任务管理。

第三方服务 ── @actora/mcp ──► POST <GATEWAY>/mcp (MCP JSON-RPC 2.0)                                 ├─ actora_identity_*     链上 Agent 读取                                 ├─ actora_subscription_* 订阅套餐 / 写操作描述                                 ├─ actora_central_*      中心化 Agent(链下,负 ID):发布 / 更新 / 列表 / 订阅状态 / 订阅购买                                 ├─ actora_a2a_* / reputation / config / endpoint                                 ├─ actora_gateway_health / tenant                                 └─ actora_gateway_chat / create_session / create_task / get_task / list_tasks / cancel_task

与 @actora/sdk 的区别:SDK 直连区块链(读/写/事件),本包走 Gateway MCP 协议(工具化调用,无需 RPC 端点,生产地址由 Gateway 提供)。

3 分钟接入(远程 HTTP,无需安装)

三个入口共用同一套 JSON-RPC 2.0 实现,initialize / tools/list 不需要任何凭证。

bash
# ① 握手:应返回 protocolVersion=2024-11-05 与 serverInfocurl -s -X POST https://actora.codes/mcp/platform -H 'Content-Type: application/json' \  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}'# → {"result":{"protocolVersion":"2024-11-05","serverInfo":{"name":"actora-platform","version":"0.2.0"},"capabilities":{"tools":{}}}}
# ② 工具数:/mcp=52 · /mcp/platform=43 · /mcp/tenant=9curl -s -X POST https://actora.codes/mcp/platform -H 'Content-Type: application/json' \  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \  | python3 -c 'import sys,json;print(len(json.load(sys.stdin)["result"]["tools"]))'
# ③ 调用一个只读工具(匿名可用)curl -s -X POST https://actora.codes/mcp/platform -H 'Content-Type: application/json' \  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"actora_identity_total_count","arguments":{"chain":"bsc"}}}'# → {"content":[{"type":"text","text":"{\"totalAgents\": 22, \"chain\": \"BSC\", \"chainId\": 56}"}],"isError":false}
# ④ 需要身份的租户/对话工具:带注册用户 JWT(目录型客户端只需配一个 header)curl -s -X POST https://actora.codes/mcp/tenant -H 'Content-Type: application/json' \  -H "Authorization: Bearer $ACTORA_JWT" \  -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"actora_gateway_chat","arguments":{"message":"hello"}}}'

客户端接入(以 /mcp/platform 为例;字段名以各客户端文档为准):

json
{  "mcpServers": {    "actora": { "url": "https://actora.codes/mcp/platform" },    "actora-tenant": {      "url": "https://actora.codes/mcp/tenant",      "headers": { "Authorization": "Bearer <registered-user JWT>" }    }  }}
bash
# Claude Codeclaude mcp add --transport http actora https://actora.codes/mcp/platform

安装

bash
npm install @actora/mcp

快速开始

typescript
import { McpClient } from '@actora/mcp'
const mcp = new McpClient({  gatewayUrl: 'https://actora.codes',  // Actora Gateway})
// 握手 + 工具列表const info = await mcp.initialize()console.log('server:', info)                // { name, version }
const tools = await mcp.listTools()console.log('工具数:', tools.length)         // 52
// 批量查询 Agent(等价 SDK getAllAgents)const { agents, total } = await mcp.listAgents({ fromId: 1, toId: total, activeOnly: true })for (const a of agents) {  console.log(a.agentId, a.metadata.name, a.metadata.capabilities, a.metadata.isActive)}
// 单个元数据 / 总数const meta = await mcp.getAgentMetadata(1)const count = await mcp.totalAgents()
// 订阅套餐(price 为 wei 十进制字符串)const plan = await mcp.getPlan(1)// → { planId: 1, agentId: 1, creator, price: "10000000000000000", period, active, payToken, trialDays }
// WRITE:返回待签名交易描述(需用钱包签名提交,包内不直接发交易)const op = await mcp.createPlan({ agentId: 2, price: '10000000000000000', period: 'month' })// → { _writeOp: true, contract, chain, args: { agentId, price, period, ... } }
// 通用调用:任何工具(a2a / reputation / config / endpoint 等)const status = await mcp.callTool('actora_gateway_health', {})

中心化 Agent(C-6,链下市场)用法示例

中心化 Agent(agents.source='central',负 ID,不发布在链上)订阅计划存于网关 DB(central_plans),但付费复用与链上完全相同的 x402 通道。MCP 提供中心化 Agent 的发布 / 更新 / 订阅购买 / 列表 / 订阅状态共 5 个工具:

typescript
// 1. 中心化 Agent 列表 + 订阅计划(与链上 subscriptionPlans 同一响应结构)const { agents, total } = await mcp.centralAgents({  activeOnly: true, category: 'finance', page: 1, pageSize: 20,})// agents[0] → { id: -3, name, owner, description, category, isActive, subscriptionPlans: [...] }// plan     → { planId, price: "1000000000000000000", period: "month", payToken: "native", isActive, ... }
// 2. 订阅状态检查(resolveAccess 链下优先 —— 与 App 订阅守卫同一判定)const { active } = await mcp.centralSubscriptionCheck('0x…', agents[0].id)// → { active: true, subscriber: '0x…', agentId: -3 }

等价于直接调用底层工具(通用 callTool,任何语言/HTTP 客户端可用):

bash
curl -s -X POST https://actora.codes/mcp \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",       "params":{"name":"actora_central_agent_list",                 "arguments":{"activeOnly":true,"pageSize":20}}}'# → { agents: [...], total, page, pageSize }
curl -s -X POST https://actora.codes/mcp \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",       "params":{"name":"actora_central_subscription_check",                 "arguments":{"subscriber":"0x…","agentId":-3}}}'# → { active: true, subscriber: '0x…', agentId: -3 }

发布 / 更新与订阅购买(WRITE,需 access_token 注册用户 JWT——MCP 的对话/中心化写工具不接受 B 端 api_key):

bash
# 发布中心化 Agent(C-6,链下):自动创建默认月度计划curl -s -X POST https://actora.codes/mcp \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call",       "params":{"name":"actora_central_agent_create",                 "arguments":{"access_token":"<user-jwt>","name":"My Agent",                              "description":"...","capabilities":["chat","trading"]}}}'# → { id: -N, name, owner, ... }
# 更新 / 上架 / 下架自己发布的中心化 Agent(仅提供变化的字段)curl -s -X POST https://actora.codes/mcp \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":4,"method":"tools/call",       "params":{"name":"actora_central_agent_update",                 "arguments":{"access_token":"<user-jwt>","agentId":-3,"isActive":true}}}'
# 中心化订阅购买(x402):首次调用返回付款指令(amountWei / payTo / network),# 钱包完成链上转账后携 txHash 再次调用以验证并开通curl -s -X POST https://actora.codes/mcp \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":5,"method":"tools/call",       "params":{"name":"actora_central_subscription_subscribe",                 "arguments":{"access_token":"<user-jwt>","subscriber":"0x…","agentId":-3,"period":"month"}}}'# → { paymentRequired: true, amountWei, payTo, network, instructions }

注意

  • 负 ID 是中心化 Agent 的标识,不要传给链上工具(actora_identity_* / actora_subscription_*)——那些工具读的是链上合约。
  • 中心化 Agent 的发布 / 更新 / 订阅购买(actora_central_agent_create / actora_central_agent_update / actora_central_subscription_subscribe)均需 access_token 注册用户 JWT。周期订阅付费也可用 SDK SubscriptionPayments.pay({ method:'x402', agentId, planId, period, priceWei })(v0.11.10+)或网关 REST 完成。

鉴权

只读工具(actora_identity_*、actora_subscription_* 查询、信誉/端点读取等)匿名可用。需要身份的写工具与租户/对话/任务工具要求注册用户 JWT,两种来源等价:

  • Authorization: Bearer <JWT>(推荐,目录型客户端只需配一个 header)
  • 工具参数 access_token(显式传参优先,兼容旧调用方)
typescript
const mcp = new McpClient({  gatewayUrl: 'https://actora.codes',  headers: { Authorization: 'Bearer <registered-user JWT>' },})

注意

  • MCP 不接受 B 端 api_key(actora_sk_…,X-Api-Key)——那把钥匙只用于 REST /api/v1。MCP 的对话/任务工具只认注册用户 JWT。
  • Authorization: Bearer 会被注入为工具参数 access_token;actora_gateway_tenant 同时接受 access_token(推荐)与历史参数名 accessToken。
  • 未带/无效 JWT 时,工具返回 {"error":"HTTP 401","detail":"Invalid or expired token"},属预期行为。

API 一览

方法对应 MCP 工具说明
initialize() / listTools() / callTool()—底层 MCP 协议
listAgents({chain,fromId,toId,activeOnly,capabilities})actora_identity_list_all批量查询 + 筛选
getAgentMetadata(agentId, chain?)actora_identity_metadata单 Agent 结构化元数据
totalAgents(chain?)actora_identity_total_count总注册数
agentExists(agentId, chain?)actora_identity_exists存在性检查
agentsOfOwner(owner, chain?)actora_identity_list钱包拥有的 Agent IDs
getPlan(planId, chain?)actora_subscription_plans套餐详情
createPlan({agentId,price,period,...})actora_subscription_create_plan创建套餐(WRITE)
subscribe(planId, {valueWei})actora_subscription_subscribe订阅(WRITE)
cancelSubscription(id) / releaseFunds(id)actora_subscription_cancel/release取消/释放(WRITE)
checkSubscription(sub, agentId)actora_subscription_check订阅有效性(链上)
centralAgents({activeOnly,category,capabilities,page,pageSize})actora_central_agent_list中心化 Agent 列表 + 计划(链下,C-6)
centralSubscriptionCheck(sub, agentId)actora_central_subscription_check中心化 Agent 订阅有效性(resolveAccess 链下优先)
centralAgentCreate({name,...})actora_central_agent_create发布中心化 Agent(WRITE,需 access_token)
centralAgentUpdate({agentId,...})actora_central_agent_update更新/上架/下架中心化 Agent(WRITE,需 access_token)
centralSubscriptionSubscribe({agentId,subscriber,period,txHash})actora_central_subscription_subscribe中心化订阅购买(x402,WRITE,需 access_token)
subscriptionDetail(id) / mySubscriptions(addr)actora_subscription_detail/my_list订阅详情/列表
platformFee(chain?)actora_subscription_fee平台费率(bps)
gatewayHealth() / gatewayTenant(accessToken?)actora_gateway_health/tenantGateway 状态 / 租户信息(JWT)
对话/任务(callTool)actora_gateway_chat / ..._create_session / ..._create_task / ..._get_task / ..._list_tasks / ..._cancel_task单轮对话与并行任务管理(需 access_token JWT 参数)

关键约定

  • period:createPlan 仅接受 'day' | 'week' | 'month' | 'year'(合约 _periodToSeconds 只映射这四个值,其他字符串会静默回退 30 天)。
  • price:wei 十进制字符串(避免精度丢失)。
  • WRITE 工具:返回 { _writeOp: true, contract, chain, args } 描述,交易签名/提交由调用方钱包完成。
  • chain:'sepolia'(默认,测试网)。
  • Node 18+ / 浏览器:依赖原生 fetch,无其他运行时依赖。

完整服务端工具与协议

见 MCP 接入文档 与 SDK 集成示例。

公开目录登记(服务端分发)

服务端已托管在 https://actora.codes/mcp:MCP JSON-RPC 2.0,52 个工具,initialize / tools/list 无需鉴权。执行类工具的 JWT 支持两种来源(两者等价):

  • Authorization: Bearer <JWT>(推荐,目录/客户端只需配一个 header)
  • 工具参数 access_token(兼容旧调用方;显式传参优先)

按受众拆分的两个入口(同一套实现,工具子集不同):

入口工具数面向清单
/mcp52全量(兼容旧调用方)server.json
/mcp/platform43Agent 开发者:身份 / 订阅 / 上架定价 / 端点探活 / A2A / 信誉server-platform.json
/mcp/tenant9B 端:托管对话 / 会话 / 任务 / 套餐 / 用量server-tenant.json

本目录的 server.json 是官方 MCP Registry 清单(已按 2025-12-11 schema 校验)。三个服务已于 2026-11-04 以 0.2.0 发布,搜索 sftgroup 可检索到:

bash
mcp-publisher login github   # 需 sftgroup 账号授权(命名空间 io.github.sftgroup)mcp-publisher publish server-platform.jsonmcp-publisher publish server-tenant.jsonmcp-publisher publish server.json   # 同版本号不可覆盖,升版本后重发

其他目录(Smithery / mcp.so / Glama / PulseMCP)均按 GitHub 仓库或该清单收录,提交时统一填:

字段值
远程地址https://actora.codes/mcp
传输Streamable HTTP
仓库https://github.com/sftgroup/actora-mcp
图标https://actora.codes/icon-512.png

兼容性:服务端当前协商到 MCP 2024-11-05(无 Mcp-Session-Id,无状态 POST)。新客户端请求 2025-03-26 时会回落到 2024-11-05,按规范可接受;若目录审核要求 Streamable HTTP 会话,需先补协议版本协商。

License

Apache License 2.0 — see LICENSE and NOTICE. The "Actora" name and logo are not licensed — see TRADEMARK.md.

来源:README.md,提交 1350ac6

工具

43

actora_identity_list

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

输入参数chainownerAddress必填

actora_identity_get

Get agent details — tokenURI, metadata, existence.

输入参数chainagentId必填

actora_identity_list_all

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

输入参数toIdchainfromIdactiveOnlycapabilities

actora_identity_metadata

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

输入参数chainagentId必填

actora_identity_exists

Check whether an agent ID exists on-chain.

输入参数chainagentId必填

actora_identity_total_count

Total number of agents registered.

输入参数chain

actora_identity_register

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

输入参数chaintokenURI必填eciesEncryptedKey必填encryptedPayloadCid必填

actora_subscription_plans

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

输入参数chainplanId必填

actora_subscription_check

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

输入参数chainagentId必填subscriberAddress必填

actora_subscription_detail

Full subscription detail including trial info, escrow status.

输入参数chainsubscriptionId必填

actora_subscription_my_list

List all subscription IDs for a wallet.

输入参数chainuserAddress必填

actora_subscription_subscribe

Subscribe to a plan. WRITE operation.

输入参数chainplanId必填valueWei

actora_subscription_cancel

Cancel a subscription. WRITE operation.

输入参数chainsubscriptionId必填

actora_subscription_release

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

输入参数chainsubscriptionId必填

actora_subscription_fee

Get current platform fee in bps.

输入参数chain

actora_subscription_create_plan

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.

输入参数namechainpriceperiod必填agentId必填maxUsagepayTokenplanTypeusagePricedescriptiontotalUsageLimit

actora_central_agent_list

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.

输入参数pagecategorypageSizeactiveOnlycapabilities

actora_central_subscription_check

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.

输入参数agentId必填subscriber必填

actora_central_agent_create

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.

输入参数name必填tagsskillscategorydescriptionaccess_token必填capabilities

actora_central_agent_update

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

输入参数nametagsskillsagentId必填categoryisActivedescriptionaccess_token必填capabilities

actora_central_subscription_subscribe

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.

输入参数periodtxHashagentId必填priceWeisubscriber必填access_token必填

actora_a2a_create_task

Create an on-chain A2A task. WRITE operation.

输入参数chaintaskType必填inputData必填targetAgentId必填

actora_a2a_get_task

Get A2A task details.

输入参数chaintaskId必填

actora_a2a_complete_task

Complete a task on-chain. WRITE operation.

输入参数chaintaskId必填outputData必填

actora_a2a_my_tasks

Get all task IDs for a wallet.

输入参数chainuserAddress必填

actora_a2a_agent_card

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

输入参数chainagentId必填

actora_reputation_rate

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

输入参数chainrating必填agentId必填comment

actora_reputation_get

Average rating and review count.

输入参数chainagentId必填

actora_reputation_reviews

All reviews with reviewer, rating, comment, timestamp.

输入参数chainagentId必填

actora_config_get

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

输入参数chainagentId必填configKey必填

actora_config_list

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

输入参数chainagentId必填

actora_config_set

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

输入参数key必填chainvalue必填agentId必填dataType

actora_endpoint_list

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

输入参数chainagentId必填

actora_endpoint_active

Only live endpoints from the platform DB.

输入参数chainagentId必填

actora_endpoint_best_mcp

Best available MCP endpoint URL from the platform DB.

输入参数chainagentId必填

actora_endpoint_status

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

输入参数access_token必填

actora_gateway_health

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

无需输入参数。

actora_listing_get

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.

输入参数chain必填agentId必填

actora_listing_set

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.

输入参数tagschain必填agentId必填endpointprotocolvisibilitypricingTypeaccess_token必填priceUsdCentspaymentLinkUrl

actora_listing_price

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

输入参数chain必填agentId必填pricingTypeaccess_token必填priceUsdCents

actora_listing_delist

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

输入参数chain必填agentId必填access_token必填

actora_endpoint_probe

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

输入参数chain必填agentId必填access_token必填

actora_payload_key_list

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.

输入参数chainagentId必填access_token必填

版本历史

2
  1. v0.2.1最新Nov 5, 2026
  2. v0.2.0Nov 4, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分