{"apiVersion":"v1","directorySlug":"avatar-mcp-ea7b5906c9","title":"Jonathan Arvay","description":"Websites designed, built and hosted for you, with free advertising across every site we","pageUrl":"https://www.mcpbundles.com/skills/avatar-mcp-ea7b5906c9","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://api.avatar.jonathanarvay.com/mcp","hostedMcpUrl":null,"toolCount":14,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.jonathanarvay/avatar-mcp-ea7b5906c9","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"axis_list_capabilities","description":"List all AXIS Foundry capabilities (input formats, export platforms, validation rules). [Free — no payment required.]","inputSchema":{"type":"object","properties":{"kind":{"enum":["input_format","export_platform","validation_rule"],"type":"string"}}},"title":"List Foundry Capabilities","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"axis_list_capabilities","displayName":"List Foundry Capabilities"},{"name":"axis_validate","description":"Validate an avatar mesh file. Returns pass/warn/fail counts and detailed rule results. [Paid: $0.25 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["file_path"],"properties":{"profile":{"enum":["default","strict","lenient"],"type":"string"},"platform":{"enum":["unity","unreal","godot","roblox","axis_engine"],"type":"string"},"file_path":{"type":"string"}}},"title":"Validate Mesh (38 Rules)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"axis_validate","displayName":"Validate Mesh (38 Rules)"},{"name":"axis_inspect","description":"Inspect an avatar's contract state and provenance chain (stage, bone/vertex counts, provenance step count, chain_valid + any broken links). Does not return a quality grade — use axis_validate for pass/warn/fail rule results. [Paid: $0.10 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["file_path"],"properties":{"file_path":{"type":"string"}}},"title":"Inspect Mesh File","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"axis_inspect","displayName":"Inspect Mesh File"},{"name":"axis_compare","description":"Compare two avatar contracts. Returns similarity score and section-level diffs. [Paid: $0.10 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["file_a","file_b"],"properties":{"file_a":{"type":"string"},"file_b":{"type":"string"},"sections":{"type":"array"}}},"title":"Compare Two Meshes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"axis_compare","displayName":"Compare Two Meshes"},{"name":"axis_process","description":"Run the full AXIS avatar pipeline (classify → normalize → rig → skin → validate). Returns contract summary. [Paid: $1.50 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["file_path"],"properties":{"export":{"type":"boolean"},"platform":{"enum":["unity","unreal","godot","roblox","axis_engine"],"type":"string"},"file_path":{"type":"string"}}},"title":"Process Mesh File (Full Pipeline)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"axis_process","displayName":"Process Mesh File (Full Pipeline)"},{"name":"post_process_mesh","description":"Post-process a RAW generated mesh (normalize → mesh-repair → rig/skin → validate → export) and return the finished, validated GLB as base64. The inline counterpart of axis_process (which needs a server file path) — the generation post-process step, callable by an LLM/agent that holds the mesh bytes (e.g. fresh TRELLIS output) or a URL to them. Provide the mesh EXACTLY one of two ways: inline as base64 (glb_base64) or as an HTTPS URL (mesh_url) — the URL's host must be on this server's operator-c","inputSchema":{"type":"object","properties":{"mesh_url":{"type":"string"},"platform":{"enum":["unity","unreal","godot","roblox","axis_engine"],"type":"string"},"asset_kind":{"enum":["avatar","prop","vehicle","environment","vfx","weapon_armor","character_accessory","generic"],"type":"string"},"glb_base64":{"type":"string"},"polygon_tier":{"type":"string"},"run_skinning":{"type":"boolean"}}},"title":"Post-Process Generated Mesh (Inline GLB or URL)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"post_process_mesh","displayName":"Post-Process Generated Mesh (Inline GLB or URL)"},{"name":"axis_export","description":"Export an avatar to a target engine platform with validation and HMAC-signed manifest. [Paid: $0.50 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["file_path","platform"],"properties":{"platform":{"enum":["unity","unreal","godot","roblox","axis_engine"],"type":"string"},"file_path":{"type":"string"}}},"title":"Export to Engine Platform","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"axis_export","displayName":"Export to Engine Platform"},{"name":"axis_manifest_verify","description":"Verify an export manifest's integrity and optionally check content hash. [Paid: $0.10 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["manifest"],"properties":{"manifest":{"type":"object"},"expected_hash":{"type":"string"}}},"title":"Verify Export Manifest","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"axis_manifest_verify","displayName":"Verify Export Manifest"},{"name":"repair_mesh","description":"Repair a mesh into AXIS canonical frame (scale/axis/degenerates/normals) and return repair metrics. [Paid: $0.75 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["file_path"],"properties":{"up_axis":{"enum":["Y","Z","-Z","X","-Y"],"type":"string"},"file_path":{"type":"string"},"scale_unit":{"enum":["meters","centimeters","millimeters","inches","feet"],"type":"string"},"fix_normals":{"type":"boolean"},"remove_degenerates":{"type":"boolean"}}},"title":"Repair Mesh to Canonical Frame","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"repair_mesh","displayName":"Repair Mesh to Canonical Frame"},{"name":"retarget_animation","description":"Retarget a built-in animation clip to a platform mapping and report coverage + deterministic hashes. [Paid: $0.75 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["clip_name","platform"],"properties":{"platform":{"enum":["unity","unreal","godot","roblox","axis_engine"],"type":"string"},"clip_name":{"type":"string"},"drop_unmapped":{"type":"boolean"}}},"title":"Retarget Animation Clip","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"retarget_animation","displayName":"Retarget Animation Clip"},{"name":"roblox_compliance_check","description":"Run Roblox R15 compliance checks against a mesh using canonical pipeline outputs. [Paid: $0.25 USDC via x402 for unauthenticated calls on the hosted /mcp endpoint; settled only on a successful (non-error) result.]","inputSchema":{"type":"object","required":["file_path"],"properties":{"file_path":{"type":"string"}}},"title":"Roblox R15 Compliance Check","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"roblox_compliance_check","displayName":"Roblox R15 Compliance Check"},{"name":"generate_avatar_from_text","description":"PAID (x402, 5 USDC): generate a production 3D avatar from a text prompt — xAI concept image → TRELLIS.2 GPU mesh → full canonical post-process (repair/validate/export). Payment settles ONLY when generation completes; a failed generation is never charged. Returns a job_id — poll with the free get_generation_status tool (typical runtime 5-15 minutes). Pass idempotency_key when a retry is possible (timeout/5xx) — replaying the same key returns the original job_id instead of a second GPU job/charge.","inputSchema":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string"},"platform":{"enum":["unity","unreal","godot","roblox","axis_engine"],"type":"string"},"asset_kind":{"enum":["avatar","prop","vehicle","environment","vfx","weapon_armor","character_accessory","generic"],"type":"string"},"polygon_tier":{"enum":["mobile_light","mobile_standard","web_vr","desktop_standard","desktop_high","film_vfx","ultra_hd"],"type":"string"},"texture_size":{"type":"number"},"idempotency_key":{"type":"string"}}},"title":"Generate 3D Avatar from Text (Paid)","logicalName":"generate_avatar_from_text","displayName":"Generate 3D Avatar from Text (Paid)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"generate_avatar_from_image","description":"PAID (x402, 6 USDC): generate a production 3D avatar from a reference photo (base64) — xAI A-pose normalize → TRELLIS.2 GPU mesh → full canonical post-process. Payment settles ONLY when generation completes; a failed generation is never charged. Returns a job_id — poll with the free get_generation_status tool (typical runtime 5-15 minutes). Pass idempotency_key when a retry is possible (timeout/5xx) — replaying the same key returns the original job_id instead of a second GPU job/charge. [Paid: $","inputSchema":{"type":"object","required":["image_b64"],"properties":{"prompt":{"type":"string"},"platform":{"enum":["unity","unreal","godot","roblox","axis_engine"],"type":"string"},"image_b64":{"type":"string"},"asset_kind":{"enum":["avatar","prop","vehicle","environment","vfx","weapon_armor","character_accessory","generic"],"type":"string"},"polygon_tier":{"enum":["mobile_light","mobile_standard","web_vr","desktop_standard","desktop_high","film_vfx","ultra_hd"],"type":"string"},"texture_size":{"type":"number"},"idempotency_key":{"type":"string"}}},"title":"Generate 3D Avatar from Image (Paid)","logicalName":"generate_avatar_from_image","displayName":"Generate 3D Avatar from Image (Paid)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_generation_status","description":"FREE: poll a generation job submitted by the paid generate tools. Returns status/progress; once complete AND the deferred payment has settled, returns the download URLs. A failed generation reports charged=false. Look up by job_id, or by idempotency_key + payer if the job_id was lost. [Free — no payment required.]","inputSchema":{"type":"object","properties":{"payer":{"type":"string"},"job_id":{"type":"string"},"idempotency_key":{"type":"string"}}},"title":"Get Generation Job Status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_generation_status","displayName":"Get Generation Job Status"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Jonathan-Arvay&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkuYXZhdGFyLmpvbmF0aGFuYXJ2YXkuY29tL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Jonathan-Arvay%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.avatar.jonathanarvay.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Jonathan-Arvay%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.avatar.jonathanarvay.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Jonathan+Arvay&connectorUrl=https%3A%2F%2Fapi.avatar.jonathanarvay.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Jonathan-Arvay\" --url \"https://api.avatar.jonathanarvay.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/avatar-mcp-ea7b5906c9","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/avatar-mcp-ea7b5906c9/tools/{tool}","mcpServerUrl":"https://api.avatar.jonathanarvay.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/avatar-mcp-ea7b5906c9?live=1"}