Skip to main content
Glama
Willbrownfield007

kickserv-mcp

README.md
# kickserv-mcp

**An MCP server for [Kickserv](https://www.kickserv.com) field service management — lets AI agents (Claude, ChatGPT, and any MCP-compatible client) read and manage customers, jobs, and invoices.**

Ask your AI assistant things like:

> "Which invoices are overdue and who do I need to call?"
> "Create a job for Kelly Nakamura — toilet rebuild, estimate $265."
> "What's my active job pipeline worth right now?"

Zero dependencies. Plain Node 18+. Nothing to install.

## Quick start (demo / mock mode)

```bash
node src/index.js
```

With no credentials set, the server runs in **mock mode** — a realistic sample plumbing-company dataset — so you can demo the full agent experience without touching a live account.

### Connect to Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "kickserv": {
      "command": "node",
      "args": ["/absolute/path/to/kickserv-mcp/src/index.js"]
    }
  }
}
```

Restart Claude Desktop and ask: *"What's in my Kickserv account?"*

## Live mode

```bash
export KICKSERV_ACCOUNT=your-account-slug
export KICKSERV_API_TOKEN=your-api-token
node src/index.js
```

Live mode targets Kickserv's REST API using HTTP Basic auth with your API token. Verify endpoint paths against your account's [developer docs](https://help.kickserv.com/article/4-developer-api) before production use.

## Tools

| Tool | What it does |
|---|---|
| `list_customers` | List/search customers by name, contact, email, or address |
| `get_customer` | Full detail for one customer |
| `list_jobs` | List jobs, filter by status or customer |
| `get_job` | Full detail for one job |
| `create_job` | Create a new job for a customer |
| `list_invoices` | List invoices, filter by status (open/paid/overdue) or customer |
| `revenue_snapshot` | Open, overdue, and paid totals + active job pipeline value |

## Tests

```bash
npm test
```

Spawns the server over stdio and exercises the full protocol: initialize → tools/list → tool calls. 8 checks.

## Why this exists

AI agents are becoming the interface to business software. Field service platforms that agents can't talk to will lose deals to ones they can. This server is a working demonstration of what "agent-ready" looks like for a field service product — built as a portfolio piece by [Will Brownfield](mailto:willbrownfield@icloud.com), who builds MCP integrations for SaaS companies.

**Want your product to be agent-ready? Email me: willbrownfield@icloud.com**

## License

MIT

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: creating jobs, fetching individual customers or jobs, listing entities with filters, and a revenue summary. No two tools overlap in function.

Naming Consistency4/5

All tools use lowercase with underscores; most follow verb_noun pattern (e.g., create_job, list_customers). 'revenue_snapshot' is a noun_noun exception, but the overall style is consistent and predictable.

Tool Count5/5

With 7 tools covering customers, jobs, invoices, and a revenue report, the count is well-scoped for a focused business management service. It's neither too sparse nor overwhelming.

Completeness2/5

The tool set lacks update and delete operations for all entities, and there is no way to create a customer or invoice. This creates significant gaps in typical CRUD workflows that agents would likely need.

Maintenance

ActivityStale
ResponsivenessNo issues