关于 Metaplex Agent Registry
Metaplex Agent Registry 是通过 MCP 将 AI Agent 部署到 Solana,并创建 Metaplex Core 资产和 EIP-8004 身份的服务。它支持使用 Agent 密钥或外部钱包签名,也可在 devnet 演练后部署到主网。
主要功能
- 01铸造资产并注册 EIP-8004 身份
- 02使用 Agent 密钥或外部钱包签名
- 03读取 Agent 注册信息和钱包余额
- 04离线构建注册文档
- 05预览费用和部署详情
适用场景
- 01将 Agent 身份部署到 Solana
- 02在 devnet 演练部署流程
- 03注册已有的 Core 资产
- 04查询钱包对应的部署费用等级
MCP 相关
向 MCP 客户端提供 Agent 铸造与注册、准备并广播钱包签名交易,以及读取注册和钱包数据的工具。客户端可在确认前预览部署;devnet 可用于演练。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @three-ws/metaplex-agent-mcpSOLANA_SECRET_KEY密钥Base58 secret key (or JSON byte array) for the minting wallet. Optional: read tools and the Phantom/Solflare prepare/send flow work without it.SOLANA_RPC_URLHTTPS Solana RPC endpoint. Defaults to the public endpoint for the configured network; bring your own (Helius / Quicknode / Triton) for production.METAPLEX_AGENT_NETWORKDefault cluster: mainnet or devnet. Defaults to mainnet; every tool also takes a per-call network.REQUIRE_CONFIRMRefuse to broadcast a mint or registration until the call is re-issued with confirm=true. Default true.DEPLOY_FEE_SOLMainnet deploy fee, in SOL, paid to DEPLOY_FEE_WALLET in the same transaction as the mint. Default 0.02.DEPLOY_FEE_WALLETWallet the deploy fee is paid to. Defaults to the three.ws $THREE buyback wallet; override only when self-hosting a fork.DEPLOY_FEE_ENABLEDSet false to build a fork that charges no deploy fee. Default true.THREE_HALF_PRICE_AT$THREE balance in the paying wallet that halves the deploy fee. Default 50000.THREE_FREE_AT$THREE balance in the paying wallet that waives the deploy fee entirely. Default 250000.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
9收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | Agent 名称。将用作 Core 资产名称和注册名称。 |
| image | string | 否 | 缩略图/头像图片 URL(PNG 或类似格式)。显示在 metaplex.com/agents、钱包和区块浏览器中。 |
| owner | string | 否 | 将资产铸造给此所有者,而不是签名钱包。 |
| active | boolean | 否 | 注册启用标志。默认值为 true。 |
| secret | string | 否 | 单次调用的签名密钥(base58 密钥或 JSON 字节数组)。覆盖 SOLANA_SECRET_KEY。 |
| confirm | boolean | 否 | 必须为 true 才会广播。其他任何值都会返回不花费资金的预览。 |
| network | enum | 否 | Solana 集群。默认为已配置的网络(除非另行设置,否则为 mainnet)。mainnet | devnet |
| services | array | 否 | Agent 提供的服务,列在其 Metaplex Agent 页面上({name, endpoint})。 |
| model_url | string | 否 | 3D 模型 URL(GLB)。按 Genesis 风格写入资产元数据的 animation_url 和注册中的 model.uri。 |
| attributes | array | 否 | 链上 Attributes 插件条目(资产账户中的实际字节)。 |
| collection | any | 否 | 在此 Metaplex Core 集合中铸造。签名者必须是集合权限方。 |
| add_blocker | boolean | 否 | 附加 AddBlocker,以禁止添加更多插件。默认值为 false。 |
| description | string | 否 | 此 Agent 是什么或执行什么操作。存储在 EIP-8004 注册文档中。 |
| external_url | string | 否 | 资产元数据中的可选 external_url(例如,Agent 主页)。 |
| metadata_uri | string | 否 | 资产元数据 URI 的完整覆盖值(https 或 data:)。跳过内置元数据构建器。 |
| x402_support | boolean | 否 | 在注册文档中声明支持 x402 支付。默认值为 false。 |
| registrations | array | 否 | 外部注册表注册信息。默认为链注册表条目;如果设置了 threews_agent_id,则默认为 three.ws 条目。 |
| permanent_burn | boolean | 否 | 附加 PermanentBurnDelegate。默认值为 false。 |
| supported_trust | array | 否 | Agent 支持的信任模型。默认值为 ['reputation'](Genesis 风格)。 |
| permanent_freeze | boolean | 否 | 附加 PermanentFreezeDelegate(未冻结)。默认值为 false。 |
| registration_uri | string | 否 | Agent Identity 注册 URI 的完整覆盖值(https 或 data:)。跳过内置注册构建器。 |
| royalty_creators | array | 否 | 版税分成。百分比总和必须为 100。默认为签名钱包,比例为 100%。 |
| threews_agent_id | string | 否 | three.ws Agent UUID。添加 Genesis 精确格式的注册条目 {agentId, agentRegistry: "https://three.ws"}。 |
| verified_creator | boolean | 否 | 附加 VerifiedCreators 插件,并验证签名钱包。默认值为 true(Genesis 风格)。 |
| immutable_metadata | boolean | 否 | 附加 ImmutableMetadata 插件,使元数据永远无法更改。默认值为 true(Genesis 风格)。 |
| permanent_transfer | boolean | 否 | 附加 PermanentTransferDelegate。默认值为 false。 |
| metadata_attributes | array | 否 | 资产元数据 JSON 中的链下属性数组(trait_type/value 对)。 |
| royalty_basis_points | integer | 否 | 以基点表示的版税。默认值为 500(5%),即 Genesis 值。0 会移除 Royalties 插件。 |
详细介绍
@three-ws/metaplex-agent-mcp
通过任意 MCP 客户端,在 Solana 上将 AI Agent 部署到 Metaplex Agent Registry。
一个流程即可铸造 Metaplex Core 资产并注册其 EIP-8004 Agent 身份(如果符合 Solana 的 1232 字节限制,则使用单笔原子交易;否则依次执行创建和注册,具体方式与 Genesis 333 上链时完全一致),让 Agent 显示在 metaplex.com/agents 上,并拥有内置钱包、信誉页面和浏览器页面。默认输出会精确复现 three.ws Genesis 333 铸造的格式,并已与链上实时资产逐字节验证:
- 资产元数据使用独立完整的
data:application/json;base64URI(包含name、image、animation_urlGLB) - Royalties 插件(向所有者支付 5%)、VerifiedCreators(签名钱包)、ImmutableMetadata
- AgentIdentity 插件携带
eip-8004#registration-v1文档(model.uri、active、x402Support、registrations、supportedTrust)
两种签名方式,均由用户自行托管:
- Agent 使用自己的密钥对(
SOLANA_SECRET_KEY)签名:mint_onchain_agent。 - 用户使用 Phantom、Solflare、Backpack、Ledger 或任意 Solana 钱包签名:
prepare_agent_mint构建交易,由钱包签名,再通过send_signed_transaction广播。密钥不会接触服务器。
主网部署需支付固定 0.02 SOL 费用,与铸造在同一笔交易中完成,这笔费用将用于 $THREE 回购。持有 $THREE 可先将费用减半,随后免除;devnet 不收取费用。每次预览都会显示费用和收款方,然后才会签名。请参阅 $THREE:部署费用与持有者豁免。
所有操作都是真实的:使用真正的 Metaplex 程序和 Solana,并支持在 devnet 上免费端到端演练。
安装
npm install -g @three-ws/metaplex-agent-mcp
# or run ad hoc
npx -y @three-ws/metaplex-agent-mcp
设置
Claude Code:
claude mcp add metaplex-agent -e SOLANA_SECRET_KEY=<base58> -- npx -y @three-ws/metaplex-agent-mcp
Cursor / 任意 MCP 客户端(mcp.json):
{
"mcpServers": {
"metaplex-agent": {
"command": "npx",
"args": ["-y", "@three-ws/metaplex-agent-mcp"],
"env": { "SOLANA_SECRET_KEY": "<base58 secret key>" }
}
}
}
SOLANA_SECRET_KEY 是可选项:所有读取工具以及完整的 Phantom/Solflare 流程都可以在不设置它的情况下使用。
快速开始
先在 devnet 上免费演练,然后再部署到主网:
1. agent_wallet {} → confirm the signer is funded
2. mint_onchain_agent { name: "Astra", description: "…",
image: "https://…png", model_url: "https://…glb",
x402_support: true, network: "devnet" } → preview (nothing broadcast)
3. …same call with confirm: true → minted + registered, links returned
4. get_onchain_agent { asset: "<returned asset>", network: "devnet" }
主网部署费用约为 0.027 SOL:约 0.007 SOL 用于 Core 租金、身份 PDA 租金和网络费用,另加固定的 0.02 SOL 部署费,用于 $THREE 回购。持有 $THREE 可将这笔费用减半,随后免除;devnet 则免费。请参阅 $THREE。
工具
| 工具 | 功能 |
|---|---|
mint_onchain_agent | 铸造并注册,由你的密钥签名(符合条件时使用原子交易,否则自动拆分)。confirm:true 用于确认支出;其他任何值都会返回完整预览。 |
prepare_agent_mint | 构建相同的铸造流程,供外部钱包(wallet 参数)签名。返回 txs_base64,其中已由新资产密钥对共同签名;使用 signTransaction / signAllTransactions 签名。 |
send_signed_transaction | 按顺序广播由钱包签名的交易,轮询每笔交易直至确认,并处理创建与注册之间的传播延迟。 |
register_agent_identity | 将已铸造的 Core 资产登记到 Agent Registry(幂等;签名者必须是资产权限方)。 |
get_onchain_agent | 读取任意已注册 Agent 的信息:资产、插件、解码后的元数据和注册文档、身份 PDA、内置钱包及余额。 |
agent_wallet | 查看资产的内置钱包(mpl-core Asset Signer PDA)、任意地址或已配置的签名者,并获取实时 SOL 余额。 |
build_registration | 完全离线生成 EIP-8004 注册 JSON 和 data: URI。 |
list_onchain_agents | 从 three.ws 实时 /api/deployments 数据源获取最新注册(默认使用 Solana;设置 all_chains:true 也会包含 EVM ERC-8004)。 |
three_status | 计算下一次部署的费用:费用标准、钱包实时 $THREE 余额和等级,以及公开的回购记录。 |
$THREE:部署费用与持有者豁免
主网部署收取固定的 0.02 SOL 费用。关于这笔费用,有三点需要注意:
- 费用与创建资产的交易一并支付。 部署失败、被拒绝或过期,都不会转移资金。无需单独付款,也无需对账。
- 签名之前会披露费用。 每次
mint_onchain_agent预览以及每个prepare_agent_mint响应都会返回deploy_fee_sol和deploy_fee_to,并注明对应的等级。 - 费用用于回购 $THREE。 费用会支付至 three.ws
$THREE 回购通道所使用的钱包
(代币地址为
FeMbDoX7R1Psc4GEcvJdsbNbZA3bfztcyDCatJVJpump);该通道已回购内容的公开账本位于/api/three-token/stats。部署是此软件包唯一的收入来源。
持有 $THREE 可降低费用,甚至免除费用:
| 付款钱包中的 $THREE 数量 | 部署费用 |
|---|---|
| 少于 50,000 | 0.02 SOL |
| 50,000 或以上 | 0.01 SOL |
| 250,000 或以上 | 免费 |
构建交易时会实时读取链上余额。无需质押、托管、锁定或花费代币即可获得优惠:只需将代币持有在自己的钱包中,优惠就适用于你部署的每个 Agent。Devnet 始终免费,因此完整的端到端演练无需花费。
three_status {} → what your next deploy costs and why
three_status { wallet: "<any base58 address>" } → price it for someone else's wallet
自托管采用不同经济规则的分叉版本时,可使用 DEPLOY_FEE_SOL、DEPLOY_FEE_WALLET 和
DEPLOY_FEE_ENABLED。
自定义
铸造涉及的每个字段都是可配置参数:所有者、集合、版税基点和分配比例、已验证创作者、不可变元数据、链上 Attributes、永久冻结/转移/销毁代理、AddBlocker、链下元数据属性、external_url、服务、信任模型、注册条目,以及对由你自行托管的文档使用完整的 metadata_uri / registration_uri 覆盖值。默认值为 Genesis 333 的参数,因此只需传入 name、description、image 和 model_url 调用,生成的资产在结构上就与原始资产无法区分。
安全性
mint_onchain_agent和register_agent_identity仅在confirm: true时广播(设置REQUIRE_CONFIRM=false可选择退出);预览不产生费用。- 密钥始终由你掌控:使用
SOLANA_SECRET_KEY或每次调用时传入的secret,绝不使用托管钱包。钱包通道完全无需密钥。 - 消费前会检查余额,RPC 端点必须使用 HTTPS;devnet 是可用于演练的一等目标。
环境变量
| 变量 | 默认值 | 含义 |
|---|---|---|
SOLANA_SECRET_KEY | 未设置 | 铸造钱包的 Base58 密钥或 JSON 字节数组。 |
SOLANA_RPC_URL | 公共端点 | HTTPS RPC。生产环境流量请使用你自己的端点。 |
METAPLEX_AGENT_NETWORK | mainnet | 默认集群(mainnet 或 devnet);每个工具也都接受单次调用的 network。 |
REQUIRE_CONFIRM | true | 要求通过 confirm: true 确认后才能消费。 |
THREE_WS_BASE | https://three.ws | 部署信息流和 $THREE 账本的主机。 |
DEPLOY_FEE_SOL | 0.02 | 主网部署费用,单位为 SOL。 |
DEPLOY_FEE_WALLET | three.ws 回购钱包 | 部署费用的收款地址。 |
DEPLOY_FEE_ENABLED | true | 设为 false 可构建不收取费用的分叉版本。 |
THREE_HALF_PRICE_AT / THREE_FREE_AT | 50000 / 250000 | 可使费用减半或免除的 $THREE 余额。 |
THREE_MINT | $THREE 铸币地址 | 仅用于跟踪更新后的规范合约。 |
库的使用
这些构建器已导出,可直接嵌入(Web 应用、脚本):
import { buildAgentMint, sendAgentMint, buildUmi, toBase58Signature } from '@three-ws/metaplex-agent-mcp/lib';
const umi = buildUmi({ network: 'devnet', secret: process.env.SOLANA_SECRET_KEY });
const mint = buildAgentMint(umi, {
network: 'devnet',
creator: umi.identity.publicKey.toString(),
name: 'Astra',
description: 'An autonomous 3D agent',
image: 'https://example.com/astra.png',
modelUrl: 'https://example.com/astra.glb',
x402Support: true,
});
const { signatures, atomic } = await sendAgentMint(umi, mint, { toBase58Signature });
注册和元数据构建器也可以单独从 @three-ws/metaplex-agent-mcp/lib/registration 导入(无依赖、可在浏览器中安全使用),交易构建器则可从 @three-ws/metaplex-agent-mcp/lib/mint 导入。three.ws 的 /deploy-onchain 页面正是基于这些构建器运行的。atomic 为 false 时,combinedBuilder 仍包含完整的铸造流程:将其编译为 Solana 交易 v1(4,096 字节限制)后,创建和注册会在一个原子交易中完成;对于支持 v1 签名的钱包,/deploy-onchain 就是这样处理的。
要求
- Node 20+
- 目标网络上用于铸造的 SOL(主网上每个 Agent 约需 0.027 SOL,持有者豁免时约需 0.007 SOL;devnet 可通过水龙头免费获取)
链接
- three.ws:https://three.ws
- $THREE:https://three.ws/three
- 实时部署动态:https://three.ws/deployments
- Metaplex Agent Registry:https://www.metaplex.com/agents
- Metaplex 文档:https://www.metaplex.com/docs/agents
- 源码:https://github.com/nirholas/three.ws/tree/main/packages/metaplex-agent-mcp
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。