Angi Mcp

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

Angi for Claude — find home-service pros by trade and city, read ratings and reviews

概览

AI 生成的概览

通过用户自己已登录的浏览器标签页,按行业和美国城市查询 Angi 家政服务商,并读取评分、资料与评价。

可以做什么
  • 按行业和城市搜索服务商,返回评分、评价数、从业年限与服务范围
  • 读取单个服务商的完整资料、营业时间、设施、奖项及各维度评分明细
  • 读取服务商评价,含评分、正文、申报费用、日期与服务商回复,可按评分筛选
  • 从 Angi 公开站点地图列出行业与城市 slug,用于把自由文本解析成查询参数
  • 读取已登录用户的账户概要、项目与已写评价
  • 检查浏览器桥接的连接状态与诊断信息
适用场景
适合在美国某城市比较家政与维修服务商(水管、屋顶、风管清洁等),或在雇佣前查看某位服务商的评分与差评内容。也可用于查看自己在 Angi 上的项目与历史评价。
运行要求
以 npm 包形式在本地通过 stdio 运行,需要 Node.js。需要 Chrome 中安装 ContextMint Bridge 浏览器扩展,打开 angi.com 标签页并允许其站点访问,首次请求需批准配对码。行业与城市列表工具无需桥接。可选环境变量:ANGI_DEBUG、ANGI_WS_PORT、FETCHPROXY_IDENTITY_DIR、FETCHPROXY_WS_HOST。
安装前请注意
请求经由你自己已登录的 angi.com 标签页转发,扩展可接触该会话,应从可信发布渠道安装并核对公布的校验值。登录态工具会把你的姓名、邮箱和项目数据交给助手。README 说明该项目由 AI 开发,使用风险自负。赞助结果属付费展示,不代表质量;邮编筛选无效。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

angi-mcp

