mcpField
A
angi-mcp

angi-mcp

ローカル
github.com/chrischallビジネス・マーケティング03 日前に更新

angi-mcp について

angi-mcpは、MCPクライアントからAngiの住宅サービス業者を業種と都市で検索し、プロフィール、評価、レビューを確認するMCPサーバーです。ユーザーがログイン中のAngiブラウザータブ経由で公開ページを読み取り、Angiの認証情報は不要です。

主な機能

  1. 01業種と都市で業者を検索
  2. 02プロフィール、評価、レビューの表示
  3. 03評価によるレビューの絞り込み
  4. 04Angi掲載の業種と都市の検索
  5. 05アカウントの案件と投稿済みレビューの確認

活用シーン

  1. 01都市で配管業者などを探す
  2. 02業者の評価やレビューを比較
  3. 03業種ごとの掲載都市を調べる
  4. 04案件や評価待ちのサービスを確認

MCP 対応

MCPクライアントにAngiの検索、業者プロフィール、レビュー、分類情報、アカウント関連ツールを公開します。ページへのリクエストはContextMint Bridge拡張機能を介してAngiタブに転送し、業種・都市の検索にはブラウザーブリッジは不要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"chrischall-angi": {
"command": "npx",
"args": [
"-y",
"@chrischall/angi-mcp"
],
"env": {
"ANGI_WS_PORT": "<ANGI_WS_PORT>",
"ANGI_DEBUG": "<ANGI_DEBUG>",
"FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
}
}
}
}
起動コマンドnpx -y @chrischall/angi-mcp
設定が必要な環境変数
ANGI_WS_PORTOverride the fetchproxy WebSocket port (default 37149).
ANGI_DEBUGSet to 1 for verbose bridge logging to stderr.
FETCHPROXY_WS_HOSTBind interface for the fetchproxy concentrator (default 127.0.0.1; a literal IP only). For a hosted child in its own network namespace only — never bind a laptop's concentrator to the network.
FETCHPROXY_IDENTITY_DIRAbsolute path where fetchproxy stores its long-term identity keypair (default ~/.fetchproxy/identity/). For a host that runs a separate child per caller, so they share one identity.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@chrischall/angi-mcp1.0.8

ツール

9

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
citystringはい都市のスラッグ。例:"charlotte"、"rock-hill"。
pageintegerいいえ1 始まりのページ番号。1 ページあたり業者 10 件。
statestringはい2 文字の米国州コード。例:"nc"。
tradestringはい業種のスラッグ。例:"plumbing"、"roofing"、"air-duct-cleaning"。
compactbooleanいいえ完全なレコードの代わりに、業者ごとの簡易サマリーを返します。閲覧や順位付けにおすすめです。

詳細

angi-mcp

