Beebole MCP
This server connects Claude to Beebole's time-tracking API, enabling the following:
List projects and tasks – Browse your full project hierarchy and available tasks.
Get time entries – Retrieve time records for a specified date range (
YYYY-MM-DDformat).Log, edit, clone, and delete time records – Add new entries (specifying project, date, duration in minutes, optional task and comment), modify, duplicate, or remove existing ones.
Submit, approve, and reject timesheets – Manage the full timesheet workflow.
Get counts and reports – Count time records, list and run reports, compare planned vs. actual hours.
Manage entities – Add projects, tasks, persons, and work with tags and absence types.
Explore and access the full GraphQL API – Use
beebole_search_schemato discover operations by keyword,beebole_describe_operationto get full signatures, andbeebole_graphqlto execute any raw query or mutation not covered by the curated tools.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Beebole MCPlist my projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@neonexai/beebole-mcp
MCP server que conecta Claude (Claude Code / Claude Desktop) con Beebole
(control de horas) a través de su API GraphQL nueva — la de la app rediseñada
app.beebole.com.
Endpoint:
POST https://app.beebole.com/graphqlAuth: cabecera
apikey: <API_KEY>(la key se obtiene enapp.beebole.com → Settings → API).Verificado e2e (2026-06-25) contra la API real: 18/18 checks de lectura y escritura (crear proyecto/tarea, fichar horas, editar, borrar, limpiar).
Dos transportes:
Local (stdio) — recomendado (GDPR): corre en el PC del cliente; su API key vive solo en su máquina y los datos no pasan por ningún servidor intermedio.
Remoto (HTTP, VPS) — centralizado; el token viaja por cabecera
X-Beebole-Keyen cada petición y no se almacena (stateless multi-tenant).
Arquitectura: híbrida (curadas + passthrough)
La API GraphQL nueva es enorme y fine-grained: 87 queries + 745 mutations (cada campo editable tiene su propia mutation). Exponer eso 1:1 saturaría a cualquier agente. Por eso el server combina dos capas:
A) ~24 tools curadas para el flujo real de un estudio:
Área | Tools |
Identidad |
|
Proyectos |
|
Tareas |
|
Personas |
|
Fichaje de horas |
|
Timesheets |
|
Catálogos |
|
Informes |
|
B) 3 tools genéricas para cobertura del 100% de la API (las ~800 operaciones restantes de administración/configuración):
beebole_search_schema— descubre cualquier operación por palabra clave.beebole_describe_operation— su firma completa (args + input objects + retorno).beebole_graphql— ejecuta cualquier query/mutation cruda.
Flujo para algo sin tool curada: search → describe → graphql.
Notas de dominio (del propio schema)
Timestamps:
BeeboleTimestamp= Unix epoch en milisegundos (> 1e10).Duración de un time record: entero en minutos (ej.
90= 1 h 30 min). Beebole lo interpreta según los time settings de la organización; confírmalo visualmente la primera vez.Estados (
status):d=draft,s=submitted,a=approved,r=rejected.Color: índice de paleta
0-71. Ausencias: unidaddayohour.addProject/addTaskrequierencategoryIdoparentId(la API rechaza conNoCategoryOrParentProvidedsi no se da ninguno).
Related MCP server: boondmanager-mcp-server
Requisitos en el PC
Node ≥ 18 instalado (para
npx). No hay que instalar nada más: el server se descarga solo al arrancar connpx.Una API key de Beebole (
app.beebole.com → Settings → API).Conexión a internet.
NO hace falta tener Beebole abierto ni instalado. Este MCP habla directamente con la API web de Beebole (
app.beebole.com/graphql) usando la API key; funciona aunque no tengas Beebole abierto en el navegador.
Instalación (local · stdio · recomendado)
Publicado en npm como @neonexai/beebole-mcp.
@latest trae siempre la última versión.
Opción 1 — con el comando de Claude Code (si tienes el CLI claude)
claude mcp add beebole -s user --env BEEBOLE_API_KEY=TU_API_KEY -- npx -y @neonexai/beebole-mcp@latest-s user lo deja disponible en todos los proyectos de ese PC.
Opción 2 — sin CLI, editando la configuración a mano
Útil si usáis Claude Desktop o si el comando claude no existe en el equipo.
Añade el bloque "beebole" dentro de mcpServers en el archivo de configuración
y reinicia la app:
Claude Desktop →
C:\Users\<usuario>\AppData\Roaming\Claude\claude_desktop_config.json(en la app: Settings → Developer → Edit Config).Claude Code (config global de usuario) →
C:\Users\<usuario>\.claude.json, bajo la clave raízmcpServers.
{
"mcpServers": {
"beebole": {
"command": "npx",
"args": ["-y", "@neonexai/beebole-mcp@latest"],
"env": { "BEEBOLE_API_KEY": "TU_API_KEY" }
}
}
}Reinicia la app del todo (en Claude Desktop, ciérrala también desde el icono de la bandeja del sistema → Quit).
Si la app no encuentra
npx(PATH), pon la ruta absoluta comocommand(en PowerShell:where.exe npx), con barras dobles\\en el JSON. Alternativa sin npm (no auto-actualiza,npxcachea el clon):npx -y github:NeoNexAI/beebole-mcp.
Verifica la key antes (debe responder con tu nombre)
curl -s -H "apikey: TU_API_KEY" -H "Content-Type: application/json" \
-X POST https://app.beebole.com/graphql \
-d '{"query":"{ currentPerson{ id name email } }"}'B) Despliegue para un equipo (plan Team)
No hay un “instalar para toda la organización” de un click para un MCP propio: cada equipo lo corre en local (stdio) con la API key correspondiente. Para estandarizarlo en varios PCs:
Misma cuenta Beebole de empresa → repartid la misma API key (cada PC la pone en su
BEEBOLE_API_KEY; nunca en el repo).Cada persona con su propio usuario Beebole → cada PC usa su API key (el server actúa siempre como esa persona).
Para fijar la config en un repo compartido, commitea un
.mcp.json(scope project) sin la key y que cada entorno aporteBEEBOLE_API_KEYpor variable de entorno. La key es un secreto: nunca se commitea.
Alternativa centralizada: desplegar el modo HTTP en el VPS (un solo sitio) y que cada cliente Claude apunte ahí enviando su token por
X-Beebole-Key. Útil si no quieres instalar Node en cada PC; menos recomendable para datos GDPR sensibles.
Desarrollo
npm install
npm run build # tsc → dist/ (incluye schema.json para selección/búsqueda)
npm run typecheck
BEEBOLE_API_KEY=... npm run smoke # 9 checks de lectura e2e
BEEBOLE_API_KEY=... SMOKE_WRITE=1 npm run smoke # + ciclo de escritura (SOLO cuenta de pruebas)El smoke con SMOKE_WRITE=1 crea entidades ZZ_SMOKE_TEST_*, ficha, edita y
borra todo al terminar; úsalo solo en una cuenta de pruebas.
Modo HTTP (VPS)
MCP_TRANSPORT=http PORT=8087 node dist/index.js
# POST /mcp con cabecera X-Beebole-Key: <token> · GET /healthEstructura
src/
index.ts — entry point (stdio | HTTP)
client.ts — cliente GraphQL (auth apikey) + helpers de schema (selección/búsqueda/describe)
tools.ts — registro de las 27 tools (factoría buildServer(apiKey))
smoke.ts — test e2e contra la API real
schema.json — introspección de la API (bundleada; potencia selección + search/describe)Beebole API GraphQL — auth y endpoint verificados empíricamente 2026-06-25. Las
funciones de Beebole evolucionan; reverificar en app.beebole.com ante cambios.
Licencia
MIT · NeoNexAI Agency — ver LICENSE. Reporte de seguridad: SECURITY.md.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NeoNexAI/beebole-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server