3D AI Agent Avatar
NPM · @THREE-WS/AVATAR-AGENT · SCANNED SEP 20
3D AI Agent Avatar — render any GLB, give it a Solana wallet, a voice, and pump.fun powers.
Available components
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. How we score → Why this is hard to score →
Supply Chain Security89
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects toml 3.0.0, reached via @nirholas/pump-sdk > @coral-xyz/anchor > toml. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 80 of 276 dependencies flagged as unhealthy (2 deprecated). View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 8 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability69
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4046 tokens (~202/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 95% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the 3D AI Agent Avatar MCP server?
3D AI Agent Avatar runs locally as an npm package, launched with npx -y @three-ws/avatar-agent. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @three-ws/avatar-agent
claude mcp add nirholas-3d-ai-agent-avatar -- npx -y @three-ws/avatar-agent
{
"mcpServers": {
"nirholas-3d-ai-agent-avatar": {
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-agent"
]
}
}
} {
"servers": {
"nirholas-3d-ai-agent-avatar": {
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-agent"
]
}
}
} codex mcp add nirholas-3d-ai-agent-avatar -- npx -y @three-ws/avatar-agent
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"nirholas-3d-ai-agent-avatar": {
"type": "local",
"command": [
"npx",
"-y",
"@three-ws/avatar-agent"
],
"enabled": true
}
}
} openclaw mcp add nirholas-3d-ai-agent-avatar --command npx --arg -y --arg @three-ws/avatar-agent
mcp_servers:
nirholas-3d-ai-agent-avatar:
command: "npx"
args: ["-y", "@three-ws/avatar-agent"] {
"McpServers": {
"nirholas-3d-ai-agent-avatar": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@three-ws/avatar-agent"
]
}
}
} assistant mcp add nirholas-3d-ai-agent-avatar -t stdio -c npx -a -y @three-ws/avatar-agent
{
"mcpServers": {
"nirholas-3d-ai-agent-avatar": {
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-agent"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 +1
- Stability: 0.97 → pass security
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 +1
- Stability: 0.97 → pass security
- 9 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 7 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@three-ws/avatar-agent@1.2.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 5 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-3gc7-fjrx-p6mg | CVE-2025-3194 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | no |
| GHSA-528h-pc64-c93x | CVE-2026-71429 | medium | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-82x6-q7mm-w9cf | CVE-2026-77465 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-v5mp-jgw5-2x6j | CVE-2026-63376 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L | yes |
| GHSA-w5hq-g745-h8pq | CVE-2026-41907 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 276 packages
| Packages resolved | 276 |
|---|---|
| Deprecated | 2 |
| Stale | 76 |
| No linked repository | 3 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
dress_avatar Apply accessories + pose to a spawned avatar ~146
Apply (or replace) accessories on a spawned avatar session and optionally set a pose. Pass accessoryIds to set the full accessory list (empty array clears them). Pass pose to switch animations. Returns the updated viewer URL.
| Name | Type | Req | Description |
|---|---|---|---|
| accessoryIds | array | – | Full list of accessory ids to wear. Allowed: hat-baseball, hat-beanie, hat-cowboy, glasses-round, glasses-shades, earrings-hoops, earrings-studs. Empty array clears. |
| pose | string | – | Pose preset. Allowed: idle, wave, thumbs_up, dab, t_pose, sit, point, salute, cheer. |
| sessionId | string | yes | Session id returned by spawn_avatar. |
No output schema declared.
No examples provided.
ens_sns_resolve Resolve ENS + SNS names to addresses ~117
Resolve a human-readable name to addresses across ENS (Ethereum) and SNS (Solana, Bonfida). For .eth: returns Ethereum address + reverse lookup. For .sol: returns Solana owner wallet + the wallet's other owned .sol domains + favorite domain. Names without a suffix are tried against both registries.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Name to resolve, e.g. "vitalik.eth", "bonfida.sol", or bare "vitalik" (tried in both registries). |
No output schema declared.
No examples provided.
generate_avatar Generate a 3D avatar (Replicate text-to-3D) ~156
Generate a textured GLB from a text prompt or reference image URLs via Replicate (Hunyuan-3D 3.1 by default; configurable). Returns the GLB URL and a new avatar session you can dress + animate. Requires REPLICATE_API_TOKEN and REPLICATE_TEXT_TO_AVATAR_MODEL on the MCP server.
| Name | Type | Req | Description |
|---|---|---|---|
| images | array | – | Reference image URLs for image-to-3D. |
| name | string | – | Name for the resulting avatar session. |
| prompt | string | – | Text description of the avatar to generate. |
| seed | integer | – | – |
| texture | boolean | – | Request PBR textures when supported (default true). |
| voice | string | – | TTS voice the session should use. |
No output schema declared.
No examples provided.
inspect_glb Inspect a GLB / glTF 3D model ~87
Fetch any GLB URL (or data: URL) and return a full structural breakdown: meshes, primitives, materials, textures, animations, skins, vertex + triangle counts, world-space bounding box, and file size. Pure local parse via @gltf-transform/core — no third-party services.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Public URL or data: URL of a .glb file. |
No output schema declared.
No examples provided.
list_animations List three.ws pose presets + animation slots ~69
Return the three.ws pose preset catalog (T-pose, A-pose, wave, thinker, jump, dance, warrior2, …) grouped by category. Use the ids returned here as posePresetId in render_avatar. Fetched live from three.ws so the catalog reflects the deployed version.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_avatars List three.ws default avatars + accessories ~68
Return the catalog of default 3D avatars (default, cz) and accessories (hats, glasses, earrings) hosted on the three.ws CDN. Each entry includes a public GLB URL ready to load in any glTF viewer or Three.js scene. Includes the supported pose preset names.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
optimize_glb Optimize a GLB (dedup, prune, weld, Draco) ~204
Run a @gltf-transform/functions optimization pipeline on a GLB URL: dedup → prune unused → weld duplicate vertices → optional Draco mesh compression. Returns the optimized bytes as a base64 data URL with before/after sizes. Lossless for geometry except where Draco quantization is requested.
| Name | Type | Req | Description |
|---|---|---|---|
| dedup | boolean | – | Merge equivalent accessors / materials / textures. Default true. |
| draco | boolean | – | Apply Draco mesh compression (lossy quantization). Default false. |
| dracoQuantizePosition | integer | – | Position bits for Draco (default 14 = high fidelity). |
| prune | boolean | – | Remove unused materials / nodes / meshes. Default true. |
| returnInline | boolean | – | Return the optimized GLB inline as a base64 data URL (default true). Set false to return only stats. |
| url | string | yes | Source GLB URL (or data: URL). |
| weld | boolean | – | Merge duplicate vertices. Default true. |
No output schema declared.
No examples provided.
pump_buy Buy a Solana token via Jupiter (direct or Jito-bundled) ~282
Swap SOL → target mint via Jupiter aggregator. Direct mode = one tx signed by the buyer. Bundled mode (jitoBundle=true) = two-tx Jito bundle where funderSecret transfers SOL + tip to the buyer atomically with the swap (sweeper-resistant). Pass target="three" to use the $three reference mint. EXECUTION ACTION.
| Name | Type | Req | Description |
|---|---|---|---|
| buySol | number | yes | Amount of SOL to spend. |
| buyerSecret | string | yes | Base58 secret of the buyer wallet (signs the swap). |
| confirm | boolean | – | Must be true to execute this irreversible swap (when REQUIRE_CONFIRM is on). |
| funderSecret | string | – | Base58 secret of the funder. Required when jitoBundle=true. |
| jitoBundle | boolean | – | Use a Jito bundle (atomic funder→buyer transfer + swap). Default false. |
| jitoTipSol | number | – | Jito tip in SOL (default 0.005). Only used when jitoBundle=true. |
| priorityMicroLamports | integer | – | Compute-unit price (default 2_000_000). |
| slippageBps | integer | – | Slippage in basis points (default 500 = 5%). |
| target | string | yes | Target mint (base58) or "three" to use the THREE_MINT env. |
No output schema declared.
No examples provided.
pump_collect_fees Atomic pump.fun creator-fee collection (Jito bundle) ~263
Collect a pump.fun coin's creator-fee vault and route the SOL to a safe destination, atomically, in a single tx inside a Jito bundle. Funder pays the fee + Jito tip; creator signs collectCoinCreatorFee + drain to DESTINATION. The bundle's atomicity blocks any competing collector from interleaving even if the creator key is leaked. EXECUTION ACTION.
| Name | Type | Req | Description |
|---|---|---|---|
| bufferLamports | integer | – | Lamports to leave in the creator wallet (default 890880, rent-exempt minimum). |
| confirm | boolean | – | Must be true to execute this irreversible collect+drain (when REQUIRE_CONFIRM is on). |
| creatorSecret | string | yes | Base58 secret of the coin creator (signs collect + drain). |
| destination | string | yes | Pubkey to receive the collected SOL. |
| funderSecret | string | yes | Base58 secret of the funder (pays fee + tip). |
| jitoTipSol | number | – | Jito tip in SOL (default 0.005). |
| minVaultSol | number | – | Abort if the vault holds less than this (default 0.001). |
| priorityMicroLamports | integer | – | Compute-unit priority price (default 3_000_000). |
No output schema declared.
No examples provided.
pump_launch Atomic pump.fun launch (Jito bundle, separate funder/creator) ~498
Launch a pump.fun token atomically via a Jito bundle. Funder pays its own fee + tip and rent-funds the creator; creator signs createV2 in tx2 — both txs land in the same block or neither does. Pass devBuySol to launch-and-snipe: the creator first buy is folded into the create tx (createV2AndBuy) so it lands atomically before any sniper sees the curve. If uri is omitted, metadata is uploaded to pump.fun IPFS first from name/symbol/description/socials/imageUrl. Returns the mint address, bundle id, both tx signatures, the dev-buy quote, and the pump.fun URL. EXECUTION ACTION — creates a real mint on mainnet.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to execute this irreversible mint launch (when REQUIRE_CONFIRM is on). |
| creatorSecret | string | yes | Base58 secret of the creator wallet (signs createV2 — becomes on-chain creator). |
| description | string | – | – |
| devBuySol | number | – | SOL for an atomic creator dev buy folded into the create tx (launch-and-snipe). Omit or 0 = launch only. Funded by the funder on top of rent. |
| funderSecret | string | yes | Base58 secret of the funder wallet (pays Tx1 fee + tip + rent transfer). |
| imageUrl | string | – | Image to upload as the token icon (re-fetched at upload time). |
| jitoTipSol | number | – | Jito tip in SOL (default 0.005). |
| mintSecret | string | – | Base58 secret to use as the mint keypair (default: random). |
| name | string | yes | Token name. |
| priorityMicroLamports | integer | – | Compute-unit priority price (default 2_000_000). |
| rentSol | number | – | SOL the funder transfers to the creator for tx2 rent + fees (default 0.035). |
| slippageBps | integer | – | Slippage tolerance for the dev buy in basis points (default 500 = 5%). Only used when devBuySol > 0. |
| symbol | string | yes | Token symbol (ticker). |
| telegram | string | – | – |
| string | – | – | |
| uri | string | – | Existing metadata URI. If omitted, metadata is uploaded first. |
| website | string | – | – |
No output schema declared.
No examples provided.
pump_snapshot Live pump.fun / Solana token snapshot ~116
Live snapshot for a Solana token (SPL or pump.fun): USD price (Jupiter), 24h volume + primary DEX (Dexscreener), pump.fun metadata (name/symbol/image/socials/mcap), and top-holder distribution from Solana RPC. Optional Helius DAS supply when HELIUS_API_KEY is configured. Free — no signer.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | – | Base58 Solana mint address. Pass "three" or omit to use the $three reference mint (THREE_MINT env). |
No output schema declared.
No examples provided.
render_avatar Render a posed avatar (pose + camera + expression) ~243
Render an avatar GLB with a three.ws pose preset, camera orbit, and optional ARKit-52 facial expression. Same pipeline as the three.ws customizer's save-snapshot flow. Returns PNG bytes as a base64 data URL. Accepts either glbUrl directly or sessionId from spawn_avatar.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | CSS color or "transparent". Default "#0a0a0a". |
| cameraOrbit | object | – | Camera orbit around the avatar. |
| expression | object | – | ARKit-52 morph target map, e.g. { mouthSmileLeft: 0.6, mouthSmileRight: 0.6 }. |
| glbUrl | string | – | Avatar GLB URL. Required if sessionId is omitted. |
| height | integer | – | Output height (default 1024). |
| posePresetId | string | – | Pose preset id (e.g. "tpose", "wave", "thinker"). Call list_animations for the full catalog. |
| sessionId | string | – | Avatar session id from spawn_avatar. Overrides glbUrl. |
| width | integer | – | Output width (default 1024). |
No output schema declared.
No examples provided.
spawn_avatar Spawn a 3D avatar session ~151
Spawn a 3D avatar from a curated default (preset="default" or "cz") or from a custom GLB URL. Returns a sessionId other tools (dress_avatar, viewer_url, speak) reference, plus the avatar GLB URL and a ready-to-open three.ws viewer link.
| Name | Type | Req | Description |
|---|---|---|---|
| glbUrl | string | – | Custom GLB URL — overrides preset. |
| name | string | – | Display name for the avatar persona. |
| persona | string | – | Short persona/personality blurb (used by callers; not enforced server-side). |
| preset | string | – | Pick a curated default avatar. |
| voice | string | – | OpenAI TTS voice the speak tool should use for this session. |
No output schema declared.
No examples provided.
speak Avatar speaks (TTS) ~265
Synthesize speech for an avatar session and return a base64 audio data URL the client can play. Free NVIDIA NIM Magpie TTS leads when NVIDIA_API_KEY is set (non-pcm requests are served as WAV); OpenAI TTS is the paid backstop when OPENAI_API_KEY is set. Picks the session's configured voice unless overridden.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Audio format (default mp3; the free NVIDIA lane serves every non-pcm request as wav). |
| language | string | – | BCP-47 language for the free NVIDIA lane (en-US default; also es-US, fr-FR, de-DE, zh-CN, vi-VN, it-IT, hi-IN, ja-JP). |
| model | string | – | OpenAI TTS model used on the paid backstop lane (default gpt-4o-mini-tts). The free NVIDIA lane always serves magpie-tts-multilingual. |
| sessionId | string | – | Avatar session id (optional — when omitted, voice falls back to the override or "nova"). |
| speed | number | – | Playback speed multiplier (OpenAI lane only). |
| text | string | yes | Text the avatar should say. |
| voice | string | – | Override the session voice for this call. |
No output schema declared.
No examples provided.
thumbnail_glb Render a GLB to a PNG thumbnail ~155
Render any public GLB URL to a PNG via three.ws's hosted three-light rig + auto-framing camera. Returns the PNG inline as a base64 data URL (≤ ~4 MB) plus dimensions. Background defaults to #0a0a0a — pass "transparent" for compositing.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | CSS color (e.g. "#0a0a0a") or "transparent". Default "#0a0a0a". |
| glbUrl | string | yes | Public http(s) URL of a .glb file. |
| height | integer | – | Output height in pixels (default 1024). |
| width | integer | – | Output width in pixels (default 1024). |
No output schema declared.
No examples provided.
validate_glb Validate a GLB / glTF against the Khronos spec ~116
Run the official Khronos gltf-validator against a GLB URL. Returns errors, warnings, infos, and hints with codes + JSON pointers, plus structural counts (animations, materials, etc.) per the validator's info report. The same engine that powers gltf.report.
| Name | Type | Req | Description |
|---|---|---|---|
| maxIssues | integer | – | Cap on issues returned in each bucket (default 100). Validator may still scan all of them. |
| url | string | yes | Public URL or data: URL of a .glb / .gltf file to validate. |
No output schema declared.
No examples provided.
viewer_url Build a three.ws viewer URL + embed snippet ~378
Build a shareable https://three.ws/viewer?... URL that opens any GLB in three.ws's WebGL viewer, plus a ready-to-paste iframe snippet. Supports background, auto-rotate, camera preset OR explicit camera orbit, AR mode (model-viewer), dimensions, pose, and accessory overlay. Accepts a raw glbUrl or a sessionId from spawn_avatar.
| Name | Type | Req | Description |
|---|---|---|---|
| accessoryIds | array | – | Accessory ids to attach in the viewer. |
| ar | boolean | – | Enable model-viewer AR buttons on iOS/Android. |
| autoRotate | boolean | – | Auto-rotate the model. Default true on the web viewer. |
| background | string | – | Background color or gradient (CSS), e.g. "#0a0a0a", "linear-gradient(...)", or "transparent". |
| cameraAngleDeg | number | – | Yaw in degrees shorthand. Used when cameraOrbit is absent. |
| cameraDistance | number | – | Distance multiplier shorthand (1.0 = default). Used when cameraOrbit is absent. |
| cameraOrbit | string | – | Explicit camera orbit in model-viewer syntax, e.g. "0deg 80deg 2m". Overrides cameraPreset. |
| cameraPreset | string | – | Named camera framing preset. |
| glbUrl | string | – | Direct GLB URL. Required if sessionId is omitted. |
| height | integer | – | Viewer height in pixels. |
| pose | string | – | Pose preset id (e.g. "wave", "tpose"). Call list_animations for the catalog. |
| sessionId | string | – | Avatar sessionId returned by spawn_avatar. Overrides glbUrl. |
| thumbnailUrl | string | – | Optional thumbnail to show in the iframe before the GLB loads. |
| width | integer | – | Viewer width in pixels (for the iframe snippet). |
No output schema declared.
No examples provided.
wallet_balance Read Solana wallet balances (SOL + SPL tokens) ~76
Return SOL balance and all SPL token balances (including Token-2022) for a Solana pubkey. Uses the configured SOLANA_RPC_URL. Read-only — no signer required.
| Name | Type | Req | Description |
|---|---|---|---|
| includeTokens | boolean | – | Include SPL token accounts (default true). |
| pubkey | string | yes | Base58 Solana pubkey to read. |
No output schema declared.
No examples provided.
wallet_create Create a Solana wallet (optionally vanity-grinded) ~187
Generate a Solana keypair locally. Optionally grind for a base58 prefix/suffix (e.g. "three") and/or attach it to an avatar session. Returns the base58 pubkey and secret ONCE — store the secret yourself; the MCP does not persist it.
| Name | Type | Req | Description |
|---|---|---|---|
| caseSensitive | boolean | – | Match case-sensitively (default true). Base58 has no 0OIl so set false to be permissive. |
| maxAttempts | integer | – | Cap on grind attempts (default 500_000). Bump for longer prefixes. |
| sessionId | string | – | If set, the wallet is attached to this avatar session. |
| vanityPrefix | string | – | Base58 prefix to grind for (e.g. "three"). Up to 8 chars. |
| vanitySuffix | string | – | Base58 suffix to grind for. Up to 8 chars. |
No output schema declared.
No examples provided.
wallet_send Send SOL on Solana mainnet ~179
Send SOL from the configured signer to a destination pubkey. The signer is supplied via the `secret` arg (base58) or via SOLANA_SECRET_KEY env on the MCP server. Returns the confirmed signature and a Solscan link. EXECUTION ACTION — funds move on mainnet, irreversible: pass confirm:true. Capped by MAX_SOL_PER_TX; destination must be in RECIPIENT_ALLOWLIST if one is configured.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to execute this irreversible send (when REQUIRE_CONFIRM is on). |
| priorityMicroLamports | integer | – | Compute-unit price (default 100000). |
| secret | string | – | Base58 secret of the sender. Falls back to SOLANA_SECRET_KEY env. |
| sol | number | yes | Amount of SOL to send. |
| to | string | yes | Destination Solana pubkey. |
No output schema declared.
No examples provided.
What is the 3D AI Agent Avatar MCP server?
3D AI Agent Avatar is an MCP server listed in the public MCP registry as io.github.nirholas/3D-AI-Agent-Avatar. 3D AI Agent Avatar, render any GLB, give it a Solana wallet, a voice, and pump.fun powers. This page covers its npm package (@three-ws/avatar-agent).
Is the 3D AI Agent Avatar MCP server safe to use?
3D AI Agent Avatar scores 78 out of 100 on VerifyMCP. We recorded 5 known advisories against it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the 3D AI Agent Avatar MCP server expose?
3D AI Agent Avatar exposes 20 tools: inspect_glb, validate_glb, optimize_glb, thumbnail_glb, viewer_url, and 15 more. Their descriptions and schemas cost roughly 3,756 tokens of context every time the server is loaded.
Is the 3D AI Agent Avatar MCP server still maintained?
3D AI Agent Avatar is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the 3D AI Agent Avatar MCP server under?
3D AI Agent Avatar declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.