Geekbot MCP
Un servidor MCP que integra datos y herramientas de Geekbot con modelos de IA.
Documentación
Geekbot MCP
[!IMPORTANT]
⚠️ Este proyecto ya no se mantiene y ha sido archivado
El desarrollo de este servidor MCP local autoinstalado se ha detenido. Hemos migrado a un servidor MCP remoto de Geekbot con autenticación OAuth que no requiere instalación local, ni clave API en un archivo de configuración, y se mantiene actualizado automáticamente.
Qué usar en su lugar:
- Servidor MCP remoto de Geekbot: Conecta tu asistente de IA a Geekbot a través del servidor MCP remoto. → Guía de configuración
- CLI de Geekbot y Skill de IA: Envía informes, analiza respuestas anteriores y gestiona standups y encuestas desde tu terminal o agente de codificación de IA (Claude Code, Cursor, Windsurf, Copilot). → github.com/geekbot-com/geekbot-cli
Este repositorio permanece disponible, en modo solo lectura, como referencia. Las instrucciones a continuación se conservan con fines históricos y ya no reciben soporte.
Desbloquea tus datos de Geekbot dentro de tus aplicaciones LLM 🚀
El servidor Geekbot MCP (Model Context Protocol) actúa como un puente, conectando aplicaciones cliente LLM (como Claude, Cursor, Windsurf, etc.) directamente con tu espacio de trabajo de Geekbot. Esto te permite interactuar con tus standups, informes y miembros del equipo sin problemas dentro de tus conversaciones usando lenguaje natural.
Características principales ✨
- Accede a información de standups y encuestas: Lista todos los standups y encuestas en tu espacio de trabajo de Geekbot. 📊
- Recupera informes de standups y resultados de encuestas: Obtén informes y resultados de encuestas con filtros para standups específicos, usuarios o rangos de fechas. 📄
- Consulta miembros del equipo: Obtén una lista de los miembros con los que colaboras en Geekbot. 👥
- Publica informes de standups: Envía un informe de standup a Geekbot. 📝
Mira el video:
Instalación 💻
Instalación manual
Requiere Python 3.10+ y uv.
-
Instala Python 3.10+ (si aún no lo tienes):
-
macOS:
brew install python@3.10Consulta la guía de instalación de Python con Homebrew para más detalles.
-
Ubuntu/Debian:
sudo apt update sudo apt install python3.10 -
Windows: Descarga e instala desde Python.org.
Consulta la guía de instalación de Python en Windows para más detalles.
-
-
Instala uv (si aún no lo tienes):
-
macOS/Linux: En tu terminal, ejecuta el siguiente comando:
curl -LsSf https://astral.sh/uv/install.sh | sh -
Windows: En tu PowerShell, ejecuta el siguiente comando:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
(Consulta la documentación de instalación de uv para más opciones.)
-
-
Instala/Actualiza Geekbot MCP:
-
macOS/Linux: En tu terminal, ejecuta el siguiente comando:
uv tool install --upgrade geekbot-mcp -
Windows: En tu PowerShell, ejecuta el siguiente comando:
uv tool install --upgrade geekbot-mcp
-
Configuración ⚙️
Después de instalar Geekbot MCP, puedes conectarlo a tu aplicación de escritorio cliente LLM (por ejemplo, Claude Desktop, Cursor, Windsurf, etc.):
-
Obtén tu clave API de Geekbot: Encuéntrala en tu configuración de API/Webhooks de Geekbot 🔑.
-
Encuentra la ruta de tu ejecutable
uv:
-
Linux/macOS: En tu terminal, ejecuta el siguiente comando:
which uv -
Windows: En tu PowerShell, ejecuta el siguiente comando:
(Get-Command uv | Select-Object -ExpandProperty Path) -replace '\\', '\\'
- Configura tu aplicación de escritorio cliente LLM: Cada cliente LLM que soporta MCP proporciona un archivo de configuración que puedes editar para agregar el servidor Geekbot MCP.
Si estás usando un cliente LLM diferente, consulta la documentación de tu cliente para aprender cómo configurar el servidor MCP.
Después de localizar el archivo de configuración, edítalo para agregar el servidor Geekbot MCP:
{
"mcpServers": {
"geekbot-mcp": {
"command": "UV-PATH",
"args": [
"tool",
"run",
"geekbot-mcp"
],
"env": {
"GB_API_KEY": "YOUR-API-KEY"
}
}
}
}
Asegúrate de reemplazar:
UV-PATHcon la ruta a tu ejecutableuvdel paso 2YOUR-API-KEYcon tu clave API de Geekbot del paso 1
Uso 💡
Una vez configurado, tu aplicación cliente LLM tendrá acceso a las siguientes herramientas y prompts para interactuar con tus datos de Geekbot:
Herramientas 🛠️
list_standups
Propósito: Lista todos los standups accesibles con tu clave API. Útil para obtener una visión general o encontrar un ID de standup específico.
Ejemplo de prompt: "Oye, ¿puedes listar mis standups de Geekbot?"
Campos de datos devueltos:
id: Identificador único del standup.name: Nombre del standup.channel: Canal de comunicación asociado (por ejemplo, canal de Slack).time: Hora programada para el informe del standup.timezone: Zona horaria para la hora programada.questions: Lista de preguntas realizadas en el standup.participants: Lista de usuarios que participan en el standup.owner_id: ID del propietario del standup.confidential: Si el standup es confidencial.anonymous: Si el standup es anónimo.
list_polls
Propósito: Lista todas las encuestas accesibles con tu clave API. Útil para obtener una visión general o encontrar un ID de encuesta específico.
Ejemplo de prompt: "Oye, ¿puedes listar mis encuestas de Geekbot?"
Campos de datos devueltos:
id: Identificador único de la encuesta.name: Nombre de la encuesta.time: Hora programada para la encuesta.timezone: Zona horaria para la hora programada.questions: Lista de preguntas realizadas en la encuesta.participants: Lista de usuarios que participan en la encuesta.creator: El creador de la encuesta.
fetch_reports
Propósito: Recupera informes de standups específicos. Puedes filtrar por standup, usuario y rango de fechas.
Ejemplos de prompts:
- "Obtén los informes enviados ayer en la Retrospectiva."
- "Muéstrame los informes del usuario John Doe para el standup 'Sincronización Semanal'."
- "Obtén todos los informes enviados al standup Diario después del 1 de junio de 2024."
Filtros disponibles:
standup_id: Filtrar por un ID de standup específico.user_id: Filtrar informes por un ID de usuario específico.after: Recuperar informes enviados después de esta fecha (AAAA-MM-DD) 🗓️.before: Recuperar informes enviados antes de esta fecha (AAAA-MM-DD) 🗓️.
Campos de datos devueltos:
id: Identificador único del informe.reporter_name: Nombre del usuario que envió el informe.reporter_id: ID del usuario que envió el informe.standup_id: ID del standup al que pertenece el informe.created_at: Marca de tiempo de cuándo se envió el informe.content: Las respuestas/contenido reales del informe.
post_report
Propósito: Publica un informe en Geekbot.
Ejemplo de prompt: "Oye, ¿puedes publicar el informe para el standup Diario?"
Campos de datos devueltos:
id: Identificador único del informe.reporter_name: Nombre del usuario que envió el informe.reporter_id: ID del usuario que envió el informe.standup_id: ID del standup al que pertenece el informe.created_at: Marca de tiempo de cuándo se envió el informe.content: Las respuestas/contenido reales del informe.
list_members
Propósito: Lista todos los miembros del equipo con los que compartes standups en tu espacio de trabajo de Geekbot.
Ejemplo de prompt: "¿Quiénes son los miembros en mi espacio de trabajo de Geekbot?"
Campos de datos devueltos:
id: Identificador único del miembro.name: Nombre completo del miembro.email: Dirección de correo electrónico del miembro.role: Rol del miembro dentro de Geekbot (por ejemplo, Administrador, Miembro).
fetch_poll_results
Propósito: Recupera resultados de encuestas específicos. Requiere un ID de encuesta y opcionalmente un rango de fechas.
Ejemplo de prompt: "Oye, ¿qué se decidió sobre el nuevo logo en las encuestas de Geekbot?"
Campos de datos devueltos:
total_results: Número total de resultados.question_results: Lista de resultados de preguntas.
Prompts 💬
weekly_rollup_report
Propósito: Genera un informe resumido semanal completo que resume las respuestas de los standups del equipo, destaca actualizaciones clave, identifica riesgos y estrategias de mitigación, describe los próximos pasos y realiza seguimiento de los próximos lanzamientos.
Consejos 💡
-
Revisa el uso de herramientas: Haz que el agente solicite tu aprobación explícita para cada acción de herramienta y no permitas llamadas automáticas a herramientas. Esta función de seguridad garantiza que mantengas el control sobre operaciones sensibles, particularmente al publicar informes en Geekbot. Se te pedirá que revises y apruebes cada llamada de herramienta antes de su ejecución, lo que ayuda a prevenir envíos de datos no intencionados.
-
Solicita una vista previa: Antes de publicar un informe, pide al agente que muestre una vista previa del informe y que no lo publique realmente. Esto te dará la oportunidad de revisar el informe y asegurarte de que sea correcto o hacer cambios antes de publicarlo en Geekbot.
-
Limita el volumen de datos recuperados: Si estás usando la herramienta
fetch_reports, limita el rango de fechas a un período razonable. Esto ayudará a evitar que el agente recupere una gran cantidad de datos y cause problemas de rendimiento. Ten en cuenta que el agente aplicará límites en el número de informes que puede recuperar.
Argumentos:
standup_id: ID del standup a incluir en el informe resumido.
Desarrollo 🧑💻
¿Interesado en contribuir o ejecutar el servidor localmente?
Configuración del entorno de desarrollo
# 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
Ejecución de pruebas ✅
# Ensure dependencies are installed (uv sync)
pytest
Contribuciones 🤝
¡Las contribuciones son bienvenidas! Por favor, haz un fork del repositorio y envía una solicitud de extracción (Pull Request) con tus cambios.
Licencia 📜
Este proyecto está licenciado bajo la Licencia MIT.
Agradecimientos 🙏
- Construido sobre el framework Anthropic Model Context Protocol.
- Utiliza la API oficial de Geekbot.
