鸣潮 MCP Server
Recupera información de personajes y artefactos del juego Wuthering Waves (鸣潮) como Markdown, optimizado para modelos de lenguaje grandes.
Documentación
Servidor MCP de 鸣潮
Un servidor de Model Context Protocol (MCP) para obtener información de personajes y ecos del juego 鸣潮, devolviéndola en formato Markdown para facilitar su uso por parte de modelos de lenguaje grandes.
📄 Documentación en inglés | 🇨🇳 Documentación en chino
🚀 Novedades recientes (v2.0.1)
- 🏗️ Reestructuración de arquitectura: adopción de una arquitectura de diseño dirigido por dominio (DDD) con una estructura de capas clara
- 🔧 Calidad de código: integración de herramientas de formato y análisis estático de código con ruff
- 📝 Sintaxis moderna: uso de anotaciones de tipo modernas de Python 3.12+ (dict/list en lugar de Dict/List)
- 🧹 Limpieza de código: eliminación de código antiguo y unificación del estilo y los estándares de calidad
- ✅ Soporte de transporte HTTP Streamable: soporte del nuevo protocolo de transporte HTTP de Smithery
- 🔄 Compatibilidad con versiones anteriores: soporte simultáneo de los modos de transporte tradicionales STDIO y el nuevo HTTP
- 🌐 Listo para implementación en la nube: adaptado perfectamente a entornos en la nube como VPS, Google Cloud Run, AWS Lambda, etc.
- 📦 Inyección de dependencias: uso de un contenedor de inyección de dependencias para gestionar las instancias de servicio
- 🐳 Optimización de Docker: uso de compilación de múltiples etapas con uv para acelerar la compilación y reducir el tamaño de la imagen
Características
- Consulta de información de personajes: obtiene información detallada de los personajes del juego 鸣潮
- Consulta de información de ecos: obtiene información detallada de los conjuntos de ecos del juego 鸣潮
- Consulta de archivos de personajes: obtiene información de archivos de los personajes del juego 鸣潮
- Salida amigable para LLM: el formato de los resultados está especialmente optimizado para modelos de lenguaje grandes
- Doble modo de transporte: soporte de transporte STDIO y HTTP Streamable
Métodos de instalación
Instalación mediante Smithery
Para instalar automáticamente el servidor MCP de WuWa mediante Smithery:
npx -y @smithery/cli@latest install @jacksmith3888/wuwa-mcp-server --client claude --key YOUR_SMITHERY_KEYs
Instalación mediante uv
Instalación directa desde PyPI:
uv pip install wuwa-mcp-server
Uso
Ejecución con Cherry Studio
- Descargue Cherry Studio
- Haga clic en Servidores MCP en la configuración
Añada la siguiente configuración:
{
"mcpServers": {
"wuwa-mcp": {
"command": "uvx",
"args": ["wuwa-mcp-server"]
}
}
}
Ejecución con Claude Desktop
- Descargue Claude Desktop
- Cree o edite el archivo de configuración de Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\\Claude\\claude_desktop_config.json
- macOS:
Añada la siguiente configuración:
{
"mcpServers": {
"wuwa-mcp": {
"command": "uvx",
"args": ["wuwa-mcp-server"]
}
}
}
- Reinicie Claude Desktop
Herramientas disponibles
1. Herramienta de información de personajes
async def get_character_info(character_name: str) -> str
Consulta información detallada de un personaje en la Biblioteca y la devuelve en formato Markdown.
Parámetros:
character_name: el nombre en chino del personaje a consultar
Devuelve: Una cadena Markdown con la información del personaje, o un mensaje de error si no se encuentra el personaje o falla la obtención de datos.
2. Herramienta de información de ecos
async def get_artifact_info(artifact_name: str) -> str
Consulta información detallada de ecos en la Biblioteca y la devuelve en formato Markdown.
Parámetros:
artifact_name: el nombre en chino del conjunto de ecos a consultar
Devuelve: Una cadena Markdown con la información de los ecos, o un mensaje de error si no se encuentra el eco o falla la obtención de datos.
3. Herramienta de archivos de personajes
async def get_character_profile(character_name: str) -> str
Consulta información de archivos de personajes en la Biblioteca y la devuelve en formato Markdown.
Parámetros:
character_name: el nombre en chino del personaje a consultar
Devuelve: Una cadena Markdown con la información de archivos del personaje, o un mensaje de error si no se encuentra el personaje o falla la obtención de datos.
Desarrollo y pruebas
Ejecución local
# STDIO 模式(默认)
uv run python -m wuwa_mcp_server.server
# HTTP 模式
TRANSPORT=http uv run python -m wuwa_mcp_server.server
Calidad de código
El proyecto utiliza ruff para el formato y el análisis estático del código, garantizando la calidad y la coherencia.
Instalación de dependencias de desarrollo
uv sync --extra dev
Formato y verificación de código
# 格式化所有 Python 代码
uv run ruff format .
# 检查代码问题
uv run ruff check .
# 自动修复可修复的问题
uv run ruff check --fix .
Configuración de Ruff
El proyecto configura las siguientes reglas de calidad de código:
- Longitud de línea: 120 caracteres
- Versión de Python objetivo: 3.12
- Reglas habilitadas: pycodestyle, pyflakes, isort, convenciones de nomenclatura, pyupgrade, bugbear, simplificación de código, etc.
- Ordenación de importaciones: se aplica la importación de una sola línea y se establece la prioridad de los módulos del proyecto
Implementación con Docker
# 构建镜像
docker build -t wuwa-mcp-server .
# 运行容器(HTTP 模式)
docker run -p 8081:8000 wuwa-mcp-server
# 运行容器(STDIO 模式)
docker run -e TRANSPORT=stdio wuwa-mcp-server
Funcionalidades detalladas
Procesamiento de resultados
- Limpieza y formato de los datos de la Biblioteca
- Formato optimizado para el consumo por parte de LLM
- Soporte de procesamiento paralelo para mejorar el rendimiento
- Operaciones asíncronas para evitar bloqueos
Modos de transporte
- Transporte STDIO: adecuado para clientes locales, como Claude Desktop
- Transporte HTTP Streamable: adecuado para implementación en la nube y acceso remoto
- Detección automática de la variable de entorno
TRANSPORTpara cambiar de modo
Contribuciones
¡Las sugerencias y las solicitudes de extracción son bienvenidas! Algunas áreas de mejora potenciales:
- Añadir soporte para más contenido del juego 鸣潮
- Mejorar las opciones de análisis de contenido
- Añadir una capa de caché para el contenido de acceso frecuente
- Soporte de localización en más idiomas
Licencia
Este proyecto está bajo la licencia MIT.
