MCPlayerOne
Um servidor de jogo de aventura com inteligência artificial, synthwave, exploração de labirintos e construção de mundos.
Documentação

🚀 MCPlayerOne
Transforme sua imaginação em um jogo gerado por IA
Bem-vindo ao MCPlayerOne — uma plataforma de aventura synthwave, exploração de labirintos e construção de mundos! Crie, explore e jogue em mundos selvagens gerados por IA. Desenvolvido com Next.js, Langflow e a sua imaginação.

Explore o seu mundo: Exemplo de jogabilidade
🎮 Conecte-se e jogue via Ferramentas MCP
Você pode jogar instantaneamente conectando-se ao Servidor de Jogo MCP público usando suas ferramentas de agente favoritas — sem necessidade de configurar um servidor!
🧪 Warp Preview (Terminal)
- Baixe e instale o Warp Preview
- Abra o Warp Preview
- Vá para
Settings→Manage MCP servers→+Add - Cole o seguinte no campo "SSE endpoint URL":
https://mcplayerone.onrender.com/api/v1/mcp/sse - Salve e conecte-se!
- Agora você pode interagir com o Servidor de Jogo MCP diretamente do Warp Preview.
🖥️ Cursor (IDE de IA)
- Instale o Cursor IDE
- Adicione o Servidor de Jogo MCP como um servidor de ferramentas:
- Abra o Cursor e vá para Extensões/Integrações.
- Adicione um novo servidor de ferramentas MCP com esta configuração:
{ "MCPlayerOne": { "transportType": "sse", "url": "https://mcplayerone.onrender.com/api/v1/mcp/sse", "openapi": "https://mcplayerone.onrender.com/api/v1/mcp/openapi.json" } }
- Comece a jogar! Use as ferramentas de chat ou código do Cursor para enviar comandos MCP, automatizar movimentos ou analisar dados do jogo.
🤖 Claude (Chatbot/Desktop de IA)
- Instale Python e pip
- Instale o uv:
pip install uv - Instale o mcp-proxy:
uvx install mcp-proxy - Adicione isso à configuração do Claude Desktop:
{ "mcpServers": { "MCPlayerOne": { "command": "uvx", "args": ["mcp-proxy", "https://mcplayerone.onrender.com/api/v1/mcp/sse"] } } } - Reinicie o Claude Desktop e selecione o servidor MCPlayerOne para começar a jogar!
🛠️ Solução de problemas
- Erros 404 ou de conexão? Certifique-se de estar usando a URL do Render correta acima.
- Agente não respondendo? Verifique se você está usando o endpoint SSE e a URL OpenAPI corretos.
- Sessões expiradas? As sessões SSE duram 1 hora de inatividade — basta reconectar se necessário.
🚦 Como começar
Se você quer pular direto para um jogo ou configurar seu próprio servidor, começar com o MCPlayerOne é fácil:
Para jogar instantaneamente
- Use qualquer um dos métodos acima (Warp Preview, Cursor, Claude, etc.) para se conectar ao Servidor de Jogo MCP público.
Depois de conectar, diga ao agente que você gostaria de jogar um jogo MCPlayerOne.
Agora, basta dizer ao agente qual jogo você deseja jogar e, opcionalmente, escolher um nome de usuário (o agente escolherá um para você se não o fizer).
Crie seu próprio jogo
Você também pode criar e gerar seu próprio jogo para jogar.
Divirta-se, aponte-o para um site, talvez um repositório GitHub, ou apenas dê a ele um tema. Quanto mais criativo e imaginativo você for, mais interessante será o seu jogo. É aqui que a geração por IA realmente brilha.
Por exemplo, diga ao agente algo como "Vamos criar um novo jogo MCPlayerOne, use o github https://github.com/SonicDMG/mcp-game-server como tema" ou "Crie um novo jogo MCPlayerOne com um tema baseado em DOOM jogando como um fuzileiro espacial".
A criação do jogo leva cerca de 2 a 3 minutos, então seja paciente.
🎲 Jogabilidade
🗝️ Ferramentas MCP disponíveis
Estas são as principais ferramentas MCP que você (ou seu agente) pode usar para jogar. A maioria dos agentes escolherá ações com base em suas entradas ou objetivos.
| Nome da Ferramenta | O que faz |
|---|---|
| listStories | Lista todas as histórias de jogo disponíveis que podem ser jogadas. |
| createGame | Gera uma nova história de jogo, locais, itens e imagem de capa por tema. |
| startGame | Inicia uma nova sessão de jogo para um usuário em uma história específica, ou retoma se já tiver começado. |
| getGameState | Obtém o estado atual do jogo (jogador e local) para um usuário e história. |
| lookAround | Obtém detalhes sobre o local atual do jogador (descrição, itens, saídas). |
| movePlayer | Move o jogador para um novo local (pelo ID de destino) se for válido. |
| takeItem | Pega um item especificado do local atual. |
| examineTarget | Obtém uma descrição detalhada de um item ou recurso específico na sala atual. |
| getLeaderboard | Recupera os dados do ranking para uma história específica. |
| getStoryById | Obtém os detalhes de uma história específica pelo seu ID lógico. |
✨ Recursos
- 🪐 Mundos gerados por IA: Crie instantaneamente novas histórias e labirintos
- 👾 Arte ASCII e Pixel: Visuais retrô e layouts baseados em grade
- 🌌 Ranking (Leaderboard): Compita pela glória, veja vencedores e os caídos
- 🚀 Artefatos e Salas: Colete, explore e interaja
- 🐉 Tema Synthwave: Cores neon, dragões pixelados e mais
- 🧑💻 Desenvolvido por Langflow: Integração de IA de próxima geração
🛠️ Desenvolvimento Local
Quer executar seu próprio servidor ou contribuir? Siga estes passos:
npm install
npm run dev
Abra http://localhost:3000 para jogar localmente.
- Edite o
.envpara configurar chaves de API, endpoints ou acesso a ferramentas conforme necessário. - Para Astra DB, Langflow ou outras integrações, siga os comentários em
.env.example.
Configuração de Ferramentas MCP (para desenvolvimento local)
- Para desenvolvimento local, use:
http://localhost:3000/api/v1/mcp/sse(endpoint SSE)http://localhost:3000/api/v1/mcp/openapi.json(especificação OpenAPI)
- Todas as ferramentas MCP estão habilitadas por padrão no desenvolvimento local.
🌟 Contribuindo
Pull requests são bem-vindos! Abra uma issue, faça um fork e ajude-nos a construir os mundos mais selvagens do metaverso.
- Dê uma estrela no repositório ⭐
🔗 Links
📑 Referência de Códigos de Erro e Status (Adendo)
Esta seção documenta os principais códigos de erro e status usados pela API do Servidor de Jogo MCP e pela interface SSE/JSON-RPC, para referência rápida:
Códigos de Status HTTP
| Código | Quando é emitido | Significado |
|---|---|---|
| 200 | Requisição bem-sucedida (pode incluir erros no corpo para lógica de jogo) | OK |
| 400 | Requisição malformada, parâmetros ausentes/inválidos | Requisição Inválida |
| 403 | Ação não permitida (por exemplo, requisitos não atendidos) | Proibido |
| 404 | Recurso não encontrado (jogador, história, local, item) | Não Encontrado |
| 409 | Conflito (por exemplo, história com o mesmo ID já existe) | Conflito |
| 500 | Erro interno do servidor | Erro de Servidor |
Códigos de Erro JSON-RPC (SSE/Proxy de Ferramenta)
| Código | Quando é emitido | Significado |
|---|---|---|
| -32000 | Erro genérico do servidor (falha de proxy, resposta não-JSON, etc.) | Erro de servidor (reservado JSON-RPC 2.0) |
| -32601 | Ferramenta ou método não encontrado | Método não encontrado (JSON-RPC 2.0) |
| -32602 | Parâmetros inválidos para uma ferramenta/método | Parâmetros inválidos (JSON-RPC 2.0) |
| -32603 | Erro interno JSON-RPC | Erro interno (JSON-RPC 2.0) |
Campos de Lógica/Resposta do Jogo
| Campo | Quando presente | Significado |
|---|---|---|
| success | Todas as respostas | true se a operação teve sucesso, false caso contrário |
| error | Em falha | Mensagem de erro para o usuário/agente |
| hint | Às vezes | Dica opcional para o usuário/agente |
| needsPlayer | Jogador não encontrado | Indica que o cliente deve chamar /start |
Notas
- Erros de lógica do jogo (por exemplo, resposta errada, item ausente) podem retornar HTTP 200 com
success: falsee uma mensagemerrorno corpo. - Os códigos de erro JSON-RPC são usados em SSE e proxy de ferramentas para compatibilidade com agentes.
- Consulte a especificação OpenAPI para detalhes completos do esquema.
Obrigado por visitar, explorador! Que seus labirintos sejam tortuosos e seus artefatos brilhantes. 🟪🟦🟩🟧🟨🟫