MCPlayerOne

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

Documentação

MCP Game Server Logo

🚀 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.

App Screenshot

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)

  1. Baixe e instale o Warp Preview
  2. Abra o Warp Preview
  3. Vá para Settings → Manage MCP servers → +Add
  4. Cole o seguinte no campo "SSE endpoint URL":
    https://mcplayerone.onrender.com/api/v1/mcp/sse
    
  5. Salve e conecte-se!
    • Agora você pode interagir com o Servidor de Jogo MCP diretamente do Warp Preview.

🖥️ Cursor (IDE de IA)

  1. Instale o Cursor IDE
  2. 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"
        }
      }
      
  3. 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)

  1. Instale Python e pip
  2. Instale o uv:
    pip install uv
    
  3. Instale o mcp-proxy:
    uvx install mcp-proxy
    
  4. Adicione isso à configuração do Claude Desktop:
    {
      "mcpServers": {
        "MCPlayerOne": {
          "command": "uvx",
          "args": ["mcp-proxy", "https://mcplayerone.onrender.com/api/v1/mcp/sse"]
        }
      }
    }
    
  5. 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.

Start a Game in Claude
Iniciar um Jogo MCPlayerOne
Play a Game in Claude
Escolher um Jogo e Jogar

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 FerramentaO que faz
listStoriesLista todas as histórias de jogo disponíveis que podem ser jogadas.
createGameGera uma nova história de jogo, locais, itens e imagem de capa por tema.
startGameInicia uma nova sessão de jogo para um usuário em uma história específica, ou retoma se já tiver começado.
getGameStateObtém o estado atual do jogo (jogador e local) para um usuário e história.
lookAroundObtém detalhes sobre o local atual do jogador (descrição, itens, saídas).
movePlayerMove o jogador para um novo local (pelo ID de destino) se for válido.
takeItemPega um item especificado do local atual.
examineTargetObtém uma descrição detalhada de um item ou recurso específico na sala atual.
getLeaderboardRecupera os dados do ranking para uma história específica.
getStoryByIdObté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 .env para 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ódigoQuando é emitidoSignificado
200Requisição bem-sucedida (pode incluir erros no corpo para lógica de jogo)OK
400Requisição malformada, parâmetros ausentes/inválidosRequisição Inválida
403Ação não permitida (por exemplo, requisitos não atendidos)Proibido
404Recurso não encontrado (jogador, história, local, item)Não Encontrado
409Conflito (por exemplo, história com o mesmo ID já existe)Conflito
500Erro interno do servidorErro de Servidor

Códigos de Erro JSON-RPC (SSE/Proxy de Ferramenta)

CódigoQuando é emitidoSignificado
-32000Erro genérico do servidor (falha de proxy, resposta não-JSON, etc.)Erro de servidor (reservado JSON-RPC 2.0)
-32601Ferramenta ou método não encontradoMétodo não encontrado (JSON-RPC 2.0)
-32602Parâmetros inválidos para uma ferramenta/métodoParâmetros inválidos (JSON-RPC 2.0)
-32603Erro interno JSON-RPCErro interno (JSON-RPC 2.0)

Campos de Lógica/Resposta do Jogo

CampoQuando presenteSignificado
successTodas as respostastrue se a operação teve sucesso, false caso contrário
errorEm falhaMensagem de erro para o usuário/agente
hintÀs vezesDica opcional para o usuário/agente
needsPlayerJogador não encontradoIndica 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: false e uma mensagem error no 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. 🟪🟦🟩🟧🟨🟫