maimai-mcp
maimai DX MCP Server
Servidor de Model Context Protocol (MCP) para 舞萌 DX (maimai DX), de alto rendimiento, ligero y modular, construido en Rust.
Referencia de dibujo y lógica de negocio: Yuri-YuzuChaN/maimaiDX
Versión Python archivada: rama
legacy
🌟 Características principales
⚡ Rendimiento extremo y ligereza: implementación en Rust puro, arranque en frío en milisegundos, uso de memoria en reposo inferior a 15 MB y sin dependencias de bibliotecas C externas pesadas.
🎨 Motor de dibujo en Rust puro a nivel de píxel:
El diseño de dibujo, el formato del directorio de recursos artísticos y la lógica de renderizado por coordenadas de este proyecto se basan en el sistema de coordenadas absolutas del proyecto de código abierto Yuri-YuzuChaN/maimaiDX, migrado y optimizado a Rust puro.
Basado en la canalización multiproceso de
image+ab_glyphyrayon, renderiza con alta fidelidad y estricta proporción 1:1 según coordenadas absolutas las tarjetas de resultados B50 y de una sola canción, las tablas de progreso de placas y las imágenes de fortuna.
🤖 Amigable con los modelos de IA débiles y de parámetros pequeños:
Normalización tolerante de parámetros: compatible automáticamente con las dificultades en chino ("púrpura/blanco/amarillo/rojo/verde"), conversión de constantes de punto flotante y coincidencia difusa de alias de nombres de canciones.
Respaldo en chino a prueba de fallos: cuando no se encuentran datos o no hay cuenta vinculada, devuelve una guía estructurada y legible para humanos, para evitar alucinaciones de los modelos pequeños o la repetición de la pila de llamadas.
🚀 Listo para usar:
Salida dual de imagen y texto: por defecto devuelve a la vez el contenido de imagen MCP estándar (Base64) y la ruta de persistencia en archivo local, integrándose sin problemas con el envío de mensajes de distintos bots.
Consulta de puntuaciones sin barreras: tras configurar las credenciales globales de desarrollador, solo se necesita el número de QQ en el contexto para generar directamente la imagen de consulta de puntuaciones con un solo clic.
Related MCP server: Claud-Ear
🛠️ Lista de herramientas MCP (Tool Registry)
Todas las herramientas admiten parámetros opcionales: qq (número de QQ del usuario), username (nombre de usuario), source ("divingfish" o "lxns") y output_format ("image", "text", "both").
Nombre de la herramienta (Tool Name) | Descripción | Contenido principal devuelto |
| Consulta las 50 mejores puntuaciones del jugador (B35 + B15) | Imagen de vista previa B50, Rating y detalles por canción |
| Consulta la tarjeta de resultados de una canción o alias del jugador | Imagen de resultados, tasa de logro, puntos DX y grado de evaluación |
| Consulta los detalles del chart, las constantes y el número de notas | Imagen de vista previa del chart, constantes por dificultad y diseñador |
| Calcula sugerencias para mejorar la puntuación y la diferencia con el Rating objetivo | Canciones recomendadas para subir puntuación y tasa de logro objetivo |
| Búsqueda difusa de canciones e información de artista y versión | Lista de canciones coincidentes y constantes de dificultad |
| Consulta todos los alias y etiquetas comunitarios conocidos de una canción | Lista de alias e información de votación |
| Selecciona aleatoriamente una canción por dificultad o rango de constantes | Tarjeta de la canción extraída y parámetros |
| Recomendación aleatoria de canciones destacadas, similar a "¿qué comemos hoy?" | Canción recomendada y texto destacado |
| Consulta el resumen de finalización de un nivel específico (p. ej., 13+) | Imagen de resumen de rangos de nivel con Clear/FC/AP |
| Consulta el progreso de las placas de cada generación (Dominador/Danza/General/Extremo/Dios) | Tabla de progreso de placas y lista de canciones sin completar |
| Vincula el QQ a una cuenta de DivingFish/LXNS, o cambia la fuente predeterminada | Estado de confirmación de la vinculación e información |
| Consulta y modifica las preferencias personales de consulta de puntuaciones | Configuración de vinculación actual, fuente predeterminada y preferencias de visualización |
| Extrae la fortuna de maimai de hoy y recomendaciones de lo favorable y lo desfavorable | Imagen de fortuna, valor de fortuna y canciones recomendadas |
| Calcula la clasificación por Rating global de los miembros vinculados del grupo | Gráfico de clasificación del grupo y posiciones |
⚙️ Configuración del entorno
El servidor admite configuración mediante variables de entorno o un archivo .env:
# 水鱼查分网开发者 Token(配置后仅凭 QQ 号即可直接查分)
DIVINGFISH_DEVELOPER_TOKEN=your_divingfish_developer_token
# 落雪查分网开发者 Token(可选)
LXNS_DEVELOPER_TOKEN=your_lxns_token
# 静态资源根目录(默认 ./static 或 ../maimaiDX/static)
MAIMAI_STATIC_DIR=./static
# 本地数据与用户配置存储目录(默认 ./data)
MAIMAI_DATA_DIR=./data
# 生成图片临时保存目录(默认 ./output)
MAIMAI_OUTPUT_DIR=./output📁 Preparación de recursos estáticos y estructura de directorios
1. Estructura de directorios
Coloque la carpeta de recursos estáticos static en el directorio raíz del proyecto (o especifique la ruta absoluta mediante MAIMAI_STATIC_DIR):
static/
├── font/ # 字体文件 (ResourceHanRoundedCN-Bold.ttf 等)
├── data/ # 歌曲/别名/牌子数据缓存 (music_data.json 等)
└── mai/
├── pic/ # UI 边框、评级底图、段位图标
├── cover/ # 曲目封面 (以 song_id 命名)
├── plate/ # 姓名框与牌子背景
├── shougou/ # 称号底图
└── plate_version/ # 各版本牌子标识2. Recursos estáticos
Descargue y extraiga el paquete de recursos:
Anote la ruta absoluta del directorio static (es decir, MAIMAI_STATIC_DIR en la configuración).
Respete las declaraciones upstream sobre recursos artísticos y fuentes.
🚀 Instalación y ejecución
1. Opción A: descargar directamente el binario precompilado (recomendado)
Descargue desde GitHub Releases el paquete comprimido adecuado para la arquitectura de su sistema (Windows / Linux); descomprímalo y úselo directamente.
2. Opción B: compilar desde el código fuente
cargo build --release3. Probar el servicio MCP localmente
Se puede ejecutar mediante stdio estándar:
./target/release/maimai-mcp3. Integración en AstrBot / Claude Desktop
Añada en la configuración de mcpServers:
{
"mcpServers": {
"maimai": {
"command": "/path/to/maimai-mcp",
"env": {
"MAIMAI_STATIC_DIR": "/path/to/static",
"DIVINGFISH_CLIENT_ID": "your_divingfish_client_id",
"DIVINGFISH_CLIENT_SECRET": "your_divingfish_client_secret"
}
}
}
}🙏 Agradecimientos y declaración de código abierto (Credits & Attribution)
Durante el desarrollo, este proyecto ha consultado en profundidad y ha reutilizado los diseños y las especificaciones de recursos de los siguientes excelentes proyectos de código abierto:
Yuri-YuzuChaN/maimaiDX (MIT License):
La lógica de renderizado de los dibujos, el diseño de los elementos de la UI, el sistema de coordenadas de píxeles absolutos y la estructura de directorios de los recursos estáticos de este proyecto provienen del ingenioso diseño de dicho proyecto.
¡Agradecemos especialmente a todos los contribuyentes del proyecto maimaiDX!
Ecosistema de consulta de puntuaciones y fuentes de datos:
Gracias a DivingFish (水鱼查分器) por su API abierta de consulta de puntuaciones y su plataforma OAuth.
Gracias a 落雪咖啡屋 (LXNS) por su interfaz de datos abierta y su plataforma OAuth.
Gracias a Yuzuchan por su base de datos de alias de canciones.
📜 Licencia y declaración de derechos de recursos
Este repositorio de código se publica como código abierto bajo la BSD 2-Clause License;
El acuerdo de licencia del proyecto de referencia upstream se encuentra en LICENSE-UPSTREAM;
Aviso de derechos de autor de los recursos: los recursos artísticos / de fuentes, como
static, no se distribuyen junto con este repositorio; sus derechos de autor se rigen por el paquete de recursos y las declaraciones oficiales, y quedan fuera del ámbito de esta licencia de código abierto. Los usuarios deben asegurarse por sí mismos de que el uso de los materiales sea legal y conforme a la normativa, y respetar las declaraciones de los autores originales de cada fuente y material.
📄 Arquitectura y decisiones de diseño
[Registro de decisiones de arquitectura (docs/adr/)
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
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 Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Producer/Riffusion AI music generation
MCP server for GLM chat completions using Zhipu AI models via AceDataCloud
Related MCP Servers
- FlicenseBqualityDmaintenanceProduction-ready MCP server that integrates OpenAI API with extensible tool support, enabling dynamic plugin loading and knowledge search capabilities through multiple interfaces including CLI and browser UI.2-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents the ability to listen to and understand music/audio files, enabling semantic analysis, stem separation, lyrics transcription, and signal processing via tool calls.1MIT
- FlicenseNot gradedqualityCmaintenanceMCP server that automates WebGAL game development tasks such as resource management, script editing, documentation lookup, and AI-powered voice generation using LLMs.361-
- AlicenseNot gradedqualityAmaintenanceMCP server that enables LLMs to search, play, and manage music from multiple platforms (NetEase, QQ, Kugou) and local files, with lyrics retrieval and playback control.MIT
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/antinomie1/maimai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server