Angi(旧 Angie's List)向けの MCP サーバーです。業種や都市で住宅サービスの専門業者を検索し、評価、プロフィール、レビューを確認できます。

Angi は実際のブラウザーにのみページを表示するため、リクエストは ContextMint Bridge ブラウザー拡張機能(fetchproxy プロトコル)を介して、ユーザー自身の angi.com タブ経由で送信されます。既存のセッションを再利用します。業種と都市の分類は Angi の公開サイトマップから直接読み込むため、ブラウザーは不要です。

Angi アカウントや認証情報は必要ありません。 このサーバーが読み取る情報はすべて公開されています。

このプロジェクトは AI(Claude)によって開発、保守されています。ご自身の判断でご利用ください。

インストール

npm install -g @chrischall/angi-mcp

MCP ホストに登録します。

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

ContextMint Bridge ブラウザー拡張機能も必要です。angi.com タブを開き、サイトへのアクセスを angi.com に許可してください。ContextMint Bridge のリリースからインストールします。Chrome 版を解凍し、chrome://extensions → Load unpacked から読み込んでください。Safari 版はまだ利用できません(公開ダウンロードのない ContextMint アプリに同梱される予定です)。そのため、現時点では Chrome をご利用ください。初回のリクエスト時に拡張機能がペアリングコードを表示するので、承認してください。その後、信頼関係は保持されます。

ContextMint Bridge は、fetchproxy ブラウザー拡張機能の新しい名前で、同じメンテナーが提供しています。fetchproxy の README(https://github.com/chrischall/fetchproxy#extension)にもこの拡張機能へのリンクがあります。ソースコードは https://github.com/nullnet-app/contextmint-bridge で公開されています。ご自身でビルドするか、リリース ZIP を同梱の .sha256 ファイルと照合してください(shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256)。

angi_healthcheck を実行して、ブリッジが接続されていることを確認してください。

ツール

ツール機能
angi_search_pros米国の都市にある業種別の専門業者を検索し、評価、レビュー数、営業年数、サービス提供地域、設備情報を表示します。1 ページあたり 10 件です。
angi_get_pro1 社の専門業者の詳細なプロフィールと評価の内訳を表示します。
angi_get_reviews専門業者のプロフィールに掲載されたレビューを表示します。評価、本文、報告された費用、日付、カテゴリー、専門業者からの返信を確認できます。評価による絞り込みが可能です。
angi_list_tradesAngi が公開しているすべての業種スラッグを表示します(約 312 件)。ブリッジは不要です。
angi_list_cities業種ごとに、Angi がページを公開している都市を表示します。ブリッジは不要です。
angi_healthcheckブリッジの接続状態を確認します。

サインインが必要なツール(ブラウザーのタブで Angi にサインインする必要があります):

ツール機能
angi_get_account名前、メールアドレス、未完了および完了したプロジェクトの件数を表示します。
angi_list_my_projects未完了および完了した Angi のプロジェクトを表示します。
angi_list_my_reviews投稿したレビューと、評価待ちの専門業者を表示します。

検索では自由入力ではなくスラッグを使用します。まずスラッグを確認してください。

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、angi_get_reviews は、デフォルトでは簡潔な view: "compact" 形式で回答します。Angi の全項目を含む約 1KB のレコードを取得するには、view: "full" を指定してください。(従来の compact ブール値も非推奨の別名として引き続き使用できますが、今後のリリースで削除される予定です。)

評価

各専門業者には 2 種類の総合評価があり、意図的に異なる値になっています。

  • rating(averageRatings.OVERALL)— 四捨五入されていない値です。この値で順位付けしてください。
  • displayRating(averageOverallRating)— Angi が表示する四捨五入済みの値です。

品質、価格、時間厳守、プロ意識、対応の速さといった評価項目ごとの評価は、完全なレコードに含まれます。

isSponsored: true は有料掲載を示すもので、品質を示すものではありません。

制限事項

  • 郵便番号による絞り込みには対応していません。 Angi の ?zip= パラメーターは機能せず、シャーロットの URL でも、場所に関係なくシャーロットのプロが返されます。場所は都市のスラッグから取得されます。
  • アカウントのレコード形式は検証されていません。 my.angi.com のマッピングに使用したアカウントにはプロジェクトもレビューもなかったため、確認できたのは エンベロープ のみです。angi_list_my_projects と angi_list_my_reviews は、まだ誰も確認していないフィールド名に合わせて投影するのではなく、レコードを生のまま返し、recordFieldsVerified: false を設定します。docs/ANGI-API.md を参照してください。
  • 受信トレイは読み取れません。 Angi のメッセージは Twilio Conversations SDK 上で動作します。プロキシのエンドポイントはセッション Cookie だけではリクエストを拒否する(401)ため、メッセージの取得には HTTP GET ではなく Twilio クライアントが必要です。
  • リモートではホストできません。 このフリート内のすべてのブラウザーブリッジサーバーと同様に、実行するマシン上でサインイン済みのタブが必要なため、mcp-host から claude.ai に提供することはできません。

MCP を使わない場合

skills/angi-fpx/ は、実行中のサーバーを必要とせず、fpx CLI で同じデータを読み取るシェル呼び出し型のスキルです。スクリプト内や、MCP がインストールされていないマシンで役立ちます。

開発

npm install
npm run build      # tsc --noEmit + esbuild bundle
npm test

docs/ANGI-API.md には、検証済みの否定的な結果を含む、実際に取得したリクエスト/レスポンス形式が記録されています。src/parse.ts を変更する前に確認してください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。