Beebole MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BEEBOLE_API_KEY | No | Your Beebole API key (required for local stdio mode; for remote mode, it is passed via HTTP header X-Beebole-Key) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| beebole_whoamiA | Devuelve la persona autenticada por la API key (id, nombre, email, rol) y su organización. Empieza por aquí para conocer tu propio personId y el contexto de la cuenta. |
| beebole_list_projectsA | Lista proyectos con filtros opcionales. Sin filtros devuelve los proyectos de nivel raíz activos. |
| beebole_get_projectA | Devuelve un proyecto por id con detalle (categoría, padre, managers, budgets). |
| beebole_list_tasksA | Lista tareas con filtros (proyecto, estado, responsable, persona asignada, categoría, rango). |
| beebole_get_taskA | Devuelve una tarea por id con detalle. |
| beebole_list_personsB | Lista las personas (usuarios) de la organización, con filtros opcionales. |
| beebole_get_personA | Devuelve una persona por id con detalle (rol, organización, ajustes). |
| beebole_list_time_recordsA | Lista los time records (horas/ausencias fichadas) en un rango con filtros por persona, proyecto, tarea o estado. Pasa startTime/endTime (epoch ms) para acotar. |
| beebole_count_time_recordsA | Cuenta los time records que casan el filtro (útil antes de listar rangos grandes). |
| beebole_add_time_recordA | Crea una imputación de horas para una persona. duration en MINUTOS. startTime en epoch ms. Indica taskId (y opcionalmente projectIds) para tiempo, o absenceId para una ausencia. comment/nonBillable/wfh se aplican tras crear. |
| beebole_edit_time_recordA | Modifica campos de un time record existente. Pasa solo los que quieras cambiar: comment, durationMinutes, startTime, endTime, taskId, projectIds, nonBillable, wfh. |
| beebole_delete_time_recordsB | Elimina uno o varios time records por id. Acción destructiva e irreversible. |
| beebole_clone_time_recordsC | Copia los time records de una persona de un periodo origen a uno destino (epoch ms). |
| beebole_submit_timesheetB | Envía el timesheet de una persona para un periodo (epoch ms) al flujo de aprobación. |
| beebole_approve_timesheetA | Aprueba un evento de aprobación de timesheet por su id (lo da getPendingApprovals / submit). |
| beebole_reject_timesheetB | Rechaza un timesheet en una etapa concreta con un comentario obligatorio. |
| beebole_list_tagsB | Lista los tags (grupos jerárquicos) usados para clasificar personas/proyectos/tareas. |
| beebole_list_absence_typesB | Lista los tipos de ausencia (vacaciones, baja, etc.) con su unidad (día/hora). |
| beebole_list_reportsA | Lista los informes definidos en la cuenta (para ejecutarlos con beebole_run_report). |
| beebole_run_reportA | Ejecuta un informe guardado por id y devuelve sus filas. Hace polling si el informe es asíncrono (campo pending). period/filters son opcionales para sobrescribir el rango. |
| beebole_planned_vs_realA | Compara horas planificadas vs reales en un rango (epoch ms). Útil para seguimiento de presupuesto de proyecto. Filtra por proyecto/persona vía filters. |
| beebole_add_projectB | Crea un proyecto. color = índice de paleta 0-71. |
| beebole_add_taskB | Crea una tarea (opcionalmente bajo un proyecto/padre y con estado/categoría). |
| beebole_add_personB | Da de alta una persona (usuario). roleId es obligatorio (ver roles de la organización). |
| beebole_search_schemaA | Descubre cualquiera de las 87 queries + 745 mutations de Beebole por palabra clave (nombre o descripción). Úsalo cuando no haya una tool curada para lo que necesitas; luego beebole_describe_operation y beebole_graphql. |
| beebole_describe_operationA | Devuelve la firma completa de una query/mutation: argumentos, expansión de los input objects, scalars con sus valores permitidos y forma del tipo de retorno. Úsalo antes de llamar a beebole_graphql. |
| beebole_graphqlA | Ejecuta una query o mutation GraphQL arbitraria contra Beebole (cobertura total de la API). Pasa el documento en |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Each tool targets a distinct resource and action (e.g., adding, listing, getting, editing, deleting). Even close pairs like add_time_record and edit_time_record are clearly separated by operation. The generic tools (graphql, describe_operation, search_schema) serve a unique meta-purpose.
All tool names follow a consistent 'beebole_verb_noun' pattern (beebole_add_person, beebole_list_projects, etc.). Verbs are standard (add, list, get, edit, delete, approve, etc.) and nouns are singular/plural as appropriate. No mixing of conventions.
27 tools is appropriate for a comprehensive API covering persons, projects, tasks, time records, absences, reports, and approvals, plus schema discovery and GraphQL access. The count is not excessive given the domain's breadth.
The curated tools cover core CRUD for time records and listing for other entities. While some operations (update/delete for persons, projects, tasks) are missing from curated tools, the inclusion of beebole_graphql and schema discovery tools (search_schema, describe_operation) provides complete coverage of the entire Beebole API.