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
| Herramienta | Autenticación | Función |
|---|---|---|
search_assets | ninguna | Buscar por texto, categoría, tema, estilo y etiquetas |
search_packs · get_pack | ninguna | Encontrar kits de juego cohesivos y obtener manifiestos de archivos completos, presupuestos y escenas iniciales |
list_demos · get_demo | ninguna | Escenas 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_asset | ninguna | Detalles completos, incl. URL de CDN, licencia + texto de atribución, estadísticas, fragmentos |
get_asset_usage | ninguna | Código de carga o pasos de importación para three.js, R3F, model-viewer, Blender, Godot y Unity |
list_categories · list_tags · list_licenses | ninguna | Slugs que aceptan las otras herramientas |
list_ai_models | ninguna | Sugerencias de nombres de modelos para procedencia de IA, actualizadas cada hora; se aceptan nombres personalizados |
create_account | ninguna | Crear una cuenta de colaborador; envía al usuario un código de 6 dígitos por correo |
verify_account | ninguna | Intercambiar el código por la clave API del usuario (se muestra una vez) |
submit_asset_from_url | clave | Enviar un .glb desde una URL https pública |
get_upload_url → finalize_upload | clave | Carga directa de bytes para clientes que pueden hacer PUT de archivos |
my_assets · update_asset | clave | Rastrear y editar los envíos del usuario |
submit_pack · my_packs | clave | Agrupar 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
attributionRequiredes verdadero, se incluye la cadena de atribución exacta. Ponla en los créditos del usuario. - Todos los archivos se cargan con un
GLTFLoadersimple; 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 MCP | 10,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 MCP | 60/min |
| Cuentas POST /api/v1/accounts/verify, /accounts/session, rotación de clave | 10/hora · 30/día |
| Correos de cuenta POST /api/v1/accounts, /accounts/login-code, /accounts/resend | 6/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.