# Metaplex Agent Registry (npm · @three-ws/metaplex-agent-mcp)

Deploy AI agents on-chain on Solana with an EIP-8004 identity. Deploy fee funds $THREE buybacks.

- Trust score: 64/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

## Components

- npm · `@three-ws/metaplex-agent-mcp`: 64/100 (this document), [markdown](https://verifymcp.io/servers/nirholas-metaplex-agent/three-ws-metaplex-agent-mcp.md), [page](https://verifymcp.io/servers/nirholas-metaplex-agent/three-ws-metaplex-agent-mcp)

## Channel facts

- Registry: `npm`
- Package: `@three-ws/metaplex-agent-mcp`
- Version: `0.2.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, 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-08-20.

- **Supply Chain Security**: 99/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 35 of 130 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 35/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (SEE LICENSE IN LICENSE) isn't a recognized OSI-approved license.
  - Actively maintained (last published 0 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3343 tokens (~371/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add nirholas-metaplex-agent -- npx -y @three-ws/metaplex-agent-mcp
```

### Codex

```bash
codex mcp add nirholas-metaplex-agent -- npx -y @three-ws/metaplex-agent-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nirholas-metaplex-agent": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@three-ws/metaplex-agent-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add nirholas-metaplex-agent --command npx --arg -y --arg @three-ws/metaplex-agent-mcp
```

### Hermes

```yaml
mcp_servers:
  nirholas-metaplex-agent:
    command: "npx"
    args: ["-y", "@three-ws/metaplex-agent-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "nirholas-metaplex-agent": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/metaplex-agent-mcp"
      ]
    }
  }
}
```

## 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-08-19 (score 64)

First indexed and scored.

## MCP tools (9)

### `mint_onchain_agent` (~898 tokens)

Mint an on-chain agent into the Metaplex Agent Registry

Deploy an AI agent on-chain, Genesis-333 style: mints a Metaplex Core asset (data: URI metadata, verified creator, royalties, immutable metadata) AND registers its EIP-8004 Agent Identity, so it appears on metaplex.com/agents with its own built-in wallet. Runs as ONE atomic transaction when it fits Solana's 1232-byte limit, otherwise as create followed by register (how the Genesis 333 landed). Signs with the configured SOLANA_SECRET_KEY (or a per-call secret) and spends ~0.007 SOL in rent + fees, plus a flat SOL deploy fee on mainnet that funds $THREE buybacks (holding $THREE halves it, then waives it; devnet is free; see three_status). The fee rides in the same transaction as the mint, so a failed mint pays nothing. Without confirm:true it returns a full preview (both JSON documents, the paying wallet, every cost line including the fee and its recipient) and broadcasts NOTHING. For Phantom/Solflare users, use prepare_agent_mint.

Input parameters:

- `active` (boolean): Registration active flag. Default true.
- `add_blocker` (boolean): Attach AddBlocker so no further plugins can be added. Default false.
- `attributes` (array): On-chain Attributes plugin entries (real bytes in the asset account).
- `collection`: Mint into this Metaplex Core collection. The signer must be the collection authority.
- `confirm` (boolean): Must be true to broadcast. Anything else returns a spend-nothing preview.
- `description` (string): What this agent is or does. Stored in the EIP-8004 registration document.
- `external_url` (string): Optional external_url in the asset metadata (e.g. the agent home page).
- `image` (string): Thumbnail/avatar image URL (PNG or similar). Shown on metaplex.com/agents, wallets, and explorers.
- `immutable_metadata` (boolean): Attach the ImmutableMetadata plugin so the metadata can never change. Default true (Genesis style).
- `metadata_attributes` (array): Off-chain attributes array inside the asset metadata JSON (trait_type/value pairs).
- `metadata_uri` (string): Full override for the asset metadata URI (https or data:). Skips the built-in metadata builder.
- `model_url` (string): 3D model URL (GLB). Written as the asset metadata animation_url and as model.uri in the registration, Genesis style.
- `name` (string, required): Agent name. Becomes the Core asset name and the registration name.
- `network` (string): Solana cluster. Defaults to the configured network (mainnet unless overridden).
- `owner` (string): Mint the asset to this owner instead of the signing wallet.
- `permanent_burn` (boolean): Attach PermanentBurnDelegate. Default false.
- `permanent_freeze` (boolean): Attach PermanentFreezeDelegate (unfrozen). Default false.
- `permanent_transfer` (boolean): Attach PermanentTransferDelegate. Default false.
- `registration_uri` (string): Full override for the Agent Identity registration URI (https or data:). Skips the built-in registration builder.
- `registrations` (array): External registry registrations. Defaults to the chain registry entry, or the three.ws entry when threews_agent_id is set.
- `royalty_basis_points` (integer): Royalty in basis points. Default 500 (5%), the Genesis value. 0 removes the Royalties plugin.
- `royalty_creators` (array): Royalty split. Percentages must sum to 100. Defaults to the signing wallet at 100%.
- `secret` (string): Per-call signing key (base58 secret key or JSON byte array). Overrides SOLANA_SECRET_KEY.
- `services` (array): Services the agent offers, listed on its Metaplex agent page ({name, endpoint}).
- `supported_trust` (array): Trust models the agent supports. Default ['reputation'] (Genesis style).
- `threews_agent_id` (string): three.ws agent UUID. Adds the Genesis-exact registration entry {agentId, agentRegistry: "https://three.ws"}.
- `verified_creator` (boolean): Attach the VerifiedCreators plugin with the signing wallet verified. Default true (Genesis style).
- `x402_support` (boolean): Advertise x402 payment support in the registration document. Default false.

### `prepare_agent_mint` (~836 tokens)

Prepare an agent mint for a Phantom/Solflare wallet to sign

Build the exact Genesis-style mint+register flow (Metaplex Core asset + Agent Identity) for an EXTERNAL Solana wallet: Phantom, Solflare, Backpack, Ledger, anything. Needs no secret key. Returns unsigned transactions base64 in txs_base64 (already co-signed by the new asset keypair) with `wallet` as the fee payer: one atomic tx when it fits Solana's size limit, else create + register to sign together via signAllTransactions. The wallet signs and broadcasts, or hands the signed array to send_signed_transaction. Includes the same mainnet deploy fee as mint_onchain_agent, priced against the wallet's live $THREE balance and returned as deploy_fee_sol/deploy_fee_to before anything is signed. Broadcasts nothing itself. The blockhash expires after roughly a minute, so sign promptly and re-prepare if a wallet reports an expired transaction.

Input parameters:

- `active` (boolean): Registration active flag. Default true.
- `add_blocker` (boolean): Attach AddBlocker so no further plugins can be added. Default false.
- `attributes` (array): On-chain Attributes plugin entries (real bytes in the asset account).
- `collection`: Mint into this Metaplex Core collection. The signer must be the collection authority.
- `description` (string): What this agent is or does. Stored in the EIP-8004 registration document.
- `external_url` (string): Optional external_url in the asset metadata (e.g. the agent home page).
- `image` (string): Thumbnail/avatar image URL (PNG or similar). Shown on metaplex.com/agents, wallets, and explorers.
- `immutable_metadata` (boolean): Attach the ImmutableMetadata plugin so the metadata can never change. Default true (Genesis style).
- `metadata_attributes` (array): Off-chain attributes array inside the asset metadata JSON (trait_type/value pairs).
- `metadata_uri` (string): Full override for the asset metadata URI (https or data:). Skips the built-in metadata builder.
- `model_url` (string): 3D model URL (GLB). Written as the asset metadata animation_url and as model.uri in the registration, Genesis style.
- `name` (string, required): Agent name. Becomes the Core asset name and the registration name.
- `network` (string): Solana cluster. Defaults to the configured network (mainnet unless overridden).
- `owner` (string): Mint the asset to this owner instead of the signing wallet.
- `permanent_burn` (boolean): Attach PermanentBurnDelegate. Default false.
- `permanent_freeze` (boolean): Attach PermanentFreezeDelegate (unfrozen). Default false.
- `permanent_transfer` (boolean): Attach PermanentTransferDelegate. Default false.
- `registration_uri` (string): Full override for the Agent Identity registration URI (https or data:). Skips the built-in registration builder.
- `registrations` (array): External registry registrations. Defaults to the chain registry entry, or the three.ws entry when threews_agent_id is set.
- `royalty_basis_points` (integer): Royalty in basis points. Default 500 (5%), the Genesis value. 0 removes the Royalties plugin.
- `royalty_creators` (array): Royalty split. Percentages must sum to 100. Defaults to the signing wallet at 100%.
- `services` (array): Services the agent offers, listed on its Metaplex agent page ({name, endpoint}).
- `supported_trust` (array): Trust models the agent supports. Default ['reputation'] (Genesis style).
- `threews_agent_id` (string): three.ws agent UUID. Adds the Genesis-exact registration entry {agentId, agentRegistry: "https://three.ws"}.
- `verified_creator` (boolean): Attach the VerifiedCreators plugin with the signing wallet verified. Default true (Genesis style).
- `wallet` (string, required): The base58 address of the wallet that will sign, pay, and own the agent.
- `x402_support` (boolean): Advertise x402 payment support in the registration document. Default false.

### `send_signed_transaction` (~146 tokens)

Broadcast signed Solana transactions in order and confirm them

Broadcast one or more fully signed Solana transactions (base64) IN ORDER, polling each to confirmation before the next. Use it to complete the prepare_agent_mint flow: pass the wallet-signed txs_base64 array and the create/register sequencing (including the propagation race) is handled. Whatever the transactions do on-chain happens for real, so only send bytes you built and inspected.

Input parameters:

- `network` (string): Cluster to broadcast on. Defaults to the configured network.
- `tx_base64` (string): A single fully signed transaction, base64 encoded.
- `txs_base64` (array): Fully signed transactions to broadcast in order (e.g. create then register).

### `register_agent_identity` (~382 tokens)

Register an existing Core asset in the Metaplex Agent Registry

Give an ALREADY-MINTED Metaplex Core asset its Agent Identity: writes the EIP-8004 registration document (as a self-contained data: URI) onto the asset and creates its identity PDA, after which it appears on metaplex.com/agents. The signing wallet must be the asset authority (or the collection authority for collection-bound assets). Registration is one-time per asset and costs ~0.003 SOL; an already-registered asset returns already_registered without spending. Without confirm:true it returns a spend-nothing preview. To mint a NEW agent, use mint_onchain_agent or prepare_agent_mint instead.

Input parameters:

- `active` (boolean): Registration active flag. Default true.
- `asset` (string, required): The Core asset address to register.
- `collection` (string): The collection address, required for collection-bound assets.
- `confirm` (boolean): Must be true to broadcast. Anything else returns a preview.
- `description` (string): Agent description.
- `image` (string): Thumbnail image URL.
- `model_url` (string): 3D model URL (GLB), written as model.uri.
- `name` (string, required): Agent name for the registration document.
- `network` (string): Cluster. Defaults to the configured network.
- `registration_uri` (string): Full override for the registration URI (https or data:).
- `registrations` (array): External registry entries. Defaults to the chain registry entry.
- `secret` (string): Per-call signing key. Overrides SOLANA_SECRET_KEY.
- `services` (array): Services the agent offers.
- `supported_trust` (array): Default ['reputation'].
- `threews_agent_id` (string): three.ws agent UUID for the Genesis-exact three.ws registration entry.
- `x402_support` (boolean): Advertise x402 payment support. Default false.

### `get_onchain_agent` (~128 tokens)

Read an on-chain agent (asset, registration, wallet)

Fetch a Metaplex Agent Registry agent by its Core asset address: name, owner, update authority, plugins (royalties, verified creators, immutable metadata, attributes), the decoded asset metadata and EIP-8004 registration documents, whether the identity PDA exists, and the built-in agent wallet (Asset Signer PDA) with its live SOL balance. Read-only. Works on any registered agent, e.g. the three.ws Genesis mints.

Input parameters:

- `asset` (string, required): The Core asset address (base58).
- `network` (string): Cluster. Defaults to the configured network.

### `agent_wallet` (~166 tokens)

An agent's built-in wallet, or the signer wallet, with balance

Show a wallet address and its live SOL balance. Pass `asset` to derive an on-chain agent's built-in wallet (the Metaplex Core Asset Signer PDA, the wallet shown on metaplex.com/agents). Pass `address` to inspect any wallet. Pass neither to see the configured signing wallet, e.g. to confirm it is funded before mint_onchain_agent. On mainnet it also reports the wallet $THREE balance and the deploy-fee tier that balance earns (see three_status). Read-only; never moves funds.

Input parameters:

- `address` (string): A wallet address to inspect verbatim.
- `asset` (string): A Core asset address: derives that agent's built-in wallet.
- `network` (string): Cluster. Defaults to the configured network.

### `build_registration` (~251 tokens)

Build an EIP-8004 registration document (no chain access)

Build the Genesis-style EIP-8004 registration-v1 JSON document and its self-contained data:application/json;base64 URI, without touching Solana. Use it to preview exactly what mint_onchain_agent / register_agent_identity will write on-chain, or to host the document yourself and pass it back as registration_uri.

Input parameters:

- `active` (boolean): Registration active flag. Default true.
- `asset` (string): Asset address for the default chain-registry entry when no registrations are given.
- `description` (string): Agent description.
- `image` (string): Thumbnail image URL.
- `model_url` (string): 3D model URL (GLB), written as model.uri.
- `name` (string, required): Agent name.
- `network` (string): Network for the default chain-registry entry. Defaults to the configured network.
- `registrations` (array): External registry entries.
- `services` (array): Services the agent offers.
- `supported_trust` (array): Default ['reputation'].
- `threews_agent_id` (string): three.ws agent UUID for the Genesis-exact three.ws entry.
- `x402_support` (boolean): Advertise x402 payment support. Default false.

### `list_onchain_agents` (~169 tokens)

List the latest on-chain agent registrations

The latest agents to land on-chain in the Metaplex Agent Registry, newest first, from the live three.ws /api/deployments feed (which also indexes registrations minted outside three.ws). Each entry carries the Core asset address, name, description, image, owner, 3D and x402 flags, and explorer links. Set all_chains:true to include EVM ERC-8004 registrations in the same stream. Read-only.

Input parameters:

- `all_chains` (boolean): Include EVM ERC-8004 registrations too. Default false (Solana only).
- `cursor` (string): Pagination cursor from a previous call.
- `limit` (integer): How many registrations to return. Default 12.
- `network` (string): Solana cluster. Defaults to the configured network.

### `three_status` (~157 tokens)

Deploy fee, $THREE holder tier, and the live buyback ledger

What the next on-chain deploy costs and why. Returns the deploy-fee schedule (a flat SOL fee on mainnet, free on devnet), the live $THREE balance of a wallet and the tier it earns (half price, then free), the wallet the fee is paid to, and the live $THREE market + buyback figures from the public three.ws ledger. Pass `wallet` to price a specific payer, or omit it to price the configured signer. Read-only: it moves nothing and needs no key.

Input parameters:

- `network` (string): Cluster. Defaults to the configured network. Devnet deploys are always free.
- `wallet` (string): Price the deploy fee for this wallet. Defaults to the configured signer.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/nirholas-metaplex-agent/three-ws-metaplex-agent-mcp#diagnostics

## Score history

- 2026-08-20: 64
- 2026-08-19: 64

## Links

- npm package: https://www.npmjs.com/package/@three-ws/metaplex-agent-mcp
- Socket report: https://socket.dev/npm/package/@three-ws/metaplex-agent-mcp
- Repository: https://github.com/nirholas/three.ws
- Website: https://three.ws/
- Changelog RSS feed: https://verifymcp.io/servers/nirholas-metaplex-agent/three-ws-metaplex-agent-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/nirholas-metaplex-agent/three-ws-metaplex-agent-mcp.json
- HTML version of this page: https://verifymcp.io/servers/nirholas-metaplex-agent/three-ws-metaplex-agent-mcp
