Kickserv MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026

Look up Kickserv customers, jobs, notes and time entries, and create jobs, tasks and charges.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Hosted Kickserv MCP server that lets an assistant look up customers, jobs, notes and time entries, and create or update customers, jobs, tasks, notes, time…

What you can do
  • Search and read customers, including related contacts, jobs, tasks and notes
  • List and read jobs (work orders, estimates, invoices) with customer, employees, charges and time entries
  • Read notes and logged time entries on customers and jobs, plus tasks, employees and price-list items
  • Create and update customers and jobs, including rescheduling and reassigning employees
  • Add customer and job notes, create tasks, log time and add job charges
  • Check usage, request a feature, upgrade or cancel the subscription
When to use it
Useful when a field-service or contracting business runs on Kickserv and wants to ask an assistant about scheduled jobs, customer history, technician hours or job statuses, or to have it draft jobs, tasks and notes without opening the app.
Requirements
Remote MCP endpoint connected by URL only; sign-in is via OAuth, and on first connect you supply your Kickserv account slug and employee API token. No local install. A free plan allows 50 tool calls per month; paid plans raise the limit.
Before you install
Ten of the tools write to Kickserv: they create or update customers and jobs, add notes, tasks, time entries and job charges, and can change estimate or invoice totals. Notes marked public become visible to the customer. The server stores your Kickserv account slug and API token per user. Paid plans are billed through Stripe checkout links, and cancelling gives no refund for the current period.

Installation

In SourceWeft

  1. Open Kickserv MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fkickserv/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "kickserv-by-usefulapi": {
      "type": "http",
      "url": "https://kickserv.usefulapi.io/mcp"
    }
  }
}

README

Kickserv MCP by usefulapi

Use Kickserv from Claude, Cursor, or any MCP client — look up customers, jobs, notes and time entries, and create or update customers, jobs, tasks, notes, time and charges. Hosted, no local install: connect with your own Kickserv credentials.

Live endpoint: https://kickserv.usefulapi.io/mcp · Homepage: https://usefulapi.io/kickserv

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://kickserv.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http kickserv https://kickserv.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "kickserv": {      "url": "https://kickserv.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Kickserv credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/kickserv/

On first connect you'll provide your Kickserv account slug (from app.kickserv.com/) and employee API token (My Account > API token). They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
kickserv_list_customersreadList customers
kickserv_get_customerreadGet a customer
kickserv_list_customer_jobsreadList a customer's jobs
kickserv_list_jobsreadList jobs
kickserv_get_jobreadGet a job
kickserv_list_customer_notesreadList a customer's notes
kickserv_list_job_notesreadList a job's notes
kickserv_list_job_time_entriesreadList a job's time entries
kickserv_get_taskreadGet a task
kickserv_list_employeesreadList employees
kickserv_list_itemsreadList items
kickserv_create_customerwriteCreate a customer
kickserv_update_customerwriteUpdate a customer
kickserv_add_customer_notewriteAdd a note to a customer
kickserv_create_jobwriteCreate a job
kickserv_update_jobwriteUpdate a job
kickserv_add_job_notewriteAdd a note to a job
kickserv_create_taskwriteCreate a task
kickserv_log_time_entrywriteLog time on a job
kickserv_add_job_chargewriteAdd a charge to a job
kickserv_usage_statusmetaUsage status (free-tier meter)
kickserv_request_featuremetaRequest a missing feature
kickserv_upgrademetaUpgrade to Pro or Pro+
kickserv_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run kickserv_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with kickserv_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with kickserv_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Kickserv.

Source: servers/kickserv/README.md at commit f22f848

Tools

20

kickserv_list_customers

List customers

List or search customers, 30 per page. Every filter is an exact match on that field. Use `only` to keep the response small. Kickserv: GET /{account}/customers.xml.

Parametersnameonlypageincludebilling_cityphone_numberservice_citybilling_stateemail_addressservice_statecustomer_numberservice_zip_code

kickserv_get_customer

Get a customer

Fetch one customer by customer number, optionally with related contacts, jobs, tasks and notes. The result's `id` is what job/task create calls need as `customer_id`. Kickserv: GET /{account}/customers/{customer_number}.xml.

Parametersincludecustomer_numberrequired

kickserv_list_customer_jobs

List a customer's jobs

List the jobs for one customer, 30 per page. Kickserv: GET /{account}/customers/{customer_number}/jobs.xml.

Parametersonlypageincludecustomer_numberrequired

kickserv_list_jobs

List jobs

List jobs (work orders, estimates, invoices), 30 per page, filterable by schedule window, status, assigned employee, category (job type) or job status. Kickserv: GET /{account}/jobs.xml.

Parametersonlypagestatusincludescheduledjob_type_idjob_status_idemployee_number

kickserv_get_job

Get a job

Fetch one job by job number, optionally with its customer, assigned employees, job charges (line items), time entries and notes. Kickserv: GET /{account}/jobs/{job_number}.xml.

Parametersincludejob_numberrequired

kickserv_list_customer_notes

List a customer's notes

List the notes on one customer. Kickserv: GET /{account}/customers/{customer_number}/notes.xml.

Parameterscustomer_numberrequired

kickserv_list_job_notes

List a job's notes

List the notes on one job. Kickserv: GET /{account}/jobs/{job_number}/notes.xml.

