Thumbtack Mcp

io.github.chrischall由 GitHub 账号 chrischall 发布v1.2.0更新于 Nov 5, 2026

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

概览

AI 生成的概览

非官方、只读的 MCP 服务器,让助手按工种和美国邮编在 Thumbtack 搜索本地服务商,并读取其资料、评分和评价。

可以做什么
  • 按工种和美国邮编搜索服务商,返回最多 10 个结果,含评分、评价数、累计成交和响应时间
  • 把宽泛的服务名称解析为 Thumbtack 的规范 slug
  • 读取服务商资料:简介、位置、综合评分、资质认证和板块清单
  • 读取服务商资料页上嵌入的评价
  • 对 Thumbtack 匿名 GraphQL 端点执行任意只读查询
  • 探测 Thumbtack 的页面与 GraphQL 接口是否可达、返回结构是否仍符合预期
适用场景
适合让助手在美国寻找并比较本地服务商(如水管工、电工等),汇总其评分、评价和资质,而无需打开浏览器。也可在依赖该抓取接口前先确认其是否仍可用。
运行要求
通过 npx 从 npm 包 @chrischall/thumbtack-mcp 在本地运行,需要 Node.js 以及访问 Thumbtack 的网络。无需账号、API 密钥、环境变量或请求头。
安装前请注意
它读取 Thumbtack 的服务端渲染页面和匿名 GraphQL 端点,README 称这可能失效或违反其服务条款。抓取结果可能结构变化或被 CDN/WAF 拦截。GraphQL 工具可执行任意只读查询,写操作会被拒绝。它无法访问你自己的 Thumbtack 账号、项目、消息或报价。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Thumbtack Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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

jsonc
// .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

sh
npm installnpm run buildnpm test            # unit + server-boot smoke testsnpm run test:coverage

Coverage is enforced at 100%.

License

MIT

来源:README.md,提交 6406998

工具

6

thumbtack_search_pros

Search pros

Search Thumbtack for local service pros by trade and US ZIP code. Returns up to 10 ranked pros with rating, review count, lifetime hires, mean response time and profile URL. Anonymous — no account needed.

输入参数zip必填viewlimitservice必填

thumbtack_resolve_service

Resolve service slug

Resolve a loose service name to the canonical Thumbtack slug by asking Thumbtack (it canonicalises via redirect, e.g. "plumbing" -> "plumbers"). Use before assuming a slug is right.

输入参数zipservice必填

thumbtack_get_pro

Get pro profile

Read a Thumbtack pro's profile: name, description, location, aggregate rating, plus credentials (background check, licences) and the section inventory. Takes a profile URL from thumbtack_search_pros.

输入参数url必填view

thumbtack_get_pro_reviews

Get pro reviews

Read the reviews embedded on a Thumbtack pro's profile page (star rating, author, date, text). Takes a profile URL from thumbtack_search_pros.

输入参数url必填viewlimit

thumbtack_graphql

Raw GraphQL query

Escape hatch: issue an arbitrary read-only query against Thumbtack's anonymous GraphQL endpoint. Introspection is disabled upstream, so field names must come from a page's Apollo state. Mutations are refused.

输入参数viewquery必填variables

thumbtack_healthcheck

Healthcheck

Check that Thumbtack's anonymous surface is reachable and still has the response shape this server expects. Reports the server version, the HTML page probe and the GraphQL probe separately, each with a `kind` (ok, edge_blocked, http, transport, timeout, rate_limited, shape_changed, unknown).

无需输入参数。

版本历史

12
  1. v1.2.0最新Nov 4, 2026
  2. v1.1.8Oct 16, 2026
  3. v1.1.7Oct 10, 2026
  4. v1.1.6Oct 7, 2026
  5. v1.1.5Oct 5, 2026
  6. v1.1.4Oct 3, 2026
  7. v1.1.3Sep 25, 2026
  8. v1.1.2Sep 23, 2026
  9. v1.1.1Sep 21, 2026
  10. v1.1.0Sep 20, 2026
  11. v1.0.0Sep 19, 2026
  12. v0.2.1Sep 16, 2026

评分

已满足适用检查项的 80%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。