Unofficial Thumbtack MCP server and shell skill — searches local service pros and reads pro profiles, ratings and reviews by parsing Thumbtack's server-rendered pages and its anonymous GraphQL endpoint. Read-only; no account required.
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
- !No standard license detected
git clone https://github.com/chrischall/thumbtack-mcp{
"mcpServers": {
"thumbtack-mcp": {
"command": "node",
"args": ["/path/to/thumbtack-mcp/dist/index.js"]
}
}
}MCP Servers overview
# thumbtack-mcp
Unofficial [Thumbtack](https://www.thumbtack.com) MCP server — search local
service pros, and read their profiles, ratings, reviews and credentials.
**Read-only and anonymous.** Thumbtack's consumer pages and its GraphQL
endpoint answer without a login, so this server needs no account, no API key
and no browser extension. It also cannot write: Thumbtack's write paths sit
behind a reCAPTCHA-gated login that no server-side client can pass.
> Thumbtack has no public consumer API. This server reads its server-rendered
> pages and anonymous GraphQL endpoint, and may break or violate their ToS.
> Developed and maintained by AI (Claude). Use at your own discretion.
## Install
```jsonc
// .mcp.json
{ "mcpServers": { "thumbtack": { "command": "npx", "args": ["-y", "@chrischall/thumbtack-mcp"] } } }
```
No configuration — there are no environment variables.
## Tools
| Tool | What it does |
| --- | --- |
| `thumbtack_search_pros` | Search pros by trade + US ZIP. Returns up to 10 with rating, review count, lifetime hires, mean response time, profile URL. |
| `thumbtack_resolve_service` | Canonicalise a loose service name (`plumbing` → `plumbers`) by asking Thumbtack. |
| `thumbtack_get_pro` | A pro's profile: name, description, location, aggregate rating, credentials, section inventory. |
| `thumbtack_get_pro_reviews` | Reviews on a pro's profile — stars, author, date, text. |
| `thumbtack_graphql` | Escape hatch for arbitrary read-only GraphQL. Mutations refused. |
| `thumbtack_healthcheck` | Probes the page and GraphQL surfaces separately and reports the response shape still matches. |
Every read tool takes `view: "compact" | "full"`, and **`compact` is the
default**. On `thumbtack_search_pros` that is a hand-written field projection;
on `thumbtack_get_pro`, `thumbtack_get_pro_reviews` and `thumbtack_graphql` it
strips image URLs, which needs no knowledge of the payload's shape. Pass
`view: "full"` for the untouched upstream records — they are large and mostly
tracking metadata, which is why the slim shape is what you get without asking.
`thumbtack_resolve_service` and `thumbtack_healthcheck` take no `view`: both
already answer with a handful of scalar fields, and a rung that cannot change
anything is worse than no parameter.
## Shell-only alternative
`skills/thumbtack/` is a self-contained skill covering the same surface with
plain `curl` + `jq` — no server process. Use it for one-shot lookups and
scripts.
## How it works
Three verified surfaces, all pinned in [`docs/THUMBTACK-API.md`](docs/THUMBTACK-API.md):
1. **Search pages** — results embedded in `__NEXT_DATA__`.
2. **Profile pages** — `window.__APOLLO_STATE__` (a bare JS assignment, so it
needs balanced-brace extraction) plus schema.org JSON-LD.
3. **GraphQL** (`app.thumbtack.com/graphql`) — accepts ad-hoc anonymous
queries; introspection is disabled.
Two things that bite anyone reading these pages:
- **JSON-LD `@type` is the trade-specific subtype**, not `LocalBusiness` — a
plumber's node is `"@type":"Plumber"`. Match by shape, not by type name.
- **GraphQL returns HTTP 200 with an `errors[]` body.** Status alone is never
sufficient.
## Not covered
- **Your own Thumbtack account** (projects, messages, quotes) — the login is
reCAPTCHA-gated, so there is no server-side password login.
- **The Partner Platform API** (`developers.thumbtack.com`) — real and
documented, but gated behind partner credentials ("Request Access"). It is a
seller surface, not a consumer one.
## Development
```sh
npm install
npm run build
npm test # unit + server-boot smoke tests
npm run test:coverage
```
Coverage is enforced at 100%.
## License
MIT
What people ask about thumbtack-mcp
What is chrischall/thumbtack-mcp?
+
chrischall/thumbtack-mcp is mcp servers for the Claude AI ecosystem. Unofficial Thumbtack MCP server and shell skill — searches local service pros and reads pro profiles, ratings and reviews by parsing Thumbtack's server-rendered pages and its anonymous GraphQL endpoint. Read-only; no account required. It has 0 GitHub stars and its last recorded update is dated 2026-09-10.
How do I install thumbtack-mcp?
+
You can install thumbtack-mcp by cloning the repository (https://github.com/chrischall/thumbtack-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is chrischall/thumbtack-mcp safe to use?
+
Our security agent has analyzed chrischall/thumbtack-mcp and assigned a Trust Score of 62/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains chrischall/thumbtack-mcp?
+
chrischall/thumbtack-mcp is maintained by chrischall. The last recorded GitHub activity is dated 2026-09-10, with 0 open issues.
Are there alternatives to thumbtack-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy thumbtack-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/chrischall-thumbtack-mcp)<a href="https://claudewave.com/repo/chrischall-thumbtack-mcp"><img src="https://claudewave.com/api/badge/chrischall-thumbtack-mcp" alt="Featured on ClaudeWave: chrischall/thumbtack-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!