Parametersjob_numberrequired

kickserv_list_job_time_entries

List a job's time entries

List the time entries (hours logged by technicians) on one job. Kickserv: GET /{account}/jobs/{job_number}/time_entries.xml.

Parametersjob_numberrequired

kickserv_get_task

Get a task

Fetch one task (appointment / to-do attached to a job) by id. Kickserv: GET /{account}/tasks/{task_id}.xml.

Parameterstask_idrequired

kickserv_list_employees

List employees

List all employees (technicians and office staff), active and inactive. Use their `id` for job/task assignment and time entries, and `employee_number` to filter jobs. Kickserv: GET /{account}/employees.xml.

Takes no parameters.

kickserv_list_items

List items

List products/services (the price list used for job charges), 30 per page. Active items only by default. Kickserv: GET /{account}/items.xml.

Parametersnamepagewhich

kickserv_create_customer

Create a customer

WRITE: create a new customer. Kickserv assigns the customer number. Kickserv: POST /{account}/customers.xml.

Parametersfaxnamerequiredmobilecompanycontactis_activelast_namefirst_namealt_contactbilling_citycompany_namephone_number+19 more

kickserv_update_customer

Update a customer

WRITE: update fields on an existing customer. Only the fields you pass change. Balances, credit limit and custom fields are not settable here. Kickserv: PATCH /{account}/customers/{customer_number}.xml.

Parametersfaxnamemobilecompanycontactis_activelast_namefirst_namealt_contactbilling_citycompany_namephone_number+20 more

kickserv_add_customer_note

Add a note to a customer

WRITE: add a note to a customer. Set `public` to true to make it visible to the customer. Kickserv: POST /{account}/customers/{customer_number}/notes.xml.

Parametersnoterequiredpubliccustomer_numberrequired

kickserv_create_job

Create a job

WRITE: create a job (work order) for a customer. `customer_id` is the customer's internal `id` (from kickserv_get_customer), not the customer number; `job_type_id` is the job category. Set `estimate` to create it as an estimate. Kickserv: POST /{account}/jobs.xml.

Parametersnameends_atdurationestimatepo_numbercustomer_idrequireddescriptionjob_type_idrequiredemployee_idsscheduled_on

kickserv_update_job

Update a job

WRITE: update an existing job — reschedule it, rename it, change its description, category or custom job status, or reassign employees (employee_ids replaces the assignment). Totals, tax and payment fields are not settable here. Kickserv: PATCH /{account}/jobs/{job_number}.xml.

Parametersnameends_atdurationpo_numberjob_numberrequireddescriptionjob_type_idemployee_idsscheduled_onjob_status_id

kickserv_add_job_note

Add a note to a job

WRITE: add a note to a job. Set `public` to true to make it visible to the customer. Kickserv: POST /{account}/jobs/{job_number}/notes.xml.

Parametersnoterequiredpublicjob_numberrequired

kickserv_create_task

Create a task

WRITE: create a task (appointment / to-do) on a job and optionally assign employees. `job_id` is the job's internal `id` (from kickserv_get_job), not the job number. Kickserv: POST /{account}/tasks.xml.

Parametersnamerequiredjob_idrequiredends_atdurationcustomer_iddescriptionemployee_idsscheduled_attask_type_idrequired

kickserv_log_time_entry

Log time on a job

WRITE: log hours worked by an employee on a job. `employee_id` is the employee's `id` from kickserv_list_employees. Kickserv: POST /{account}/jobs/{job_number}/time_entries.xml.

Parametersnotemileagebillableended_onjob_numberrequiredstarted_onrequiredemployee_idrequirednumber_of_hoursrequiredtime_entry_type_id

kickserv_add_job_charge

Add a charge to a job

WRITE: add a charge (line item — a product, service or part) to a job. This changes the job's estimate/invoice total; it does NOT charge the customer's card. Pick `item_id` from kickserv_list_items. Kickserv: POST /{account}/jobs/{job_number}/job_charges.xml.

Parametersdetailsitem_iddiscountquantityjob_numberrequireddescriptionprice_per_unitjob_charge_type_idrequired

Version history

25
  1. v1.39.1LatestNov 13, 2026
  2. v1.38.0Nov 12, 2026
  3. v1.37.3Nov 11, 2026
  4. v1.36.5Nov 8, 2026
  5. v1.36.4Nov 7, 2026
  6. v1.35.3Nov 5, 2026
  7. v1.35.2Nov 5, 2026
  8. v1.35.1Nov 4, 2026
  9. v1.35.0Nov 3, 2026
  10. v1.34.1Nov 3, 2026
  11. v1.33.0Nov 1, 2026
  12. v1.31.0Oct 31, 2026
  13. v1.30.0Oct 31, 2026
  14. v1.29.2Oct 30, 2026
  15. v1.29.0Oct 30, 2026
  16. v1.24.0Oct 26, 2026
  17. v1.21.3Oct 25, 2026
  18. v1.21.0Oct 25, 2026
  19. v1.20.0Oct 24, 2026
  20. v1.17.0Oct 23, 2026
  21. v1.16.4Oct 22, 2026
  22. v1.16.3Oct 21, 2026
  23. v1.11.1Oct 9, 2026
  24. v1.10.0Oct 9, 2026
  25. v1.0.0Sep 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations