3DAssets.dev

Busca y descarga modelos 3D GLB gratuitos bajo licencia CC0 y paquetes de assets para juegos, y envía nuevos en nombre del usuario. Servidor remoto en https://3dassets.dev/mcp.

Documentación

Servidor MCP

Endpoint MCP Streamable-HTTP en /mcp. Sin cuenta, sin clave, sin registro: conéctate y empieza a buscar.

Conexión

Un comando por cliente, y eso es toda la configuración. No hay nada que registrar: buscar en el catálogo, leer activos y descargar archivos está abierto para todos, con los mismos límites de tasa que obtiene una cuenta. Una clave llegará más tarde, y solo si el usuario quiere publicar sus propios modelos.

claude mcp add --transport http 3dassets https://3dassets.dev/mcp
codex mcp add 3dassets --url https://3dassets.dev/mcp
code --add-mcp '{"name":"3dassets","type":"http","url":"https://3dassets.dev/mcp"}'
{
  "mcpServers": {
    "3dassets": { "url": "https://3dassets.dev/mcp" }
  }
}
npx -y 3dassets-mcp

Claude Desktop o cualquier mcp.json stdio

{
  "mcpServers": {
    "3dassets": { "command": "npx", "args": ["-y", "3dassets-mcp"] }
  }
}

El paquete npm 3dassets-mcp es un puente stdio ligero hacia el mismo servidor alojado, para clientes que solo lanzan comandos o quieren una dependencia fija. El servidor también está listado en el Registro oficial de MCP como dev.3dassets/catalogue.

En el propio ChatGPT, las herramientas MCP remotas llegan a través de plugins en lugar de una URL que pegues; usa la ruta de prompt allí. Cualquier otro cliente que lea un enlace y llame a una API puede usar skill.md sin MCP en absoluto.

Herramientas

HerramientaAutenticaciónFunción
search_assetsningunaBuscar por texto, categoría, tema, estilo y etiquetas
search_packs · get_packningunaEncontrar kits de juego cohesivos y obtener manifiestos de archivos completos, presupuestos y escenas iniciales
list_demos · get_demoningunaEscenas de demostración transitables construidas desde un paquete cada una: el punto de aparición, los límites y cada ubicación con su URL de CDN, para que un agente pueda reconstruir el diseño
get_assetningunaDetalles completos, incl. URL de CDN, licencia + texto de atribución, estadísticas, fragmentos
get_asset_usageningunaCódigo de carga o pasos de importación para three.js, R3F, model-viewer, Blender, Godot y Unity
list_categories · list_tags · list_licensesningunaSlugs que aceptan las otras herramientas
list_ai_modelsningunaSugerencias de nombres de modelos para procedencia de IA, actualizadas cada hora; se aceptan nombres personalizados
create_accountningunaCrear una cuenta de colaborador; envía al usuario un código de 6 dígitos por correo
verify_accountningunaIntercambiar el código por la clave API del usuario (se muestra una vez)
submit_asset_from_urlclaveEnviar un .glb desde una URL https pública
get_upload_url → finalize_uploadclaveCarga directa de bytes para clientes que pueden hacer PUT de archivos
my_assets · update_assetclaveRastrear y editar los envíos del usuario
submit_pack · my_packsclaveAgrupar las subidas del usuario en una propuesta de paquete y rastrearla

La plantilla de recurso asset://{slug} devuelve la versión Markdown de un activo.

Publicar modelos: añadir una clave

Solo las herramientas marcadas con clave arriba necesitan una, y solo porque un envío tiene que pertenecer a alguien. Todo lo demás sigue funcionando exactamente como antes. La clave se crea dentro de la conversación: create_account envía al usuario un código de 6 dígitos por correo, ellos lo leen de vuelta, verify_account devuelve la clave. No hay contraseñas en este sitio. Una clave existente está en tu cuenta.

Dale la clave al cliente como token Bearer y reconéctate:

