io.github.chrischall/thumbtack-mcp

Registre officiel Recherche et web

Unofficial Thumbtack MCP — search local service pros, read profiles, ratings and reviews

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @chrischall/thumbtack-mcp
Claude Code
claude mcp add thumbtack-mcp -- npx -y @chrischall/thumbtack-mcp@1.1.8
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "thumbtack-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@chrischall/thumbtack-mcp@1.1.8"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. thumbtack-mcp
  2. Install
  3. Tools
  4. Shell-only alternative
  5. How it works
  6. Not covered
  7. Development
  8. License

thumbtack-mcp

Unofficial Thumbtack 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

// .mcp.json
{ "mcpServers": { "thumbtack": { "command": "npx", "args": ["-y", "@chrischall/thumbtack-mcp"] } } }

No configuration — there are no environment variables.

Tools

ToolWhat it does
thumbtack_search_prosSearch pros by trade + US ZIP. Returns up to 10 with rating, review count, lifetime hires, mean response time, profile URL.
thumbtack_resolve_serviceCanonicalise a loose service name (plumbing → plumbers) by asking Thumbtack.
thumbtack_get_proA pro's profile: name, description, location, aggregate rating, credentials, section inventory.
thumbtack_get_pro_reviewsReviews on a pro's profile — stars, author, date, text.
thumbtack_graphqlEscape hatch for arbitrary read-only GraphQL. Mutations refused.
thumbtack_healthcheckProbes the page and GraphQL surfaces separately and reports the response shape still matches; each probe names a kind, and a CDN/WAF refusal page is edge_blocked.

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:

  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

npm install
npm run build
npm test            # unit + server-boot smoke tests
npm run test:coverage

Coverage is enforced at 100%.

License

MIT

Questions fréquentes

Qu'est-ce que io.github.chrischall/thumbtack-mcp ?

Unofficial Thumbtack MCP — search local service pros, read profiles, ratings and reviews

Comment installer io.github.chrischall/thumbtack-mcp ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add thumbtack-mcp -- npx -y @chrischall/thumbtack-mcp@1.1.8. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.chrischall/thumbtack-mcp ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.chrischall/thumbtack-mcp est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient io.github.chrischall/thumbtack-mcp ?

Il est publié par chrischall. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.