io.github.hcpapi/housecall-pro-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HCP_API_KEY | No | Your Housecall Pro API key. If not provided, the server starts in keyless mode with only a subset of tools. | |
| HCP_TOOLSETS | No | Comma-separated list of toolset groups to register. Equivalent to --toolsets. | |
| HCP_READ_ONLY | No | Set to '1' to run in read-only mode, registering no write tools. Equivalent to --read-only. | |
| HCP_MCP_PROFILE_PATH | No | Path to the file storing the business profile. Overrides the platform default location. | |
| HCP_MCP_DEFAULTS_PATH | No | Path to the file storing default preferences. Overrides the platform default location. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| extensions | {
"io.modelcontextprotocol/ui": {
"mimeTypes": [
"text/html;profile=mcp-app"
]
}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hcp_render_reportA | Render a findings report into one self-contained, offline, interactive HTML file: sortable and filterable tables, severity-coded sections, collapsible worklists, selectable rows that copy back to chat, light and dark theme, print. This is a presentation tool: it makes no Housecall Pro call and takes findings you already have. Pass a Where the report ends up depends on the client, and the response says which happened. On a client that displays reports inline (Claude and Claude Desktop), it opens in the conversation on its own and the response is a short confirmation - do not repeat the contents or save a file. Everywhere else the response carries the finished HTML: in Claude Code write it to a |
| hcp_get_business_profileA | Read the business profile stored for this installation: who the shop is, who they buy from, their pricing rules, their payroll rules, and how their outbound messages should sound. Skills read this before asking setup questions, so an interview answered once is never asked twice; missing_sections is what a first run still has to ask, and each stored section carries the date it was last confirmed. The profile is this installation's own file, on this machine, beside the defaults file. Nothing in it is read from Housecall Pro or sent to it, or to anyone else. An empty profile is the ordinary state of a fresh install, not a problem. |
| hcp_set_business_profileA | Store one or more business-profile sections for this installation: shop, vendors, pricing, payroll, comms. Each section replaces the stored section whole, and null clears one - so save a section only after reading the whole section back to the user for a yes. The profile is this installation's own file, on this machine, beside the defaults file. Nothing in it is read from Housecall Pro or sent to it, or to anyone else. The sections hold the shop's own facts, never a customer's, and never credentials: a vendor's account_hint refuses anything that looks like a full account number. |
| hcp_api_notesA | Look up what the Housecall Pro API actually does for a given topic, as opposed to what its published documentation says. Call this BEFORE concluding that something cannot be done, before retrying a route that returned 404, and after any write that reported success but looks like it changed nothing. It answers from a table of verified behaviour: routes the documentation describes that do not exist, writes that are accepted and silently ignored, and fields whose units are not what they appear to be. Ask in plain words - a topic, a route, a field name, or the thing you were trying to do. Omit the topic to read the whole table. This tool reads a table compiled into this server and makes no API call, so it costs nothing and cannot fail. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| hcp-api-quirks | Verified Housecall Pro API behaviour that differs from its published documentation, including the writes that are accepted and silently ignored. |
| hcp-api-phantom-routes | Routes the published Housecall Pro documentation describes which are absent from the API. A 404 on one of these is the route being absent, not a bad request. |
| hcp-report-app | The interactive report surface: sortable and filterable tables, severity-coded sections, collapsible worklists, selectable rows that copy back to chat, light and dark theme, print. Rendered inline by hosts that support MCP Apps; the same report is also returned as a standalone HTML file for hosts that do not. |
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: report rendering, profile reading, profile writing, and API reference lookup. The get/set profile pair is unambiguously complementary, and api_notes is a read-only reference tool that cannot be confused with any of them.
All four names share the hcp_ prefix and snake_case, with three following a clean verb_noun pattern (render_report, get_business_profile, set_business_profile). hcp_api_notes is a noun-only reference name, a minor but noticeable deviation from the verb style.
Four tools is a lean, well-scoped set where each tool earns its place and none overlaps. It sits slightly on the thin side given the server name implies a broader Housecall Pro integration surface.
For the presented domain (local profile management, report rendering, API behavior notes) the surface is coherent, and set handles clearing via null. However, a server named housecall-pro-mcp exposes no tool that actually reads or writes Housecall Pro data, which is a notable gap relative to the apparent scope.