claude mcp add --transport http 3dassets https://3dassets.dev/mcp --header "Authorization: Bearer <apiKey>"
THREEJSASSETS_API_KEY=<apiKey> codex mcp add 3dassets --url https://3dassets.dev/mcp --bearer-token-env-var THREEJSASSETS_API_KEY
{
  "mcpServers": {
    "3dassets": {
      "url": "https://3dassets.dev/mcp",
      "headers": { "Authorization": "Bearer <apiKey>" }
    }
  }
}

Para el puente stdio 3dassets-mcp, establece THREEJSASSETS_API_KEY en su entorno en su lugar. La clave representa toda la cuenta del usuario: mantenla fuera de chats, registros y archivos fuente, y rotarla desconecta a todos los clientes que usan la anterior.

Envíos CC0

Las subidas usan por defecto CC0 1.0 Universal. Omite license, o envía cc0-1.0; otras licencias son rechazadas. Antes de establecer attestation: true, el usuario debe confirmar sus derechos de publicación y aceptar la dedicación irrevocable CC0, permitiendo uso personal y comercial sin atribución. Una confirmación puede cubrir un lote identificado. No pidas al usuario que seleccione una licencia o etiquetas.

list_licenses devuelve solo CC0. Los campos de licencia y atribución permanecen en las respuestas por compatibilidad y registros históricos.

Comportamientos en los que los agentes pueden confiar

  • Cada resultado lleva la licencia. Si attributionRequired es verdadero, se incluye la cadena de atribución exacta. Ponla en los créditos del usuario.
  • Todos los archivos se cargan con un GLTFLoader simple; nunca hay necesidad de configurar Draco o KTX2.
  • Los envíos son revisados por una persona, y también cualquier edición a un activo ya publicado. Dile al usuario que el resultado llega por correo y se puede rastrear con my_assets.
  • Los rechazos y fallos vienen con una razón legible para humanos. Transmítela textualmente.

Límites de tasa

Las llamadas a herramientas se cuentan igual que las llamadas REST, contra tu clave API cuando el servidor está configurado con una y contra tu dirección IP en caso contrario, con la misma asignación en ambos casos: una clave autentica envíos, no eleva el techo. Las herramientas de lectura comparten un depósito; submit_asset_from_url, get_upload_url, finalize_upload, update_asset y submit_pack cuentan como envíos; create_account y verify_account cuentan como llamadas de cuenta.

QuéLímite
Búsqueda y lectura GET /api/v1/*, /assets/{slug}.md, herramientas de lectura MCP10,000/min
Descargas /download/{slug}2,500/min
Envíos y ediciones POST /api/v1/assets, /assets/from-url, /uploads/presign, /packs/submissions, /reports, herramientas de escritura MCP60/min
Cuentas POST /api/v1/accounts/verify, /accounts/session, rotación de clave10/hora · 30/día
Correos de cuenta POST /api/v1/accounts, /accounts/login-code, /accounts/resend6/hora · 20/día

Al superar el límite, la llamada devuelve un error JSON-RPC (-32029) sobre HTTP 429 con una cabecera Retry-After, y el mensaje indica cuánto tiempo esperar. Transmite eso al usuario y pausa: no reintentes en un bucle, y nunca dividas un trabajo entre varias claves. Descargar un paquete completo para una escena es esperado y cabe bien dentro de los límites; volver a buscar el catálogo no lo es.

Atribución de modelos de IA

Establece aiGenerated: true si la IA ayudó a crear geometría, generar código o texturas, y opcionalmente incluye aiModel (hasta 160 caracteres). Usa GET /api/v1/ai-models?q=... o MCP list_ai_models para sugerencias de OpenRouter actualizadas cada hora. Se aceptan nombres personalizados de modelos y herramientas 3D. Deja los modelos desconocidos sin especificar; nunca adivines. Usar un agente solo para subir no cuenta como creación con IA.

El panel de información del activo, JSON y Markdown muestran esto como atribución reportada por el colaborador. Una interrupción del catálogo de modelos no bloquea la subida. Desactivar el uso de IA borra el nombre del modelo.