jobkeepr-mcp
Enables AI assistants to read and manage a Jobkeepr field service business including jobs, customers, scheduling, estimates, invoices, and payments via MCP.
README
Jobkeepr MCP server
Connect Jobkeepr to Claude, ChatGPT, or any other MCP client, so an AI assistant can read and manage your field service business: jobs, customers, scheduling, estimates, invoices and payments.
Jobkeepr is field service management software for small contractor crews — handymen, TV installers, plumbers, electricians, HVAC techs — running one to ten people.
"What's on my schedule tomorrow?"
"Which service made me the most money last month?"
"Book Sarah Chen for a TV mount Thursday at 2pm."
"Mark today's jobs complete."
Two ways to connect
Remote (recommended). If your client supports remote MCP servers, point it straight at the hosted endpoint and skip this package entirely:
https://jobkeepr.com/mcp
It supports OAuth, so you sign in with your normal Jobkeepr login and approve access in the browser. Nothing to install.
stdio (this package). For clients that only speak stdio, this bridges to the same server using an API key.
Setup
Create an API key in Jobkeepr under Settings → API Keys. It's shown once, so copy it then.
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"jobkeepr": {
"command": "npx",
"args": ["-y", "jobkeepr-mcp"],
"env": {
"JOBKEEPR_API_KEY": "jk_live_your_key_here"
}
}
}
}
Claude Code
claude mcp add jobkeepr --env JOBKEEPR_API_KEY=jk_live_your_key_here -- npx -y jobkeepr-mcp
Or connect to the remote endpoint directly:
claude mcp add --transport http jobkeepr https://jobkeepr.com/mcp
Tools
Reading
| Tool | What it does |
|---|---|
get_business_context |
Business name, timezone, working hours, and today's date with resolved ranges for "this week", "last month" and so on |
get_jobs |
Jobs filtered by date, status, customer, type or source |
get_customers |
Search customers, optionally with job counts and totals |
get_schedule |
Scheduled jobs and open time slots |
get_estimates |
Estimates and their status |
get_invoices |
Invoices and unpaid balances |
get_payments |
Payments received |
get_line_items |
Line items across jobs, for margin and mix analysis |
get_reference_data |
Job types, job sources, and the price catalog |
Writing
| Tool | What it does |
|---|---|
create_job |
Book a job for a customer |
create_customer |
Add a customer |
create_estimate |
Create an estimate |
create_catalog_item |
Add a service or product to the price catalog |
add_line_items |
Add billable line items to a job |
set_job_source |
Record where a job came from |
reschedule_job |
Move a job to a new date or time |
cancel_job |
Cancel a scheduled job |
close_jobs |
Mark jobs complete |
The financial tools require the VIEW_FINANCIALS permission, and each write tool requires its matching permission. Tools you cannot use are not listed to you.
What it will not do
No tool here can text your customers. Sending SMS is deliberately excluded: it is the one action that reaches a real person and cannot be undone. Ask your assistant to draft a message and send it yourself from Jobkeepr.
Writes take effect immediately. There is no staging step and no undo, which is why cancel_job and close_jobs are marked destructive so your client prompts before running them. close_jobs can act on many jobs at once, so check the set before approving it.
Configuration
| Variable | Required | Default | Notes |
|---|---|---|---|
JOBKEEPR_API_KEY |
yes | — | From Settings → API Keys. Starts with jk_live_. |
JOBKEEPR_URL |
no | https://jobkeepr.com |
Override only for self-hosted or staging. |
An API key acts on one account and carries owner-level access. Revoke it any time in Settings → API Keys. To give an assistant narrower, per-user access instead, use the remote endpoint with OAuth.
How it works
This package is a proxy, not a reimplementation. The tools live on the hosted server; this bridges stdio to it. That means the tool set here is always current and this package rarely needs a release.
Development
npm install
npm run build
JOBKEEPR_API_KEY=jk_live_... node dist/index.js
Test interactively with the MCP Inspector:
JOBKEEPR_API_KEY=jk_live_... npx @modelcontextprotocol/inspector node dist/index.js
Links
MIT licensed.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.