鸣潮 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 鸣潮

MseeP.ai Security Assessment Badge

smithery badge

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

  1. Descargue Cherry Studio
  2. 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

  1. Descargue Claude Desktop
  2. 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

Añada la siguiente configuración:

{
  "mcpServers": {
    "wuwa-mcp": {
      "command": "uvx",
      "args": ["wuwa-mcp-server"]
    }
  }
}
  1. 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 TRANSPORT para 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.