Jobber MCP Server
Jobber MCP Server: conecta Claude, ChatGPT o Copilot a Jobber
Creado por Adeocode: software a medida para empresas de servicios para el hogar
Creamos integraciones y sistemas internos para empresas de climatización (HVAC), fontanería, tejados, revestimientos, vallado y paisajismo, sobre las herramientas que ya utilizan. El cliente es el propietario del código, incluido este conector. Reserva una llamada de 15 minutos
Servidor de código abierto del Model Context Protocol que permite a Claude, ChatGPT o Microsoft Copilot leer datos en vivo de Jobber: clientes, trabajos, presupuestos, facturas, ingresos y la agenda. Haz la pregunta en lenguaje natural y obtén la respuesta desde tu cuenta, sin exportar nada a una ventana de chat.
TL;DR: 12 herramientas. Solo lectura, por lo que no puede modificar tu cuenta. Se ejecuta en tu máquina mediante stdio, o como servidor remoto a través de Streamable HTTP para ChatGPT y Copilot Studio. Gestiona el presupuesto de cada consulta frente al límite de 10.000 puntos de Jobber, que es la parte en la que casi todas las integraciones con Jobber se equivocan. Los tokens OAuth se cifran en reposo con AES-256-GCM. Sin servidor de retransmisión ni intermediarios. Con licencia MIT, gratis para siempre.
A quién va dirigido: a propietarios y gerentes de oficina que llevan un negocio con Jobber, y a los desarrolladores que construyen para ellos. Si puedes pegar un bloque en un archivo de configuración, puedes usarlo.
[!TIP] ¿No eres desarrollador? No hace falta que lo seas.
Los pasos siguientes asumen que hay alguien cómodo editando un archivo JSON. Si ese no es tu caso, nosotros lo configuramos por ti: tu propia app de Jobber, credenciales con permisos limitados y una persona de tu equipo que recorra el proceso contigo.
Mira lo que creamos sobre la API de Jobber o reserva una llamada de 15 minutos
Salta a: Lo que puedes preguntarle . Por qué este es diferente . Seguridad . Configuración . Herramientas . Tabla de costes . ¿Necesitas algo más que el conector?
Lo que puedes preguntarle
Una vez conectado, estas se convierten en preguntas de una sola línea en lugar de nueve clics.
Dinero
"¿Qué facturas llevan más de 30 días vencidas?"
"¿Cuánto se nos debe ahora mismo?"
"¿Qué facturamos el último trimestre?"
"Muéstrame los ingresos por mes de este año"
Presupuestos
"¿Qué presupuestos enviamos y nunca obtuvimos respuesta?"
"¿Cuál es el presupuesto más antiguo que sigue esperando la respuesta de un cliente?"
"¿Cuánto dinero hay en presupuestos pendientes?"
Clientes
"Muéstrame Harbour Coatings"
"Resume nuestro historial con este cliente"
"¿Qué les cobramos la última vez?"
"Encuentra el contacto con este número de teléfono"
Trabajo
"¿Qué hay en la agenda esta semana?"
"¿Cuántos trabajos reservamos el mes pasado, por estado?"
"¿Hay solicitudes nuevas que no haya visto?"
"¿Qué hay sin programar ahora mismo?"
Cada respuesta proviene de los datos en vivo de Jobber en cada solicitud. No se guarda nada en caché y el conector no almacena nada sobre tu cuenta.
Related MCP server: Jobber MCP Connector
Por qué este es diferente
Jobber mide su API por coste de consulta, no solo por el número de solicitudes. Tienes 10.000 puntos. Se recargan a 500 puntos por segundo. Un límite separado te fija un máximo de 2.500 solicitudes cada 5 minutos.
Eso importa más de lo que parece. Construimos integraciones con Jobber en producción y registramos el coste de cada llamada en una de elas. Una sola carga de un panel de KPI midió entre 13.456 y 20.762 puntos en 41 a 52 llamadas a la API. Una sola pantalla, contra un presupuesto de 10.000 puntos.
Y luego está la parte en la que casi todo el mundo tropieza. Cuando Jobber te limita la velocidad, responde con HTTP 200 y coloca el error en el cuerpo de la respueta. Las librerías de reintentos se basan en los códigos de estado, interpretan el 200 como éxito y no devuelven nada.
Este conector está construido en torno a ambos hechos:
Cada herramienta declara su coste máximo y comprueba el presupuesto restante antes de gastar nada.
Se detecta la señal de limitación dentro de un 200, se espera a que se reponga el saldo y se reintenta la llamada una vez.
Los tamaños de página están limitados por herramienta, para que una pregunta no agote el saldo de la siguiente.
Si la espera fuera demasiado larga, lo avisa y falla rápido en lugar de quedarse colgado.
Las mediciones completas son públicas: Límites de uso de la API de Jobber, medidos en producción.
También puedes consultar el coste medido de cada herramienta más abajo. Esos números provienen de un script que ejecuta cada herramienta contra una cuenta real, no de una estimación.
Seguridad: qué puede y qué no puede hacer
Es de solo lectura. La versión 1 incluye únicamente herramientas de lectura. Puede consultar, contar y resumir. No puede crear un trabajo, enviar una factura ni mover una vista, así que el peor fallo es una respueta equivocada, no una acción equivocada. Las herramientas de escritura llegarán de una en una, cada una tras un paso de aprobación explícito y con su registro.
El modelo nunca escrib e sus propias consultas. Cada documiento GraphQL está fijado y revisado en src/jobber/queries.ts. El modelo elig e qué herramienta llamar y qué argumentos pasar, y eso es todo. No existe una herramienta de consulta en bruto, lo que mantiene tanto el acceso como el coste de la API predecibles.
Tus credenciales permanecen en tu máquina. Tú registras tu propia app de desarrollador de Jobber. Un administrador de la cuenta de Jobber la aprueba a través de la propia página de inicio de sesión de Jobber, por lo que el conector nunca ve una contras eña. Los tokens se cifran con AES-256-GCM en reposo en ~/.jobber-mcp/, y la clave reside en el llavero de tu sistema operativo en lugar de en disco en texto plano.
Nada pasa por nosotras. El conector se ejecuta en tu hardware y habla directamente con Jobber. No hay ningún servicio en la nube de Adeocode en el medio, porque no hay ningún servicio en la nube en absoluto.
Cada llamada se registra localmente. ~/.jobber-mcp/audit.log registra cada llamada a una herramienta con una marca de tiempo, los argumentos y el resultado. Los tokens y secretos nunca se escriben en él, y el término de búsqueda de find_client se hashiza en lugar de almacenarse, ya que puede contener el nombre o el número de teléfono de un cliente. Puedes leerlo con la herramienta get_audit_log.
Un límite honesto. El conector lee lo que expone la API de Jobber. La utilización de los equipos, las horas por persona y el coste o beneficio por trabajo no están ahí. Eso requiere un trabajo que va más allá de un conector, y se trata al final de esta página.
Requisitos
Node.js 18 o posterior: nodejs.org/en/download
Un cliente MCP: Claude Desktop, Claude Code, Cursor, ChatGPT (modo desarrollador) o Microsoft Copilot Studio
Una cuenta de Jobber con acceso a la API y alguien que pueda aprobar una app de desarrollador en ella. Jobber restringe el acceso completo a la API a su plan superior, así que comprueba primero tu plan en getjobber.com/pricing
Configuración
Tres pasos, unos quince minutos la primera vez.
Paso 1: Registra una app de desarrollador de Jobber
Ve a developer.getjobber.com e inicia sesión con una cuenta de administrador de Jobber.
Crea una app nueva. Ponle un nombre que reconozcas, por ejemplo
Claude Connector.Configura la URI de redirección exactamente como
http://127.0.0.1:5679/callbackGuarda y copia el Client ID y el Client Secret.
Paso 2: Añádelo a tu cliente de IA
Claude Desktop. Abre tu archivo de configuración:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Añade esto dentro de mcpServers, con tus propios valores:
{
"mcpServers": {
"jobber": {
"command": "npx",
"args": ["-y", "@adeocode/jobber-mcp"],
"env": {
"JOBBER_CLIENT_ID": "your-jobber-client-id",
"JOBBER_CLIENT_SECRET": "your-jobber-client-secret"
}
}
}
}Si ya hay otros servidores configurados, añade una coma después del último antes de agregar este bloque. Luego cierra Claude Desktop por completo y vuelve a abrirlo.
Claude Code: claude mcp add jobber -- npx -y @adeocode/jobber-mcp
Cursor: el mismo bloque JSON, en la configuración de MCP de Cursor.
ChatGPT y Microsoft Copilot Studio: ambos se conectan solo a servidores remotos, así que usa el transporte HTTP de más abajo.
Paso 3: Inicia sesión una vez
En una conversación nueva, di:
authenticate with JobberTu navegador abre la página de inicio de sesión de Jobber. Un administrador de Jobber aprueba la app. Cuando diga que la conexión se ha realizado correctamente, vuelve a tu asistente y prueba:
which invoices are past 30 days?Para comprobar la conexión más tarde, pide auth_status.
[!TIP] ¿Atascado, o quieres que quede bien hecho a la primera?
Registramos la app, la conectamos a tu cuenta y acompañamos a una persona de tu equipo durante el proceso. Luego te mostramos lo que aún no puede responder, que suele ser la parte interesante.
Consulta el servicio Jobber AI o reserva una llamada de 15 minutos
Transporte HTTP, para ChatGPT y Copilot Studio
El modo desarrollador de ChatGPT y Microsoft Copilot Studio requieren un servidor accesible a través de internet, así que ejecuta el conector en modo HTTP y apúntalos a <MCP_BASE_URL>/mcp.
TRANSPORT=http \
MCP_BASE_URL=https://your-host.example.com \
MCP_API_KEY="$(openssl rand -hex 32)" \
JOBBER_CLIENT_ID=your-client-id \
JOBBER_CLIENT_SECRET=your-client-secret \
npx -y @adeocode/jobber-mcpLee esto antes de exponerlo públicamente. El servidor se niega a arrancar en modo HTTP sin MCP_API_KEY, porque dejarla sin definir abriría /mcp, y todo lo que puede leer de Jobber, a cualquiera que alcance el puerto. Define MCP_ALLOW_NO_API_KEY=true solo cuando algo más ya imponga autenticación delante. /mcp, /oauth/start y /oauth/callback rechazan las solicitudes cuya cabecera Host u Origin no coincida con MCP_BASE_URL, como protección contra DNS rebinding. Usa HTTPS: la cookie de vinculación del callback de OAuth solo se marca como Secure cuando lo haces. Cada sesión está vinculada a un hash de la API key presentada cuando se creó, por lo que una mcp-session-id filtrada no puede reproducirse por sí sola, y las sesiones se eliminan tras 30 minutos de inactividad o 24 horas en total. /health devuelve {ok: true} y nada más.
Herramientas disponibles
Tu asistente elige estas herramientas automáticamente a partir de la pregunta. Nunca las llamas por su nombre.
Lectura de tu cuenta (8 herramientas)
Tool | Inputs | What it does |
|
| Busca clientes por nombre, correo electrónico o teléfono. Devuelve datos de contacto y direcciones |
|
| Trabajos, presupuestos, facturas y pagos de un cliente |
|
| Facturas impagadas pasada su fech a de vencimient o, las más antiguas primero, con el total de la página arriba |
|
| Presupuestos enviados que siguen esperando respueta del cliente, con antigu ed ad e importes |
|
| Trabajos agrupados por estado en un rango de fechas, con recuentos y totales |
|
| Facturas pagadas agrupadas por mes y trimestre, con totales |
|
| Visitas y evaluaciones para un rango de fechas, agrupadas por día |
|
| Solicitudes nuevas y no programadas, en dos secciones paginadas por separado |
Gestión de la conexión (4 herramientas)
Tool | Qué hace |
| Abre la página de inicio de sesión de Jobber y guarda las credenciales aprobadas, cifradas |
| Indica si está conectado y cuándo caduca el token |
| Revoca en Jobber cuando es posible y luego borra los tokens locales |
| Lee el registro propio de este servidor de cada llamada realizada, filtrado por fecha y paginado |
Recursos
URI | Qué contiene |
| Estado de autenticación en vivo como JSON |
| Aviso en lenguae sencillo de que este conector es de solo lectura y dónde se entientra el registo de auditoía |
| Aviso en lenguaje sencillo de que este conector es de solo lectura y dónde se encuentra el registro de auditoría |
Wait, I made a typo. Need to correct. Let's redo that table properly.
URI | Qué contiene |
| Estado de autenticación en vivo como JSON |
| Aviso en lenguaje sencillo de que este conector es de solo lectura y dónde se encuentra el registro de auditoría |
Better.
Paginación
Cada herramienta de listado acepta un cursor opcional. Cuando hay más registros de los que caben en una página, la respuesta incluye tanto una note ("N more available") como un next_cursor. Pasa ese valor de vuelta como cursor en la siguiente llamada y repite hasta que no vuelva ningún next_cursor.
client_history divide esto en jobs_cursor, quotes_cursor, invoices_cursor y payments_cursor, uno por sección, y requests_inbox usa cursor para las solicitudes nuevas y unscheduled_cursor para las no programadas. payments_cursor se comporta de forma distinta a las demás: los pagos están anidados por factura sin conexión a nivel de cliente, así que pasarlo obtiene más pagos de la factura que tuviera más, y esa respuesta contiene solo la sección payments. Cada pago incluye invoice_id e invoice_number para poder vincularlo.
Wait, the input says "requests_inbox" not "requests_inbox"? It's requests_inbox. I wrote "requests_inbox" in the text? Let's check: I wrote "requests_inbox"? Actually in the paragraph I typed requests_inbox? Need to ensure exact spelling. The input: "client_history splits this into jobs_cursor, quotes_cursor, invoices_cursor and payments_cursor, one per section, and requests_inbox uses cursor for new requests and unscheduled_cursor for unscheduled ones." So code spans: requests_inbox yes. I must preserve exactly. My draft above had "requests_inbox" maybe. Let's be careful.
Let's collect the full output systematically, ensuring no typos.
I'll now write the final answer cleanly.| Tool | Qué hace |
| --------------- | ---------------------------------------------------------------------------------- |
| authenticate | Abre la página de inicio de sesión de Jobber y guarda las credenciales aprobadas, cifradas |
| auth_status | Indica si está conectado y cuándo caduca el token |
| logout | Revoca en Jobber cuando es posible y luego borra los tokens locales |
| get_audit_log | Lee el registro propio de este servidor de cada llamada realizada, filtrado por fecha y paginado |
Recursos
URI | Qué contiene |
| Estado de autenticación en vivo como JSON |
| Aviso en lenguaje sencillo de que este conector es de solo lectura y dónde se encuentra el registro de auditoría |
Paginación
Cada herramienta de listado acepta un cursor opcional. Cuando hay más registros de los que caben en una página, la respuesta incluye tanto una note ("N more available") como un next_cursor. Pasa ese valor de vuelta como cursor en la siguiente llamada y repite hasta que no vuelva ningún next_cursor.
client_history divide esto en jobs_cursor, quotes_cursor, invoices_cursor y payments_cursor, uno por sección, y requests_inbox usa cursor para las solicitudes nuevas y unscheduled_cursor para las no programadas. payments_cursor se comporta de forma distinta a las demás: los pagos están anidados por factura sin conexión a nivel de cliente, así que pasarlo obtiene más pagos de la factura que tuviera más, y esa respuesta contiene solo la sección payments. Cada pago incluye invoice_id e invoice_number para poder vincularlo.
Tabla de costes
Medidos, no estimados. Generados ejecutando cada herramienta contra una cuenta real de Jobber con registro de coste por llamada, respecto al presupuesto de 10 000 puntos descrito arriba.
Tool | Coste típico | Coste máximo |
| 334 | 500 |
| 27 | 50 |
| 14-26 | 26 |
| 186 | 250 |
| 206 | 250 |
| 66 | 400 |
| 86 | 500 |
| 188 | 1200 |
| 124 | 400 |
Regenera con npm run build && npm run measure-costs. No los escribas a mano.
Configuración
Cada variable está documentada en .env.example. Si ejecutas el servidor compilado directamente con npm start en lugar de hacerlo mediante un cliente que pase las variables de entorno por sí mismo, .env se lee desde junto a package.json en el directorio del paquete instalado, no desde tu directorio de trabajo. Ponlo ahí, o exporta las variables en tu shell.
Variable | Obligatoria | Valo por defecto | Descripción |
| sí | - | ID de cliente de la aplicación de desarrollador de Jobber |
| sí | - | Secreto de cliente de la aplicación de desarrollador de Jobber |
| no |
| Pueto local para la devolución de llamada OAuth de stdio |
| no | El endpoint de autorización de Jobber | Anulación del endpoint de autorización OAuth |
| no | El endpoint de token de Jobber | Anulación del endpoint de token OAuth |
| no | El endpoint de GraphQL de Jobber | También lo usa la revocación de mejor esfuerzo de |
| no |
| Versión fijada |
| no | generada automáticamente | Clave AES-256 de 64 caracteres hexadecimales, que anula el llavero del sistema operativo. Para CI e instaciones headless |
| no |
| Impide que se registre cualquier herramienta de escritura. La versión 1 no tiene herramientas de escritura en cualquier caso |
| no |
|
|
| en modo HTTP | - | URL base accesible externamente, usada para construir la URI de redirección OAuth |
| no |
| Puerto del transporte HTTP |
| en modo HTTP | - | Token Bearer requerido en |
| no | - |
|
| no | - | Valores |
I made many typos there. Need to carefully write again. Better to compose with proper spelling.
Let's slow down and correct.
I need to output the final answer exactly. Let's redo the configuration table carefully.
Original:
Variable | Required | Default | Description |
| yes | - | Jobber developer app client ID |
... |
I'll reproduce without typos.
Let's rewrite the entire final answer from scratch, carefully, in the final| Tool | Qué hace |
| --------------- | ---------------------------------------------------------------------------------- |
| authenticate | Abre la página de inicio de sesión de Jobber y guarda las credenciales aprobadas, cifradas |
| auth_status | Indica si está conectado y cuándo caduca el token |
| logout | Revoca en Jobber cuand o es posile y luego borra los tokens locales |
| get_audit_log | Lee el registro propío de este servidor de cada llamada realizada, filtrado por fecha y paginado |
Recursos
URI | Qué contiene |
| Estado de autenticación en vivo como JSON |
| Aviso en lenguaje sencillo de que este conector es de solo lectura y dónde se encuentra el registro de auditoría |
Paginación
Cada herramienta de listado acepta un cursor opcional. Cuand o hay más registros de los que caben en una página, la respuesta incluye tanto una note ("N more available") como un next_cursor. Pasa ese valor de vuelta como cursor en la siguiente llamada y repite hasta que no vuelva ningún next_cursor.
client_history divide esto en jobs_cursor, quotes_cursor, invoices_cursor y payments_cursor, uno por sección, y requests_inbox usa cursor para las solicitudes nuevas y unscheduled_cursor para las no programadas. payments_cursor se comporta de forma distinta a las demás: los pagos están anidados por factura sin conexión a nivel de cliente, así que pasarlo obtiene más pagos de la factura que tuviera más, y esa respuesta contiene solo la sección payments. Cada pago incluye invoice_id e invoice_number para poder vincularlo.
Tabla de costes
Medidos, no estimados. Generados ejecutando cada herramienta contra una cuenta real de Jobber con registro de coste por llamada, respecto al presupuesto de 10 000 puntos descrito arriba.
Tool | Coste típico | Coste máximo |
| 334 | 500 |
| 27 | 50 |
| 14-26 | 26 |
| 186 | 250 |
| 206 | 250 |
| 66 | 400 |
| 86 | 500 |
| 188 | 1200 |
| 124 | 400 |
Regenera con npm run build && npm run measure-costs. No los escribas a mano.
Configuración
Cada variable está documentada en .env.example. Si ejecutas el servidor compilado directamente con npm start en lugar de hacerlo mediante un cliente que pase las variables de entorno por sí mismo, .env se lee desde junto a package.json en el directorio del paquete instalado, no desde tu directorio de trabajo. Ponlo ahí, o exporta las variables en tu shell.
Variable | Obligatoria | Valo por defecto | Descripción |
| sí | - | ID de cliente de la aplicación de desarrollador de Jobber |
| sí | - | Secreto de cliente de la aplicación de desarrollador de Jobber |
| no |
| Pueto local para la devolución de llamada OAuth de stdio |
| no | El endpoint de autorización de Jobber | Anulación del endpoint de autorización OAuth |
| no | El endpoint de token de Jobber | Anulación del endpoint de token OAuth |
| no | El endpoint de GraphQL de Jobber | También lo usa la revocación de meor esfuerzo de |
| no |
| Versión fijada |
| no | generada automáticamente | Clave AES-256 de 64 caracteres hexadecimales, que anula el llavero del sistema operativo. Para CI e instaciones headless |
| no |
| Impide que se registre cualquier herramienta de escritura. La versión 1 no tiene herramientas de escritura en cualquier caso |
| no |
|
|
| en modo HTTP | - | URL base accesible externamente, usada para construir la URI de redirección OAuth |
| no |
| Pueto del transporte HTTP |
| en modo HTTP | - | Token Bearer requerido en |
| no | - |
|
| no | - | Valores |
Solución de problemas
"API budget refilling, try again in Ns." El límite de frecuenia basado en costes de Jobber está haciendo su trabajo. El conector controla el presupuesto y espera automáticamente las recargas cortas de 5 segundos o menos, incluida la respuesta THROTTLED que Jobber enví a dentro de un HTTP 200. Solo ves este mensaje cuand o la espera duraría más que eso, en cuyo caso falla rápido en lugar de quedarse colgado. Inténtalo de nuevo en breve.
"Jobber restricts this data to accounts on its top-tier plan." Jobber restringe el acceso completo a la API a su plan superor. Comprueba el tuyo en getjobber.com/pricing.
OAuth loops back to an error page. Comprueba que JOBBER_CLIENT_ID y JOBBER_CLIENT_SECRET coinciden exactamente con tu aplicación de desarrollador, y que la URI de redirección registrada en Jobber coinc ide con la que usa el conector. En modo HTTP se deriva de MCP_BASE_URL.
Port 5679 is already in use. Establece JOBBER_REDIRECT_PORT en un pueto libre y actualiza la URI de redirección en tu aplicación de Jobber para que coincida.
"Token file exists but decryption failed." La clave de cifrado ya no coinc ide con la que escribió el archivo de token, normal mente porque se eliminó la entrada del llavero, cambió la máquina o ENCRYPTION_KEY se configuró de otra forma. Ejecuta logout y luego authenticate de nuevo.
Registro de auditoría
Cada llamada a una herramienta se escribe como JSONL en ~/.jobber-mcp/audit.log, con el directorio en 0700 y el archivo en 0600. Los tokens de acceso, los tokens de actualización, los secretos de cliente, las contraseñas y las claves de cifrado nunca se escriben en él. Consulta src/utils/auditLog.ts para ver la lista de redación. El search_term de find_client se almacena con hash en lugar de en texto plano, de modo que puede correlacionarse entre entradas sin exponer el nombre, el correo electrónico o el teléfono de un cliente. Trata el registro como información sensible para el negocio y restringe el acceso a la máquina en consecuéncia.
El archivo rota cuando supera los 10 MB: el actual se convierte en audit.log.1, sobrescribiendo cualquier rotación anterior, y comienza un registro nuevo. Se trata de una rotación de una sola generación, no de una configuración logrotate completa. Puedes leerlo con la herramienta get_audit_log. En la respuesta aparece un contador corrupted_lines cuando alguna línea no se puede analizar, por ejemplo por una escritura interrumpida a mitad de línea.
¿Necesitas algo más que el conector?
Este conector lee tu cuenta de Jobber. No construye nada sobre esos datos, y las preguntas que más les importan a los propietarios suelen quedarse justo fuera de lo que expone la API: utilización del equipo, horas por persona, coste y beneficio por trabajo, o un panel que sigue siendo rápido porque sincroniza en su propía base de datos en segundo plano.
Eso es el trabajo que hacemos. Mira lo que construimos sobre la API de Jobber, lee la visión general con la lista completa de herramientas y preguntas frecuentes, o reserva una llamada de 15 minutos y trae la pregunta que más te gustaría que Jobber pudiera responder. Si un Zap lo cubre, lo sabrás antes.
Gratis para siempre
El código de este repositorio sigue siendo MIT, y sus nuevas versiones también siguen siendo MIT. Nada de lo que hay aquí está limitado, restringido en el tiempo o reservado para un plan de pago. Ganamos dinero construyendo los sistemas que esto no puede construir.
Cómo apoyar este proyecto
No aceptamos donaciones. Si te ha ahorrado tiempo, lo que realmente ayuda:
Pon una estrella al repositorio. Así es como otros negocios lo encuentran.
Cuéntaselo a otro negocio que use Jobber.
Abre un isue cuand o te encuentres con un caso de la API de Jobber que esto gestione mal.
Quiénes somos
Adeocode desarrolla software a medida para negocios de servicios para el hogar: HVAC, fontanería, tejados, revestimientos, cercados, jardinería y los oficios afines. Integraciones, paneles y sistemas internos construidos en torno a cómo funciona ya un negocio, propiedad total del cliente.
Somos desarrolladores independientes. No estamos afiliados a Jobber, Housecall Pro, ServiceTitan ni Anthropic, y no recibimos ninguna comisión por referidos de ninguno de ellos. Todo lo que publicamos sobre sus productos lleva la fecha en que lo verificamos.
Web: adeocode.com
Reserva una llamada: 15 minutos con un fundador
Contribuciones
Las isues y las pull requests son bienvenidas. Si te encuentras con un caso límite de la API de Jobber que esto gestione mal, abre una isue con el escenario y una petición de ejemlo. Las herramientas de solo lectura que encajen en el alcance de la versión 1 son bienvenidas como pull requests.
Desarrollo
npm install
npm test
npm run build
npm run lintCada documento GraphQL en src/jobber/queries.ts se verifica contra GraphiQL del Developer Center de Jobber en la versión fijada JOBBER_GRAPHQL_VERSION antes de publicarse. Se completó un pase de reverificación completo que cubre todos los documentos el 2026-08-26, incluidos schedule_lookup y requests_inbox después de sus cambios de paginación y zona horaria. No queda ningún marcador VERIFY-IN-GRAPHIQL.
Licencia
MIT (c) Adeocode. Ver LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables AI assistants to access and manage Jobber field-service data including clients, jobs, invoices, and quotes through natural language interactions.654MIT
- FlicenseNot gradedqualityFmaintenanceConnects Claude to Jobber to manage clients, jobs, invoices, quotes, and scheduling through natural language.
- AlicenseAqualityBmaintenanceConnect an AI assistant to your Jobber account to query clients, jobs, invoices, and more in plain English, with optional write actions for creating clients and jobs.12MIT
- AlicenseAqualityBmaintenanceEnables AI assistants like Claude to read and optionally write data in FieldRoutes (formerly PestRoutes) using plain English, with read-only mode by default and granular safety profiles.39MIT
Related MCP Connectors
Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.
Connect your AI assistants to Keboola and expose your data, transformations, SQL queries, ...
Talk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/adeocode/jobber-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server