鸣潮 MCP Server
Recupera informações de personagens e artefatos do jogo Wuthering Waves (鸣潮) como Markdown, otimizado para grandes modelos de linguagem.
Documentação
Servidor MCP 鸣潮
Um servidor Model Context Protocol (MCP) para obter informações sobre personagens e ecos do jogo 《鸣潮》, retornando-as em formato Markdown para facilitar o uso por modelos de linguagem de grande porte.
📄 Documentação em Inglês | 🇨🇳 Documentação em Chinês
🚀 Últimas Atualizações (v2.0.1)
- 🏗️ Reestruturação da Arquitetura: Adoção de arquitetura Domain-Driven Design (DDD) com camadas claramente definidas
- 🔧 Qualidade de Código: Integração das ferramentas de formatação e análise estática de código ruff
- 📝 Sintaxe Moderna: Uso de anotações de tipo modernas do Python 3.12+ (dict/list em vez de Dict/List)
- 🧹 Limpeza de Código: Remoção de código legado, unificação do estilo e dos padrões de qualidade
- ✅ Suporte à Transmissão HTTP Streamable: Suporte ao novo protocolo de transmissão HTTP do Smithery
- 🔄 Compatibilidade Retroativa: Suporte simultâneo aos modos de transmissão tradicionais STDIO e HTTP
- 🌐 Pronto para Implantação em Nuvem: Perfeitamente adaptado para ambientes de nuvem como VPS, Google Cloud Run, AWS Lambda, etc.
- 📦 Injeção de Dependências: Uso de contêiner de injeção de dependências para gerenciar instâncias de serviços
- 🐳 Otimização Docker: Uso de construção em múltiplos estágios com uv, melhorando a velocidade de construção e reduzindo o tamanho da imagem
Recursos
- Consulta de Informações de Personagens: Obtém informações detalhadas sobre personagens do jogo 《鸣潮》
- Consulta de Informações de Ecos: Obtém informações detalhadas sobre conjuntos de ecos do jogo 《鸣潮》
- Consulta de Arquivos de Personagens: Obtém informações de arquivo sobre personagens do jogo 《鸣潮》
- Saída Amigável para LLM: Resultados especialmente formatados para modelos de linguagem de grande porte
- Modo de Transmissão Duplo: Suporte às transmissões STDIO e HTTP Streamable
Métodos de Instalação
Instalação via Smithery
Para instalar automaticamente o WuWa MCP Server via Smithery:
npx -y @smithery/cli@latest install @jacksmith3888/wuwa-mcp-server --client claude --key YOUR_SMITHERY_KEYs
Instalação via uv
Instale diretamente do PyPI:
uv pip install wuwa-mcp-server
Como Usar
Executando com o Cherry Studio
- Baixe o Cherry Studio
- Clique em Servidores MCP nas configurações
Adicione a seguinte configuração:
{
"mcpServers": {
"wuwa-mcp": {
"command": "uvx",
"args": ["wuwa-mcp-server"]
}
}
}
Executando com o Claude Desktop
- Baixe o Claude Desktop
- Crie ou edite o arquivo de configuração do seu Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\\Claude\\claude_desktop_config.json
- macOS:
Adicione a seguinte configuração:
{
"mcpServers": {
"wuwa-mcp": {
"command": "uvx",
"args": ["wuwa-mcp-server"]
}
}
}
- Reinicie o Claude Desktop
Ferramentas Disponíveis
1. Ferramenta de Informações de Personagens
async def get_character_info(character_name: str) -> str
Consulta informações detalhadas sobre personagens na Biblioteca do Distrito e retorna em formato Markdown.
Parâmetros:
character_name: O nome em chinês do personagem a ser consultado
Retorno: Uma string Markdown contendo as informações do personagem, ou uma mensagem de erro se o personagem não for encontrado ou se a obtenção de dados falhar.
2. Ferramenta de Informações de Ecos
async def get_artifact_info(artifact_name: str) -> str
Consulta informações detalhadas sobre ecos na Biblioteca do Distrito e retorna em formato Markdown.
Parâmetros:
artifact_name: O nome em chinês do conjunto de ecos a ser consultado
Retorno: Uma string Markdown contendo as informações do eco, ou uma mensagem de erro se o eco não for encontrado ou se a obtenção de dados falhar.
3. Ferramenta de Arquivos de Personagens
async def get_character_profile(character_name: str) -> str
Consulta informações de arquivo sobre personagens na Biblioteca do Distrito e retorna em formato Markdown.
Parâmetros:
character_name: O nome em chinês do personagem a ser consultado
Retorno: Uma string Markdown contendo as informações do arquivo do personagem, ou uma mensagem de erro se o personagem não for encontrado ou se a obtenção de dados falhar.
Desenvolvimento e Testes
Execução Local
# STDIO 模式(默认)
uv run python -m wuwa_mcp_server.server
# HTTP 模式
TRANSPORT=http uv run python -m wuwa_mcp_server.server
Qualidade de Código
O projeto usa ruff para formatação de código e análise estática, garantindo qualidade e consistência.
Instalação das Dependências de Desenvolvimento
uv sync --extra dev
Formatação e Verificação de Código
# 格式化所有 Python 代码
uv run ruff format .
# 检查代码问题
uv run ruff check .
# 自动修复可修复的问题
uv run ruff check --fix .
Configuração do Ruff
O projeto configura as seguintes regras de qualidade de código:
- Comprimento da Linha: 120 caracteres
- Versão Python Alvo: 3.12
- Regras Habilitadas: pycodestyle, pyflakes, isort, convenções de nomenclatura, pyupgrade, bugbear, simplificação de código, etc.
- Ordenação de Imports: Importações de linha única forçadas, prioridade definida para módulos do projeto
Implantação 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
Recursos Detalhados
Processamento de Resultados
- Limpeza e formatação dos dados da Biblioteca do Distrito
- Formato otimizado para consumo por LLM
- Suporte a processamento paralelo para melhor desempenho
- Operações assíncronas para evitar bloqueios
Modos de Transmissão
- Transmissão STDIO: Adequada para clientes locais, como o Claude Desktop
- Transmissão HTTP Streamable: Adequada para implantação em nuvem e acesso remoto
- Detecção automática da variável de ambiente
TRANSPORTpara alternar o modo
Contribuições
Sugestões, problemas e pull requests são bem-vindos! Algumas áreas potenciais de melhoria:
- Adicionar suporte para mais conteúdos do jogo 《鸣潮》
- Aprimorar as opções de análise de conteúdo
- Adicionar camada de cache para conteúdos acessados com frequência
- Suporte à localização em mais idiomas
Licença
Este projeto é licenciado sob a licença MIT.
