Geekbot MCP
Um servidor MCP que integra dados e ferramentas do Geekbot com modelos de IA.
Documentação
Geekbot MCP
[!IMPORTANT]
⚠️ Este projeto não é mais mantido e foi arquivado
O desenvolvimento deste servidor MCP local e auto-instalado foi interrompido. Migramos para um servidor Geekbot MCP remoto, autenticado via OAuth, que não requer instalação local, nem chave de API em arquivo de configuração, e permanece atualizado automaticamente.
O que usar em vez disso:
- Geekbot Remote MCP Server: Conecte seu assistente de IA ao Geekbot por meio do servidor MCP remoto. → Guia de configuração
- Geekbot CLI & AI Skill: Envie relatórios, analise respostas anteriores e gerencie standups e enquetes a partir do seu terminal ou agente de codificação de IA (Claude Code, Cursor, Windsurf, Copilot). → github.com/geekbot-com/geekbot-cli
Este repositório permanece disponível, somente leitura, para referência. As instruções abaixo são mantidas para fins históricos e não são mais suportadas.
Desbloqueie seus dados do Geekbot em seus aplicativos de LLM 🚀
O servidor Geekbot MCP (Model Context Protocol) atua como uma ponte, conectando aplicativos clientes de LLM (como Claude, Cursor, Windsurf, etc.) diretamente ao seu workspace do Geekbot. Isso permite que você interaja com seus standups, relatórios e membros da equipe de forma integrada em suas conversas, usando linguagem natural.
Principais Recursos ✨
- Acessar informações de Standups e Enquetes: Liste todos os standups e enquetes no seu workspace do Geekbot. 📊
- Recuperar relatórios de standup e resultados de enquetes: Obtenha relatórios e resultados de enquetes com filtros para standups, usuários ou intervalos de datas específicos. 📄
- Visualizar membros da equipe: Obtenha uma lista dos membros com quem você colabora no Geekbot. 👥
- Enviar relatórios de standup: Envie um relatório de standup para o Geekbot. 📝
Assista ao vídeo:
Instalação 💻
Instalação Manual
Requer Python 3.10+ e uv.
-
Instale o Python 3.10+ (se ainda não tiver):
-
macOS:
brew install python@3.10Consulte o guia de instalação do Python via Homebrew para mais detalhes.
-
Ubuntu/Debian:
sudo apt update sudo apt install python3.10 -
Windows: Baixe e instale a partir do Python.org.
Consulte o guia de instalação do Python no Windows para mais detalhes.
-
-
Instale o uv (se ainda não tiver):
-
macOS/Linux: No seu terminal, execute o seguinte comando:
curl -LsSf https://astral.sh/uv/install.sh | sh -
Windows: No seu PowerShell, execute o seguinte comando:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
(Consulte a documentação de instalação do uv para mais opções.)
-
-
Instale/Atualize o Geekbot MCP:
-
macOS/Linux: No seu terminal, execute o seguinte comando:
uv tool install --upgrade geekbot-mcp -
Windows: No seu PowerShell, execute o seguinte comando:
uv tool install --upgrade geekbot-mcp
-
Configuração ⚙️
Após instalar o Geekbot MCP, você pode conectá-lo ao seu aplicativo de desktop cliente de LLM (ex.: Claude Desktop, Cursor, Windsurf, etc.):
-
Obtenha sua chave de API do Geekbot: Encontre-a nas suas configurações de API/Webhooks do Geekbot 🔑.
-
Encontre o caminho do executável
uv:
-
Linux/macOS: No seu terminal, execute o seguinte comando:
which uv -
Windows: No seu PowerShell, execute o seguinte comando:
(Get-Command uv | Select-Object -ExpandProperty Path) -replace '\\', '\\'
- Configure seu aplicativo de desktop cliente de LLM: Cada cliente de LLM que suporta MCP fornece um arquivo de configuração que você pode editar para adicionar o servidor Geekbot MCP.
Se você estiver usando um cliente de LLM diferente, consulte a documentação do seu cliente para aprender como configurar o servidor MCP.
Depois de localizar o arquivo de configuração, edite-o para adicionar o servidor Geekbot MCP:
{
"mcpServers": {
"geekbot-mcp": {
"command": "UV-PATH",
"args": [
"tool",
"run",
"geekbot-mcp"
],
"env": {
"GB_API_KEY": "YOUR-API-KEY"
}
}
}
}
Certifique-se de substituir:
UV-PATHpelo caminho para o executáveluvda etapa 2YOUR-API-KEYpela sua chave de API do Geekbot da etapa 1
Uso 💡
Uma vez configurado, seu aplicativo cliente de LLM terá acesso às seguintes ferramentas e prompts para interagir com seus dados do Geekbot:
Ferramentas 🛠️
list_standups
Finalidade: Lista todos os standups acessíveis por meio da sua chave de API. Útil para obter uma visão geral ou encontrar um ID de standup específico.
Exemplo de prompt: "Ei, você pode listar meus standups do Geekbot?"
Campos de dados retornados:
id: Identificador único do standup.name: Nome do standup.channel: Canal de comunicação associado (ex.: canal do Slack).time: Horário agendado para o relatório do standup.timezone: Fuso horário do horário agendado.questions: Lista de perguntas feitas no standup.participants: Lista de usuários que participam do standup.owner_id: ID do proprietário do standup.confidential: Se o standup é confidencial.anonymous: Se o standup é anônimo.
list_polls
Finalidade: Lista todas as enquetes acessíveis por meio da sua chave de API. Útil para obter uma visão geral ou encontrar um ID de enquete específico.
Exemplo de prompt: "Ei, você pode listar minhas enquetes do Geekbot?"
Campos de dados retornados:
id: Identificador único da enquete.name: Nome da enquete.time: Horário agendado para a enquete.timezone: Fuso horário do horário agendado.questions: Lista de perguntas feitas na enquete.participants: Lista de usuários que participam da enquete.creator: O criador da enquete.
fetch_reports
Finalidade: Recupera relatórios de standup específicos. Você pode filtrar por standup, usuário e intervalo de datas.
Exemplos de prompts:
- "Busque os relatórios enviados ontem na Retrospective."
- "Mostre-me os relatórios do usuário John Doe para o standup 'Weekly Sync'."
- "Obtenha todos os relatórios enviados ao standup Daily Standup após 1º de junho de 2024."
Filtros disponíveis:
standup_id: Filtrar por um ID de standup específico.user_id: Filtrar relatórios por um ID de usuário específico.after: Recuperar relatórios enviados após esta data (YYYY-MM-DD) 🗓️.before: Recuperar relatórios enviados antes desta data (YYYY-MM-DD) 🗓️.
Campos de dados retornados:
id: Identificador único do relatório.reporter_name: Nome do usuário que enviou o relatório.reporter_id: ID do usuário que enviou o relatório.standup_id: ID do standup ao qual o relatório pertence.created_at: Carimbo de data/hora de quando o relatório foi enviado.content: As respostas/conteúdo reais do relatório.
post_report
Finalidade: Envia um relatório para o Geekbot.
Exemplo de prompt: "Ei, você pode enviar o relatório para o standup Daily Standup?"
Campos de dados retornados:
id: Identificador único do relatório.reporter_name: Nome do usuário que enviou o relatório.reporter_id: ID do usuário que enviou o relatório.standup_id: ID do standup ao qual o relatório pertence.created_at: Carimbo de data/hora de quando o relatório foi enviado.content: As respostas/conteúdo reais do relatório.
list_members
Finalidade: Lista todos os membros da equipe com quem você compartilha standups no seu workspace do Geekbot.
Exemplo de prompt: "Quem são os membros do meu workspace do Geekbot?"
Campos de dados retornados:
id: Identificador único do membro.name: Nome completo do membro.email: Endereço de e-mail do membro.role: Função do membro no Geekbot (ex.: Admin, Member).
fetch_poll_results
Finalidade: Recupera resultados específicos de enquetes. Requer um ID de enquete e, opcionalmente, um intervalo de datas.
Exemplo de prompt: "Ei, o que foi decidido sobre o novo logotipo nas enquetes do Geekbot?"
Campos de dados retornados:
total_results: Número total de resultados.question_results: Lista de resultados das perguntas.
Prompts 💬
weekly_rollup_report
Finalidade: Gera um relatório semanal abrangente que resume as respostas dos standups da equipe, destaca atualizações importantes, identifica riscos e estratégias de mitigação, descreve os próximos passos e acompanha os lançamentos futuros.
Dicas 💡
-
Revise o uso das ferramentas: Faça o agente solicitar sua aprovação explícita para cada ação de ferramenta e não permita chamadas automáticas de ferramentas. Esse recurso de segurança garante que você mantenha o controle sobre operações sensíveis, especialmente ao enviar relatórios para o Geekbot. Você será solicitado a revisar e aprovar cada chamada de ferramenta antes da execução, ajudando a evitar envios não intencionais de dados.
-
Peça uma prévia: Antes de enviar um relatório, peça ao agente para pré-visualizar o relatório e não enviá-lo de fato. Isso dará a você a chance de revisar o relatório e garantir que ele esteja correto ou fazer alterações antes de enviá-lo ao Geekbot.
-
Limite o volume de dados recuperados: Se você estiver usando a ferramenta
fetch_reports, limite o intervalo de datas a um período razoável. Isso ajudará a evitar que o agente recupere uma grande quantidade de dados e cause problemas de desempenho. Tenha em mente que o agente aplicará limites no número de relatórios que pode recuperar.
Argumentos:
standup_id: ID do standup a ser incluído no relatório semanal.
Desenvolvimento 🧑💻
Interessado em contribuir ou executar o servidor localmente?
Configurar o Ambiente de Desenvolvimento
# 1. Clone the repository
git clone https://github.com/geekbot-com/geekbot-mcp.git
cd geekbot-mcp
# 2. Install uv (if needed)
# curl -LsSf https://astral.sh/uv/install.sh | sh
# 3. Create a virtual environment and install dependencies
uv sync
Executando Testes ✅
# Ensure dependencies are installed (uv sync)
pytest
Contribuindo 🤝
Contribuições são bem-vindas! Por favor, faça um fork do repositório e envie um Pull Request com suas alterações.
Licença 📜
Este projeto é licenciado sob a Licença MIT.
Agradecimentos 🙏
- Construído sobre o framework Anthropic Model Context Protocol.
- Utiliza a API oficial do Geekbot.