MCP server for Angi (formerly Angie's List) — find home-service pros by trade and city, and read their ratings, profiles and reviews.

Angi serves its pages only to a real browser, so requests route through the user's own angi.com tab via the ContextMint Bridge browser extension (fetchproxy protocol), reusing their existing session. The trade/city taxonomy is read directly from Angi's public sitemaps and needs no browser at all.

No Angi account or credentials are required. Everything this server reads is public.

This project was developed and is maintained by AI (Claude). Use at your own discretion.

Install

sh
npm install -g @chrischall/angi-mcp

Register it with your MCP host:

json
{  "mcpServers": {    "angi": { "command": "angi-mcp" }  }}

You also need the ContextMint Bridge browser extension, with an open angi.com tab and its site access allowing angi.com. Install it from the ContextMint Bridge releases: unzip the Chrome build and load it via chrome://extensions → Load unpacked. Safari isn't available yet (it will ship inside the ContextMint app, which has no public download), so use Chrome for now. On the first request the extension shows a pairing code to approve; the trust then persists.

ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README (https://github.com/chrischall/fetchproxy#extension) points to it. Its source is public at https://github.com/nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).

Run angi_healthcheck to confirm the bridge is connected.

Tools

ToolWhat it does
angi_search_prosPros for a trade in a US city, with ratings, review counts, years in business, service area, amenities. 10 per page.
angi_get_proOne pro's full profile and ratings breakdown.
angi_get_reviewsReviews on a pro's profile — rating, text, reported cost, date, categories, the pro's response. Filterable by rating.
angi_list_tradesEvery trade slug Angi publishes (~312). No bridge needed.
angi_list_citiesCities Angi publishes pages for, per trade. No bridge needed.
angi_healthcheckBridge connection state.

Signed-in tools (need the browser tab signed in to Angi):

ToolWhat it does
angi_get_accountYour name, email and open/closed project counts.
angi_list_my_projectsYour Angi projects, open and closed.
angi_list_my_reviewsReviews you've written, plus pros awaiting a rating.

Searches take slugs, not free text — resolve them first:

angi_list_trades   { contains: "duct" }      -> "air-duct-cleaning"angi_list_cities   { trade: "plumbing", state: "nc", contains: "char" }angi_search_pros   { trade: "plumbing", state: "nc", city: "charlotte" }

angi_search_pros, angi_get_pro and angi_get_reviews answer in the slim view: "compact" projection by default; pass view: "full" for Angi's whole ~1KB records. (The old compact boolean still works as a deprecated alias and will be removed in a later release.)

Ratings

Each pro carries two overall ratings and they differ on purpose:

  • rating (averageRatings.OVERALL) — unrounded. Rank on this.
  • displayRating (averageOverallRating) — the rounded value Angi shows.

Per-dimension ratings (quality, value, punctuality, professionalism, responsiveness) come through in the full record.

isSponsored: true marks paid placement, not a quality signal.

Limits

  • No zip-code filtering. Angi's ?zip= parameter is inert — a Charlotte URL returns Charlotte pros regardless. Location comes from the city slug.
  • Account record shapes are unverified. The account used to map my.angi.com held zero projects and zero reviews, so only the envelopes were observed. angi_list_my_projects and angi_list_my_reviews return records raw and set recordFieldsVerified: false rather than projecting onto field names nobody has seen. See docs/ANGI-API.md.
  • The inbox is not readable. Angi's messages run on the Twilio Conversations SDK; the proxy endpoints reject the session cookie alone (401), so messages need the Twilio client rather than an HTTP GET.
  • Cannot be hosted remotely. Like every browser-bridge server in this fleet, it needs a signed-in tab on the machine it runs on, so it cannot be served to claude.ai from mcp-host.

Without the MCP

skills/angi-fpx/ is a shell-out skill that reads the same data with the fpx CLI and no running server — useful in scripts or on a machine where the MCP isn't installed.

Development

sh
npm installnpm run build      # tsc --noEmit + esbuild bundlenpm test

docs/ANGI-API.md records the live-captured request/response shapes, including the verified negative results. Read it before changing src/parse.ts.

License

MIT

来源:README.md,提交 5539f48

工具

9

angi_search_pros

Search Angi pros

Find home-service pros on Angi for a trade in a US city. Returns each pro with ratings (overall plus per-dimension: quality, value, punctuality, professionalism, responsiveness), review count, percent-recommended, years in business, service area and amenities. `trade` and `city` are Angi slugs — resolve them with angi_list_trades and angi_list_cities first. 10 pros per page; use `page` to walk further. Note Angi has no zip-code filter: location comes from the city slug only.

输入参数city必填pageviewstate必填trade必填compact

angi_get_pro

Get Angi pro

Read one Angi pro's full profile: business details, service area, hours, amenities, awards, tasks offered, contact address, and the ratings breakdown. Also reports how many reviews the page carries (fetch them with angi_get_reviews).

输入参数viewcompactprofileUrl必填

angi_get_reviews

Get Angi reviews

Read the reviews on an Angi pro's profile page: rating, body text, reported job cost, date, service categories, verification flag, and the pro's public response where one exists. Filter by rating to isolate complaints or praise.

输入参数viewlimitcompactmaxRatingminRatingprofileUrl必填

angi_list_trades

List Angi trades

List every trade slug Angi publishes (~312, e.g. "plumbing", "air-duct-cleaning", "basement-waterproofing"). Call this to resolve a free-text trade to the slug angi_search_pros needs. Reads Angi's public sitemap directly — no browser bridge required.

输入参数contains

angi_list_cities

List Angi cities

List every US state/city that Angi publishes pages for, for one trade. Use it to confirm a city slug exists before searching, or to discover nearby cities. Reads Angi's public sitemap directly — no browser bridge required.

输入参数statetrade必填contains

angi_get_account

Get Angi account

The signed-in Angi user: first name, email address, user/entity ids, unread message count, and how many open and closed projects they have. Requires the browser tab to be signed in.

无需输入参数。

angi_list_my_projects

List my Angi projects

The signed-in user's Angi projects (service requests and bookings), open and closed. Records are returned exactly as Angi sends them — the response sets `recordFieldsVerified: false` because no populated project has been observed yet, so field names should be read from the data rather than assumed.

输入参数status

angi_list_my_reviews

List my Angi reviews

Reviews the signed-in user has written, plus pros Angi is prompting them to rate (`unratedPros`). Same caveat as projects: records pass through raw and the response sets `recordFieldsVerified: false`.

无需输入参数。

angi_healthcheck

Verify the ContextMint Bridge connection end-to-end

Round-trips a small public www.angi.com URL (/robots.txt) through ContextMint Bridge (your signed-in browser tab) and returns diagnostics: the bridge's role (host/peer/null), port, version, the extension link (linked / pair pending / not attached / never answered), the elapsed round-trip time, and a plain-English hint distinguishing 'bridge never came up' from 'extension not connected' from 'this browser can't serve a capability' from 'real www.angi.com-side problem'. Read-only, no auth required. Call this when a real tool fails and you want to know which hop broke.

无需输入参数。

版本历史

12
  1. v1.1.0最新Nov 4, 2026
  2. v1.0.8Oct 16, 2026
  3. v1.0.7Oct 10, 2026
  4. v1.0.6Oct 7, 2026
  5. v1.0.5Oct 5, 2026
  6. v1.0.4Oct 3, 2026
  7. v1.0.3Sep 28, 2026
  8. v1.0.2Sep 23, 2026
  9. v1.0.1Sep 23, 2026
  10. v1.0.0Sep 20, 2026
  11. v0.4.0Sep 18, 2026
  12. v0.3.4Sep 16, 2026

评分

已满足适用检查项的 90%

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

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

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

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