mcpField
M
Metaplex Agent Registry

Metaplex Agent Registry

本地服务
three.wsAI 与智能体255今天更新

关于 Metaplex Agent Registry

Metaplex Agent Registry 是通过 MCP 将 AI Agent 部署到 Solana,并创建 Metaplex Core 资产和 EIP-8004 身份的服务。它支持使用 Agent 密钥或外部钱包签名,也可在 devnet 演练后部署到主网。

主要功能

  1. 01铸造资产并注册 EIP-8004 身份
  2. 02使用 Agent 密钥或外部钱包签名
  3. 03读取 Agent 注册信息和钱包余额
  4. 04离线构建注册文档
  5. 05预览费用和部署详情

适用场景

  1. 01将 Agent 身份部署到 Solana
  2. 02在 devnet 演练部署流程
  3. 03注册已有的 Core 资产
  4. 04查询钱包对应的部署费用等级

MCP 相关

向 MCP 客户端提供 Agent 铸造与注册、准备并广播钱包签名交易,以及读取注册和钱包数据的工具。客户端可在确认前预览部署;devnet 可用于演练。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nirholas-metaplex-agent": {
"command": "npx",
"args": [
"-y",
"@three-ws/metaplex-agent-mcp"
],
"env": {
"SOLANA_SECRET_KEY": "<SOLANA_SECRET_KEY>",
"SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
"METAPLEX_AGENT_NETWORK": "<METAPLEX_AGENT_NETWORK>",
"REQUIRE_CONFIRM": "<REQUIRE_CONFIRM>",
"DEPLOY_FEE_SOL": "<DEPLOY_FEE_SOL>",
"DEPLOY_FEE_WALLET": "<DEPLOY_FEE_WALLET>",
"DEPLOY_FEE_ENABLED": "<DEPLOY_FEE_ENABLED>",
"THREE_HALF_PRICE_AT": "<THREE_HALF_PRICE_AT>",
"THREE_FREE_AT": "<THREE_FREE_AT>"
}
}
}
}
启动命令npx -y @three-ws/metaplex-agent-mcp
需要配置的环境变量
SOLANA_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@three-ws/metaplex-agent-mcp0.2.1

工具

9

收录的工具列表 · 更新于 2 周前

参数类型必填说明
namestring是Agent 名称。将用作 Core 资产名称和注册名称。
imagestring否缩略图/头像图片 URL(PNG 或类似格式)。显示在 metaplex.com/agents、钱包和区块浏览器中。
ownerstring否将资产铸造给此所有者,而不是签名钱包。
activeboolean否注册启用标志。默认值为 true。
secretstring否单次调用的签名密钥(base58 密钥或 JSON 字节数组)。覆盖 SOLANA_SECRET_KEY。
confirmboolean否必须为 true 才会广播。其他任何值都会返回不花费资金的预览。
networkenum否Solana 集群。默认为已配置的网络(除非另行设置,否则为 mainnet)。mainnet | devnet
servicesarray否Agent 提供的服务,列在其 Metaplex Agent 页面上({name, endpoint})。
model_urlstring否3D 模型 URL(GLB)。按 Genesis 风格写入资产元数据的 animation_url 和注册中的 model.uri。
attributesarray否链上 Attributes 插件条目(资产账户中的实际字节)。
collectionany否在此 Metaplex Core 集合中铸造。签名者必须是集合权限方。
add_blockerboolean否附加 AddBlocker,以禁止添加更多插件。默认值为 false。
descriptionstring否此 Agent 是什么或执行什么操作。存储在 EIP-8004 注册文档中。
external_urlstring否资产元数据中的可选 external_url(例如,Agent 主页)。
metadata_uristring否资产元数据 URI 的完整覆盖值(https 或 data:)。跳过内置元数据构建器。
x402_supportboolean否在注册文档中声明支持 x402 支付。默认值为 false。
registrationsarray否外部注册表注册信息。默认为链注册表条目;如果设置了 threews_agent_id,则默认为 three.ws 条目。
permanent_burnboolean否附加 PermanentBurnDelegate。默认值为 false。
supported_trustarray否Agent 支持的信任模型。默认值为 ['reputation'](Genesis 风格)。
permanent_freezeboolean否附加 PermanentFreezeDelegate(未冻结)。默认值为 false。
registration_uristring否Agent Identity 注册 URI 的完整覆盖值(https 或 data:)。跳过内置注册构建器。
royalty_creatorsarray否版税分成。百分比总和必须为 100。默认为签名钱包,比例为 100%。
threews_agent_idstring否three.ws Agent UUID。添加 Genesis 精确格式的注册条目 {agentId, agentRegistry: "https://three.ws"}。
verified_creatorboolean否附加 VerifiedCreators 插件,并验证签名钱包。默认值为 true(Genesis 风格)。
immutable_metadataboolean否附加 ImmutableMetadata 插件,使元数据永远无法更改。默认值为 true(Genesis 风格)。
permanent_transferboolean否附加 PermanentTransferDelegate。默认值为 false。
metadata_attributesarray否资产元数据 JSON 中的链下属性数组(trait_type/value 对)。
royalty_basis_pointsinteger否以基点表示的版税。默认值为 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;base64 URI(包含 name、image、animation_url GLB)
  • 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,0000.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_NETWORKmainnet默认集群(mainnet 或 devnet);每个工具也都接受单次调用的 network。
REQUIRE_CONFIRMtrue要求通过 confirm: true 确认后才能消费。
THREE_WS_BASEhttps://three.ws部署信息流和 $THREE 账本的主机。
DEPLOY_FEE_SOL0.02主网部署费用,单位为 SOL。
DEPLOY_FEE_WALLETthree.ws 回购钱包部署费用的收款地址。
DEPLOY_FEE_ENABLEDtrue设为 false 可构建不收取费用的分叉版本。
THREE_HALF_PRICE_AT / THREE_FREE_AT50000 / 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 可通过水龙头免费获取)

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。