@three-ws/metaplex-agent-mcp
Deploys AI agents on-chain into the Metaplex Agent Registry on Solana, minting Metaplex Core assets and registering their EIP-8004 agent identity, with support for signing via Solana wallets.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@three-ws/metaplex-agent-mcpMint a new AI agent named Astra on devnet."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@three-ws/metaplex-agent-mcp
Deploy AI agents on-chain into the Metaplex Agent Registry on Solana, from any MCP client.
One flow mints a Metaplex Core asset and registers its EIP-8004 agent identity (a single atomic transaction when it fits Solana's 1232-byte limit, create + register in sequence otherwise, exactly how the Genesis 333 landed), so the agent shows up on metaplex.com/agents with its own built-in wallet, reputation surface, and explorer pages. The default output reproduces the exact shape of the three.ws Genesis 333 mints, verified byte-for-byte against the live assets:
asset metadata as a self-contained
data:application/json;base64URI (name,image,animation_urlGLB)Royalties plugin (5% to the owner), VerifiedCreators (the signing wallet), ImmutableMetadata
AgentIdentity plugin carrying the
eip-8004#registration-v1document (model.uri,active,x402Support,registrations,supportedTrust)
Two signing lanes, both self-custodial:
Agents sign with their own keypair (
SOLANA_SECRET_KEY):mint_onchain_agent.People sign with Phantom, Solflare, Backpack, Ledger, or any Solana wallet:
prepare_agent_mintbuilds the transaction, the wallet signs it,send_signed_transactionbroadcasts it. No key ever touches the server.
A mainnet deploy pays a flat 0.02 SOL fee, in the same transaction as the mint, and that fee funds $THREE buybacks. Hold $THREE and it halves, then disappears; devnet never pays it. Every preview shows the number and its recipient before anything is signed. See $THREE: the deploy fee and the holder waiver.
Nothing is mocked: real Metaplex programs, real Solana, and devnet support for free end-to-end rehearsal.
Install
npm install -g @three-ws/metaplex-agent-mcp
# or run ad hoc
npx -y @three-ws/metaplex-agent-mcpRelated MCP server: AgentWallet MCP Server
Setup
Claude Code:
claude mcp add metaplex-agent -e SOLANA_SECRET_KEY=<base58> -- npx -y @three-ws/metaplex-agent-mcpCursor / any MCP client (mcp.json):
{
"mcpServers": {
"metaplex-agent": {
"command": "npx",
"args": ["-y", "@three-ws/metaplex-agent-mcp"],
"env": { "SOLANA_SECRET_KEY": "<base58 secret key>" }
}
}
}SOLANA_SECRET_KEY is optional: every read tool and the whole Phantom/Solflare flow works without it.
Quick start
Rehearse on devnet for free, then go to mainnet:
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" }A mainnet deploy costs ~0.027 SOL: ~0.007 in Core rent, identity PDA rent, and network fees, plus a flat 0.02 SOL deploy fee that funds $THREE buybacks. Holding $THREE halves that fee and then waives it, and devnet is free. See $THREE.
Tools
Tool | What it does |
| Mint + register, signed by your key (atomic when it fits, auto-split otherwise). |
| The same mint, built for an external wallet ( |
| Broadcast wallet-signed transactions in order, polling each to confirmation and absorbing the create/register propagation race. |
| Enrol an already-minted Core asset in the Agent Registry (idempotent; the signer must be the asset authority). |
| Read any registered agent: asset, plugins, decoded metadata + registration documents, identity PDA, built-in wallet + balance. |
| An asset's built-in wallet (mpl-core Asset Signer PDA), any address, or the configured signer, with live SOL balance. |
| The EIP-8004 registration JSON + |
| Latest registrations from the live three.ws |
| Prices your next deploy: fee schedule, a wallet's live $THREE balance and tier, and the public buyback ledger. |
$THREE: the deploy fee and the holder waiver
A mainnet deploy carries a flat 0.02 SOL fee. Three things about it matter:
It rides in the same transaction that creates the asset. A deploy that fails, is rejected, or expires moves no money. There is no separate payment step and nothing to reconcile.
It is disclosed before anything is signed. Every
mint_onchain_agentpreview and everyprepare_agent_mintresponse returnsdeploy_fee_solanddeploy_fee_to, with the tier that produced them.It funds $THREE buybacks. The fee is paid to the wallet the three.ws $THREE buyback lane spends from (
FeMbDoX7R1Psc4GEcvJdsbNbZA3bfztcyDCatJVJpumpis the mint), and the public ledger of what that lane has bought is at/api/three-token/stats. Deploys are the only revenue this package has.
Holding $THREE makes it cheaper, then free:
$THREE in the paying wallet | Deploy fee |
under 50,000 | 0.02 SOL |
50,000 or more | 0.01 SOL |
250,000 or more | free |
The balance is read live from the chain when the transaction is built. Nothing is staked, escrowed, locked, or spent to earn it: hold the tokens in your own wallet and keep them, and the waiver applies to every agent you deploy. Devnet always pays zero, so a full end-to-end rehearsal stays free.
three_status {} → what your next deploy costs and why
three_status { wallet: "<any base58 address>" } → price it for someone else's walletSelf-hosting a fork with different economics is DEPLOY_FEE_SOL, DEPLOY_FEE_WALLET, and
DEPLOY_FEE_ENABLED.
Customization
Every field the mint touches is a parameter: owner, collection, royalty basis points and splits, verified creator, immutable metadata, on-chain Attributes, permanent freeze/transfer/burn delegates, AddBlocker, off-chain metadata attributes, external_url, services, trust models, registration entries, and full metadata_uri / registration_uri overrides for documents you host yourself. The defaults are the Genesis 333 values, so calling with just name, description, image, and model_url produces an asset indistinguishable in shape from the originals.
Safety
mint_onchain_agentandregister_agent_identitybroadcast only withconfirm: true(setREQUIRE_CONFIRM=falseto opt out); previews cost nothing.Keys stay yours:
SOLANA_SECRET_KEYor a per-callsecret, never a custodial wallet. The wallet lane needs no key at all.Balances are checked before spending, RPC endpoints must be HTTPS, and devnet is a first-class target for rehearsal.
Environment variables
Variable | Default | Meaning |
| unset | Base58 secret key or JSON byte array for the minting wallet. |
| public endpoint | HTTPS RPC. Bring your own for production traffic. |
|
| Default cluster ( |
|
| Gate spends behind |
|
| Host for the deployments feed and the $THREE ledger. |
|
| Mainnet deploy fee, in SOL. |
| three.ws buyback wallet | Where the deploy fee is paid. |
|
| Set false to build a fork that charges nothing. |
|
| $THREE balances that halve, then waive, the fee. |
| $THREE mint | Only to track an updated canonical contract. |
Library use
The builders are exported for direct embedding (web apps, scripts):
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 });The registration and metadata builders are also importable on their own (dependency-free, browser-safe) from @three-ws/metaplex-agent-mcp/lib/registration, and the transaction builders from @three-ws/metaplex-agent-mcp/lib/mint. The three.ws /deploy-onchain page runs on exactly these.
Requirements
Node 20+
SOL on the target network for minting (~0.027 SOL per agent on mainnet, or ~0.007 with the holder waiver; devnet is free via faucet)
Links
three.ws: https://three.ws
$THREE: https://three.ws/three
Live deployments feed: https://three.ws/deployments
Metaplex Agent Registry: https://www.metaplex.com/agents
Metaplex docs: https://www.metaplex.com/docs/agents
Source: https://github.com/nirholas/three.ws/tree/main/packages/metaplex-agent-mcp
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI agents to interact with cryptocurrency ecosystems through wallet management, trading operations (swaps, DCA, limit orders), staking, and multi-chain support starting with Solana.37GPL 3.0
- AlicenseAqualityDmaintenanceProvides permissionless wallet infrastructure for AI agents to manage wallets, sign transactions, and handle tokens across Solana and all EVM-compatible chains. It includes 29 specialized tools for on-chain operations, featuring built-in security guards and automated x402 payment processing without KYC requirements.293343MIT
- AlicenseAqualityDmaintenanceEnables AI agents to read chain data, execute transactions, swap tokens, and manage wallets on Solana through 38 tools across 7 modules. Supports write operations with a private key and includes built-in prompts for common workflows.381MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with the Solana blockchain, manage accounts and tokens, and develop and deploy smart contracts end-to-end.4
Related MCP Connectors
Native Solana staking for AI agents. 26 MCP tools, one-shot signing, webhooks.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Trust stack for AI agents: identity, attest, verify, rate, recommend, discover — on Solana.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nirholas/metaplex-agent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server