maimai-mcp
maimai DX MCP Server
Высокопроизводительный, лёгкий и модульный сервер Model Context Protocol (MCP) для 舞萌 DX (maimai DX), написанный на Rust.
📖 Руководство по настройке и развёртыванию (docs/CONFIG_GUIDE.md)
📦 Скачать предварительно скомпилированный бинарный файл (GitHub Releases)
Справочный проект по отрисовке и бизнес-логике: Yuri-YuzuChaN/maimaiDX
Архив Python-версии: ветка
legacy
🌟 Ключевые особенности
⚡ Максимальная производительность и лёгкость: полностью реализовано на Rust, холодный старт занимает миллисекунды, потребление памяти в простое — ниже 15 МБ, отсутствуют тяжёлые внешние зависимости от C-библиотек.
🎨 Чистый Rust-движок отрисовки с попиксельной точностью:
Макет отрисовки, формат каталога графических ресурсов и логика координатного рендеринга в этом проекте основаны на абсолютной системе координат открытого проекта Yuri-YuzuChaN/maimaiDX, перенесённой на чистый Rust и оптимизированной.
На базе
image+ab_glyphи многопоточного конвейераrayonстрого по абсолютным координатам с точностью 1:1 и высокой точностью отрисовываются B50, карточки результатов отдельных треков, таблицы прогресса плашек и изображения прогноза.
🤖 Дружелюбность к слабоинтеллектуальным и малопараметрическим моделям:
Гибкая нормализация параметров: автоматически поддерживаются китайские обозначения сложности («фиолетовый/белый/жёлтый/красный/зелёный»), преобразование плавающих констант сложности и нечёткое сопоставление алиасов названий треков.
Устойчивый к сбоям запасной вариант (на китайском языке): при отсутствии данных или невыполненной привязке возвращаются структурированные человекочитаемые подсказки, что предотвращает галлюцинации малых моделей или повторение стека вызовов.
🚀 Готов к использованию из коробки:
Двухканальный вывод изображений и текста: по умолчанию одновременно возвращаются стандартный MCP Image Content (Base64) и локальный путь к сохранённому файлу — это бесшовно интегрируется с отправкой сообщений в различных ботах.
Проверка результатов без порога входа: после настройки глобальных учётных данных разработчика достаточно QQ-номера из контекста, чтобы сразу получить изображение с результатами в один клик.
Related MCP server: Claud-Ear
🛠️ Реестр инструментов MCP (Tool Registry)
Все инструменты поддерживают необязательные параметры: qq (QQ-номер пользователя), username (имя пользователя), source ("divingfish" или "lxns"), output_format ("image", "text", "both").
Название инструмента (Tool Name) | Описание | Основное возвращаемое содержимое |
| Запрос лучших 50 результатов игрока (B35 + B15) | Изображение предпросмотра B50, Rating и детали по трекам |
| Запрос карточки результата игрока по треку/алиасу | Изображение результата, процент достижения, DX-очки, оценочный ранг |
| Запрос сведений о чарте, констант сложности и количества нот | Предпросмотр чарта, константы сложности для каждого уровня и дизайнер |
| Расчёт рекомендаций по повышению счёта и разницы до целевого Rating | Рекомендуемые треки для повышения счёта и целевой процент достижения |
| Нечёткий поиск треков, авторов и информации о версиях | Список совпавших треков и константы сложности |
| Запрос всех известных алиасов и тегов песни из сообщества | Список алиасов и информация о голосовании |
| Случайный выбор трека по сложности/диапазону констант | Карточка выбранного трека и параметры |
| Случайная подборка трека в духе «Что сегодня съесть?» | Рекомендуемый трек и тематическое описание |
| Запрос сводки прогресса по указанному уровню (например, 13+) | Сводка по прохождению/FC/AP по уровням |
| Запрос прогресса плашек каждого поколения (霸者/舞/将/极/神) | Таблица прогресса выполнения плашек и список непройденных |
| Привязка QQ к аккаунтам DivingFish/LXNS или смена источника по умолчанию | Статус подтверждения привязки и информация |
| Просмотр и изменение личных настроек проверки результатов | Текущая привязка, источник по умолчанию и настройки отображения |
| Получение сегодняшнего прогноза maimai и рекомендаций «благоприятно/неблагоприятно» | Изображение прогноза, значение удачи и рекомендуемые треки |
| Расчёт общего рейтинга Rating среди привязанных участников группы | График рейтинга группы и места |
⚙️ Настройка окружения
Сервер поддерживает настройку через переменные окружения или файл .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📁 Подготовка статических ресурсов и структура каталогов
1. Структура каталогов
Поместите папку статических ресурсов static в корень проекта (или укажите абсолютный путь через MAIMAI_STATIC_DIR):
static/
├── font/ # 字体文件 (ResourceHanRoundedCN-Bold.ttf 等)
├── data/ # 歌曲/别名/牌子数据缓存 (music_data.json 等)
└── mai/
├── pic/ # UI 边框、评级底图、段位图标
├── cover/ # 曲目封面 (以 song_id 命名)
├── plate/ # 姓名框与牌子背景
├── shougou/ # 称号底图
└── plate_version/ # 各版本牌子标识2. Статические ресурсы
Скачайте и распакуйте архив ресурсов:
Запишите абсолютный путь к каталогу static (то есть MAIMAI_STATIC_DIR в конфигурации).
Пожалуйста, соблюдайте заявления вышестоящего проекта, касающиеся графики и шрифтов.
🚀 Установка и запуск
1. Способ A: загрузка предварительно скомпилированного бинарного файла (рекомендуется)
Скачайте из GitHub Releases архив, подходящий для архитектуры вашей системы (Windows / Linux), распакуйте и сразу используйте.
2. Способ B: сборка из исходного кода
cargo build --release3. Локальное тестирование MCP-сервера
Его можно запустить через стандартный stdio:
./target/release/maimai-mcp3. Интеграция с AstrBot / Claude Desktop
Добавьте в конфигурацию 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"
}
}
}
}🙏 Благодарности и заявление об открытом исходном коде (Credits & Attribution)
В процессе разработки этот проект глубоко опирался на стандарты дизайна и ресурсов следующих выдающихся проектов с открытым исходным кодом и использовал их повторно:
Yuri-YuzuChaN/maimaiDX (MIT License):
Логика отрисовки, компоновка UI-элементов, абсолютная система пиксельных координат и структура каталога статических ресурсов этого проекта происходят из элегантного дизайна указанного проекта.
Особая благодарность всем контрибьюторам проекта maimaiDX!
Экосистема проверки результатов и источников данных:
Благодарим DivingFish (水鱼查分器) за открытый API проверки результатов и платформу OAuth.
Благодарим 落雪咖啡屋 (LXNS) за открытый интерфейс данных и платформу OAuth.
Благодарим Yuzuchan за базу данных алиасов треков.
📜 Лицензия и заявление о правах на ресурсы
Исходный код этого репозитория распространяется под лицензией BSD 2-Clause License;
Лицензионное соглашение вышестоящего справочного проекта см. в LICENSE-UPSTREAM;
Заявление об авторских правах на ресурсы: графические / шрифтовые ресурсы, такие как
static, не распространяются вместе с данным репозиторием; их авторские права определяются архивом ресурсов и официальными заявлениями и не входят в объём действия данной лицензии с открытым исходным кодом. Пожалуйста, самостоятельно убедитесь в законности использования материалов и соблюдайте заявления авторов шрифтов и материалов.
📄 Архитектура и проектные решения
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