roblox-analytics-mcp
roblox-analytics-mcp
Un servidor MCP local que ofrece a un agente de IA acceso de lectura a las analíticas de tus experiencias de Roblox a través de la Open Cloud Analytics Query API.
Expone las 168 métricas que admite la API en 16 categorías — retención, interacción, monetización, adquisición, rendimiento, economía, embudos, eventos personalizados, miniaturas, emparejamiento, almacenes de datos, seguridad y anuncios —, además de una capa de herramientas de análisis que convierte "¿cómo está mi juego?" en una sola llamada.
¿Por qué no llamar directamente a la API?
La API bruta es incómoda de manejar:
Los nombres de las métricas, las granularidades y las dimensiones distinguen entre mayúsculas y minúsculas, no se pueden descubrir en tiempo de ejecución y cualquier combinación no válida devuelve el mismo
400 / 2001opaco.Dispones de 30 consultas por minuto por cuenta, así que una llamada desperdiciada es costosa.
Las consultas grandes devuelven
202y una ruta que debes ir sondeando.Los buckets sin actividad se omiten en lugar de devolverse como cero, por lo que los vacíos son ambiguos.
Los pasos del embudo y los IDs de producto deben descubrirse antes de poder filtrar por ellos.
Este servidor se encarga de todo eso: valida las solicitudes contra un catálogo incorporado antes de gastar una consulta, se autolimita para no superar el límite de frecuencia, sigue las operaciones de larga duración hasta que terminan, informa explícitamente de los buckets que faltan en lugar de inventar ceros y hace por ti la búsqueda de embudo en dos pasos.
Related MCP server: Roblox Executor MCP
Configuración
npm install
npm run build
npm link # optional, puts `roblox-analytics-mcp` on your PATHCrea una clave de API en el Creator Dashboard:
Añade cada experiencia que quieras consultar en Access Permissions.
Concede la operación
universe.analytics:readsobre el sistemauniverse-analytics.
Después, guárdala:
roblox-analytics-mcp setup # prompts for the key and an optional default universe
roblox-analytics-mcp test # runs a live DAU query to confirm it worksUna clave guardada tiene prioridad sobre la variable de entorno ROBLOX_API_KEY.
Registro con Claude
claude mcp add roblox-analytics -- node /absolute/path/to/AnalyticsMcp/dist/cli.jsHerramientas
Descubrir qué se puede consultar
Herramienta | Propósito |
| Navega por las 168 métricas; filtra por búsqueda, categoría, dimensión admitida o granularidad. |
| Definición completa: granularidades, ventana de retención y todas las dimensiones válidas. |
| Las 69 dimensiones y qué métricas tienen soporte para cada una. |
| Los países, IDs de producto, nombres de embudo o versiones de lugar en tus datos. |
Leer datos
Herramienta | Propósito |
| Una métrica como serie temporal, con estadísticos resumidos, valores atípicos y cobertura. |
| Varias métricas en el mismo rango, dosificadas dentro del límite de consultas. |
| Vía de escape para una operación que haya agotado el tiempo de espera. |
Análisis
Métrica | Propósito |
| 17 KPIs principales comparados con el período anterior, con cambios relevantes marcados. |
| Un paquete temático — monetización, rendimiento, adquirientes, economía, seguridad, anuncios… |
| Una métrica desglosada por todas las dimensiones que soporta, ordenada. |
| Dos ventanas a medida, con el cambio absoluto y porcentual de cada grupo. |
| Descubre los embudos y los IDs de paso, y luego informa de la pérdida y la finalización de cada paso. |
Contexto
Herramienta | Propósito |
| Metadatos de la experiencia más estadísticas públicas (me gusta, favoritos, CCU en vivo). |
| Hasta 50 universos a la vez. Sin clave de API — funciona también con los competidores. |
| De quién es la clave de API, qué puede leer y los grupos del propietario. |
| IDs de universo por nombre o creador: tu cuenta y todos los grupos. |
| Metadatos del lugar, para cuando las métricas de rendimiento apuntan a un ID de lugar. |
| Define un universo predeterminado y un alias opcional. |
| Origen de la clave, universo por defecto, estado de la caché, tamaño del catálogo, límites de consulta. |
Identidad: cómo sabe el servidor de quién son los juegos
Las claves de API de Open Cloud son anónimas para los endpoints a los que llaman — ninguna respuesta de análisis revela al autor de la petición, y ningún permiso adicional de la clave cambia eso. El servidor resuelve la identidad a través de un endpoint aparte:
POST https://apis.roblox.com/api-keys/v1/introspect { "apiKey": "..." }La clave viaja en el cuerpo y la llamada no necesita ningún graant propio: cualquier clave valida puede inspeccionarse a sí misma. Devuelve authorizedUserId, los alcances de la clave, si está activada y sin caducar, y qué universos cubre (* significa cada experiencia a la que el propietario puede acceder).
Ese ID de usuario desbloquea el resto mediante endpoints públicos: el nombre de usuario del propietario, sus experiencias personales y todos los grupos a los que pertenece. Escanear grupos es importante: los títulos de un estudio suelen vivir en un grupo al que el desarrollador solo pertenece, por lo que una búsqueda limitada a la cuenta personal pierde por completo los juegos reales.
whoami → who owns this key, what can it read
find_universes { search: "party" } → ranked matches across account + groupsLa lista de grupos se guarda en caché durante 6 horas (ROBLOX_ANALYTICS_CACHE_TTL_MINUTES para cambiarlo, refresh: true para saltárselo). Un análisis en frío de 40 grupos tarda alrededor de un minuto; las lecturas con la caché caliente son instantáneas. La caché es por propietario, de modo que solo se reintenta a la próxima vez una lista de grupos que haya sido limitada por la frecuencia.
Cualquier fuente que no se haya podido leer se notifica en errors en lugar de omitirse; un resultado vacío con errores significa que el escaneo se restringio, no que el creador no tenga juegos. Esos dos estados, por lo demás, parecen idénticos, y confundirlos produce respuestas erróneas con total seguridad.
Cosas que merece la pena saber
La agregación se informa, no se asume. Sumar usuarios activos diarios a lo largo de un mes no da los usuarios activos del mes; cuenta dos veces a cualquiera que haya jugado más de una vez. Cuando la API lo admite, los totales del período proceden de una única consulta para todo el rango (aggregation: "api-period-total"); cuando no, la alternativa se etiqueta mean-of-buckets o sum-of-buckets, de modo que la cifra nunca sea anónima.
sum no siempre es significativo. Todos los resultados llevan una aggregationHint. Para tasas, medias y percentiles (ForwardD1Retention, ClientFpsP90, PayingUsersCVR) el valor es average-only; el campo sum es aritmético, pero no informativo.
Los vacías no son ceros. La API omite los buckets sin actividad. Se notifica con una lista missingBuckets— que rellenando con ceros que bajarían los promedios o medios.
La hora es UTC. endTime es exclusivo y por defecto la medianoche UTC de hoy, por lo que solo se obtienen buckets completos. Pasa endTime: "now" para incluir el día actual parcial. Los rangos aceptan RFC 3339, fechas con texto simple o abre variaciones relativas (-30d, -12w, -6mo, today, yesterday), o se puede usar lastDays.
Las ventanas de retención no son iguales. Las métricas estándar conservan los datos durante 4 años; las métricas de rendimiento y estabilidad solo durante 28 días. Las consultas fuera de esa ventana se rechazan localmente con el mayor antiguo de datos consultable.
API beta. La API Analytics Query API se encuentra en beta y su esquema puede cambiar. El catálogo de métricas se genera a partir de la documentación oficial — actualízalo con npm run generate:catalog si Roblox añade métricas.
Desarrollo
npm run build # compile TypeScript
npm test # 6 suites: time, validation, query pipeline, reports, packs, MCP protocol
npm run generate:catalog # regenerate src/catalog.ts from the Roblox docsLos tests simulan fetch para las suites orientadas a la API, así que solo la suite del protocolo MCP toca la red (endpoints públicos, sin necesidad de clave).
Licencia
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityCmaintenanceAn MCP server that bridges AI to Roblox Studio, enabling execution of Luau scripts, instance manipulation, play-testing control, and Open Cloud operations via natural language.21
- Alicense-qualityCmaintenanceMCP server that allows AI agents to execute code, inspect scripts, spy on remotes, and interact with a running Roblox game client.14311MIT
- Alicense-qualityBmaintenanceAn MCP server that enables AI agents to execute Lua code, inspect scripts, spy on remotes, and interact with running Roblox game clients, including support for mobile executors on Android and iOS.1431MIT
- AlicenseAqualityFmaintenanceUnofficial MCP server that lets AI agents query Aptabase analytics using cookie-authenticated dashboard endpoints, providing tools for metrics, events, and sessions.171MIT
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Cloud-hosted MCP server for durable AI memory
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Haydebug/Roblox-MCP-Analytics'
If you have feedback or need assistance with the MCP directory API, please join our Discord server