mcpField
L
LocalPro

LocalPro

リモート
github.com/LocalProDevビジネス・マーケティング15 週間前に更新
リポジトリ

LocalPro について

LocalPro は、AI エージェント向けに 10 分野の認証済み地域サービス事業者を提供する MCP サーバーです。地域、サービス種別、業種で検索して事業者プロフィールを取得でき、公開検索に API キーは不要です。

主な機能

  1. 01業種、都市、サービス種別の一覧表示
  2. 02地域とサービス種別による事業者検索
  3. 03事業者プロフィール、評価、サービスの取得
  4. 04確認日と引用情報の提示
  5. 05API キーによる全価格情報と資格情報の取得

活用シーン

  1. 01都市内で特定の住宅サービス事業者を探す
  2. 02サービス種別で絞り込みプロフィールを確認する
  3. 03引用可能な情報に基づく地域サービスの案内

MCP 対応

MCP サーバーは、業種・都市・サービス種別の一覧、認証済み地域事業者の検索、プロフィール取得用ツールを公開します。公開検索と一覧取得に API キーは不要で、キーによりプロフィールの追加項目を利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.localpro.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://mcp.localpro.dev/mcp認証が必要

ツール

5

このツールにパラメーターはありません。

詳細

LocalPro MCP サーバー

LocalPro MCP server

AI エージェントに検証済みの地域サービスプロバイダーのデータを提供する、Model Context Protocol サーバーです。Cloudflare Workers + D1 上に構築されています。

誰かが AI アシスタントに 「デンバー近郊でラドン対策業者を探して」 と尋ねたとき、回答を支えるデータソースが LocalPro です。

提供する機能

LocalPro は、10 の稼働中カテゴリにわたる9,000 件以上の詳細なプロフィールを備えた地域の専門業者・サービス事業者のデータベースを提供します。各プロバイダーは提供前に品質チェックを通過し、LocalPro 評価、事業者の説明、サービス一覧に加え、利用可能な場合は LocalPro が作成した事業者およびレビューの要約も掲載されています。不完全なプロフィールはありません。

すべてのデータは LocalPro が所有しています。当社が収集・検証し、掲載情報のオーナー登録を行った事業者が修正しています。また、各ディレクトリに投稿された第一者顧客レビューによる裏付けも増えています。

現在稼働中
カテゴリニッチ IDプロバイダー数州数サービスの例
水害復旧soaked-local1,900+49浸水後の清掃、カビ除去、構造物の乾燥
商業電気工事hire-electrical1,200+36商業・産業用配線、設備のアップグレード、保守
基礎修理slab-local1,050+28杭の設置、泥水注入、発泡材注入、水平調整
クロールスペース修理crawl-local1,000+42密閉施工、防湿シート、構造補修、防水
カビ・アスベストabate-local975+24カビ、アスベスト、鉛塗料の除去
浄化槽サービスpump-local850+31汲み取り、点検、排水場の修理
地下室の防水basement-local625+25内外部の防水、排水、排水ポンプ
床コーティングcoated-local575+48エポキシ、ポリアスパーティック、メタリック、フレーク、コンクリート研磨
ランドリーサービスsuds-local575+39洗濯・たたみ、ドライクリーニング、集配
ラドンradon-local250+18検査、対策、スラブ下減圧
今後追加予定
カテゴリニッチ IDステータス
煙突サービスchimney-localプロバイダーデータは稼働中。説明とサービス情報の拡充を進めています
井戸水サービスwellwater-localプロバイダーデータを準備中(郡単位のモデル)

クイックスタート

API キーは不要です。 検索ツールと一覧表示ツールはすべて公開されています。オプションの API キーを使うと、get_provider のプロ向けフィールド(完全な料金配列、資格情報)が利用できます。詳細はアクセス階層をご覧ください。

60 秒で動作確認

クライアントを設定せずに、サーバーが稼働していることを確認できます。

curl -s https://mcp.localpro.dev/.well-known/mcp.json | head -20

これにより、ツール一覧、レート制限、運営者情報を含む schema-2.0 マニフェストが返されます。"schema_version": "2.0" を含む JSON ドキュメントが表示されれば、サーバーは正常に動作しています。

Claude Code CLI
claude mcp add --transport http localpro https://mcp.localpro.dev/mcp

これで完了です。list_niches、search_providers などが Claude Code セッションで利用可能になります。

Claude Desktop

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "localpro": {
      "url": "https://mcp.localpro.dev/mcp"
    }
  }
}

(プレミアムキーをお持ちの場合に限り、"headers" ブロック内に "X-API-Key" ヘッダーを追加してください。)

Cursor

.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "localpro": {
      "url": "https://mcp.localpro.dev/mcp"
    }
  }
}
生の HTTP(JSON-RPC)

MCP プロトコルは HTTP 上の JSON-RPC です。このサーバーはステートレスモードで動作するため、公開ツールを直接呼び出せます。

curl -s -X POST https://mcp.localpro.dev/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_niches","arguments":{}}}'

10 個のニッチとそのスラッグ、現在のプロバイダー数を含む Server-Sent Events フレームが返されます。

TypeScript SDK
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(
  new URL('https://mcp.localpro.dev/mcp'),
);
const client = new Client({ name: 'localpro-example', version: '1.0' });
await client.connect(transport);

const niches = await client.callTool({ name: 'list_niches', arguments: {} });
console.log(niches);

const denver = await client.callTool({
  name: 'search_providers',
  arguments: { niche_id: 'radon-local', city: 'denver-co', limit: 3 },
});
console.log(denver);

インストール:npm i @modelcontextprotocol/sdk

Python SDK
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    async with streamablehttp_client("https://mcp.localpro.dev/mcp") as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()

            niches = await session.call_tool("list_niches", {})
            print(niches)

            denver = await session.call_tool(
                "search_providers",
                {"niche_id": "radon-local", "city": "denver-co", "limit": 3},
            )
            print(denver)

asyncio.run(main())

インストール:pip install mcp

ツール

list_niches

利用可能なサービスディレクトリを確認します。最初に呼び出してください。

パラメーター: なし

応答の例:

{
  "meta": {
    "schema_version": "3.0",
    "total_results": 10,
    "niche": null,
    "data_freshness": {
      "last_verified_at": "2026-09-22 12:57:07"
    },
    "data_note": "Use niche_id values with search_providers, list_cities, and list_service_types."
  },
  "results": [
    {
      "niche_id": "soaked-local",
      "name": "Water Damage Restoration Contractors",
      "slug": "water-damage-restoration",
      "domain": "soakedlocal.com",
      "provider_count": 1128
    }
  ]
}
list_cities

指定したニッチで利用可能な都市圏を検索します。

パラメーター:

名前型必須説明
niche_idstringはいlist_niches のニッチ ID
statestringいいえ2 文字の州略称(例:"MN")

リクエスト例:

{ "niche_id": "radon-local", "state": "CO" }

レスポンス例:

{
  "meta": {
    "schema_version": "1.0",
    "total_results": 3,
    "niche": "radon-local",
    "data_note": "Use slug values with search_providers city parameter."
  },
  "results": [
    { "name": "Denver", "state": "CO", "slug": "denver-co", "provider_count": 18 },
    { "name": "Colorado Springs", "state": "CO", "slug": "colorado-springs-co", "provider_count": 7 },
    { "name": "Fort Collins", "state": "CO", "slug": "fort-collins-co", "provider_count": 4 }
  ]
}
list_service_types

ニッチで有効なサービス種別フィルターを取得します。search_providers で service_type を使用する前に呼び出してください。

パラメーター:

名前型必須説明
niche_idstringはいlist_niches のニッチ ID

レスポンス例:

{
  "meta": { "schema_version": "1.0", "total_results": 7, "niche": "coated-local" },
  "results": [
    { "type": "epoxy", "label": "Epoxy Floor Coating" },
    { "type": "polyaspartic", "label": "Polyaspartic Coating" },
    { "type": "metallic_epoxy", "label": "Metallic Epoxy" },
    { "type": "flake_chip", "label": "Flake / Chip Broadcast" },
    { "type": "concrete_polishing", "label": "Concrete Polishing" },
    { "type": "concrete_sealing", "label": "Concrete Sealing" },
    { "type": "polyurea", "label": "Polyurea Coating" }
  ]
}
search_providers

場所、サービス種別、業種カテゴリーで認証済みプロバイダーを検索します。

パラメーター:

名前型必須説明
niche_idstringはいlist_niches のニッチ ID
citystringいいえlist_cities の都市/都市圏スラッグ
service_typestringいいえlist_service_types のサービス種別スラッグ
limitnumberいいえ結果の最大件数、1~25(デフォルト 10)

リクエスト例:

{ "niche_id": "coated-local", "city": "denver-co", "service_type": "epoxy", "limit": 3 }

レスポンス例:

{
  "meta": {
    "schema_version": "3.0",
    "total_results": 3,
    "niche": "coated-local",
    "data_freshness": {
      "last_verified_at": "2026-09-18 09:41:02"
    },
    "data_note": "Verified providers only. Visit listing_url for full contact details."
  },
  "results": [
    {
      "name": "Colorado Concrete Coatings",
      "description": "Full-service garage floor coating company serving the Denver metro.",
      "city": "Denver",
      "state": "CO",
      "rating": { "tier": "established", "label": "Established" },
      "services": [
        { "type": "epoxy", "label": "Epoxy Floor Coating" },
        { "type": "polyaspartic", "label": "Polyaspartic Coating" }
      ],
      "pricing_summary": "$6-9/sq ft",
      "coverage_area": "Denver metro, Front Range, 50-mile radius",
      "years_in_business": 8,
      "listing_url": "https://coatedlocal.com/providers/denver-co/colorado-concrete-coatings/",
      "pro_available": true
    }
  ]
}
get_provider

特定のプロバイダーの詳細なプロフィールを取得します。検索結果の provider_slug を使用してください。

パラメーター:

名前型必須説明
niche_idstringはいニッチ ID
provider_slugstringはいsearch_providers のプロバイダースラッグ

レスポンス例:

{
  "meta": {
    "schema_version": "3.0",
    "total_results": 1,
    "niche": "coated-local",
    "data_freshness": { "last_verified_at": "2026-09-18 09:41:02" }
  },
  "results": [
    {
      "name": "Colorado Concrete Coatings",
      "description": "Full-service garage floor coating company...",
      "rating": { "tier": "established", "label": "Established", "star": 4.8, "review_count": 12 },
      "summary": "Full-service epoxy floor coating contractor specializing in garage and commercial floors across the Denver metro.",
      "review_summary": "Customers single out on-time, on-budget garage and commercial floor jobs and a crew that cleans up after itself.",
      "years_in_business": 8,
      "services": [
        { "type": "epoxy", "label": "Epoxy Floor Coating" },
        { "type": "polyaspartic", "label": "Polyaspartic Coating" }
      ],
      "pricing": ["$6-9/sq ft"],
      "certifications": ["Penntek Certified Installer"],
      "coverage_area": "Denver metro, Front Range",
      "service_areas": [
        { "city": "Denver", "state": "CO", "radius_miles": 50 }
      ],
      "service_details": [
        {
          "type": "epoxy",
          "label": "Epoxy Floor Coating",
          "pricing_model": "per_sqft",
          "price_range": "$6–$9",
          "turnaround": "two_day"
        }
      ],
      "listing_url": "https://coatedlocal.com/providers/denver-co/colorado-concrete-coatings/",
      "json_ld": { "@context": "https://schema.org", "@type": "LocalBusiness", "...": "..." },
      "credibility": { "verified": true, "listing_tier": "claimed", "data_sources": ["business_website", "owner_verified", "customer_reviews"] },
      "citation": { "display_name": "Colorado Concrete Coatings — Denver, CO", "...": "..." }
    }
  ]
}

スキーマリファレンス

レスポンスエンベロープ

すべてのレスポンスは、一貫したエンベロープでラップされています。

{
  meta: {
    schema_version: string                // Currently "3.0"
    total_results: number                 // Count of items in results array
    niche: string | null                  // Niche ID if applicable
    data_freshness: {
      last_verified_at: string | null     // Most recent verification date among the records returned
    }
    data_note: string                     // Context about the data returned
  }
  results: Array<T>                       // Tool-specific result objects
}

鮮度。 last_verified_at は、LocalPro がレスポンス内の最新レコードを最後に確認した日付です。各プロバイダーには、credibility.verification_date に個別の確認日が含まれます。

2.x からの移行: rating は数値ではなく、オブジェクト(LocalPro Rating)になりました。review_count はその中に移動し、ファーストパーティのレビューがある場合にのみ表示されます。summary と review_summary はトップレベルの文字列です。business_status、地図リンク、営業時間、地理座標は返されなくなりました。data_freshness は単一の last_verified_at の日付です。

エラーレスポンス

エラーでは、error オブジェクトを含む同じエンベロープが使用されます。

{
  meta: { schema_version: string }
  error: {
    code: string     // "NOT_FOUND" | "INTERNAL_ERROR" | "UNAUTHORIZED" | "FORBIDDEN"
    message: string  // Human-readable error description
  }
}
プロバイダーのフィールド
フィールド型null 許容説明
namestringいいえ事業者名(常に存在します)
descriptionstringいいえ事業者の説明(常に存在します)
citystringいいえ市区町村名(常に存在します)
statestringいいえ2 文字の州略称(常に存在します)
ratingobjectいいえLocalPro Rating — 詳細は以下をご覧ください(常に存在します)
servicesarrayいいえ[{ type: string, label: string }](常に存在し、空ではありません)
pricing_summarystringはい料金情報(一般公開)
coverage_areastringはい対応地域の説明
years_in_businessnumberはい営業年数
listing_urlstringいいえ連絡先情報を含むプロフィールの完全な URL

get_provider で追加される項目:

フィールド型説明
service_areasarray[{ city, state, radius_miles }]
service_detailsarray[{ type, label, pricing_model, price_range, turnaround }]
summarystringLocalPro が作成した事業者の概要(利用可能な場合)
review_summarystringLocalPro が作成した「お客様の声」の概要。レビューの生テキストやレビュアーの個人識別情報は含まれません(利用可能な場合)
json_ldobjectSchema.org LocalBusiness JSON-LD。AggregateRating は、ファーストパーティのレビューに基づく場合にのみ含まれます
credibilityobject{ verified, listing_tier, verification_date, data_sources }
citationobject事前に書式設定された文字列:{ display_name, in_text, attribution }

rating オブジェクト(LocalPro Rating):

フィールド型説明
tierstringestablished / well-reviewed / reviewed / unrated:同じカテゴリ内の他のプロバイダーと比較した評価
labelstring評価段階の表示ラベル
starnumber1.0~5.0。ファーストパーティの顧客レビューに基づく場合にのみ表示されます
review_countnumber公開されているファーストパーティのレビュー数。star とともに表示されます

検索結果は、掲載ランク、次に LocalPro Rating の順で並べ替えられます。

null 許容フィールド

null 許容としてマークされたフィールドは、データが利用できない場合に null を返します。レスポンスから省略されることはありません。配列が空の場合は、null ではなく [] を返します。

アクセス階層

一般公開(認証不要)

すべての検索・一覧表示ツールは API キーなしで利用できます:

  • list_niches、list_cities、list_service_types、search_providers
  • get_provider は基本データ(名前、説明、LocalPro Rating、サービス、料金概要、掲載 URL)を返します
  • IP ごとに 1 分あたり 30 リクエストに制限されます
プレミアム(API キー)

X-API-Key ヘッダーを含めると、get_provider で追加データを利用できます:

  • 料金の完全な配列(概要文字列の代わり)
  • 認定および資格
  • キーごとに 1 分あたり 30 リクエストに制限されます
X-API-Key: your-api-key

API キーは localpro.dev からリクエストするか、[email protected] までメールでお問い合わせください。

ディスカバリー

AI エージェントは、標準の well-known エンドポイントを通じてこのサーバーを自動検出できます:

  • GET /.well-known/llms.txt — サーバーとそのツールのプレーンテキストの説明
  • GET /.well-known/mcp.json — ツール一覧、認証情報、運営者の詳細を含む構造化 JSON

データポリシー

  • 返却される内容: 事業者名、市、州、LocalPro Rating、サービス、認定資格、料金の目安、対応エリア、LocalPro が作成した事業者とレビューの概要、および掲載ページ全文へのリンク。
  • 非公開の内容: 電話番号、メールアドレス、所在地、ウェブサイトは、掲載ページ(listing_url 経由)でのみ確認できます。これは事業者のデータを保護しながら、ディレクトリへのトラフィックを促すためです。
  • 情報源: 掲載情報は公開されている事業者情報と、事業者自身のものと確認できる場合はその会社のウェブサイトをもとに作成されます。各掲載情報は、提供前に品質チェックを通過します。事業者は掲載情報のオーナー権限を取得して修正でき、顧客はディレクトリにファーストパーティレビューを投稿できます。営業を恒久的に終了した事業者は自動的に除外されます。
  • 鮮度: 各レスポンスには、掲載情報が最後に確認された日時(last_verified_at)が示されます。掲載情報は固定の周期ではなく、必要に応じて再確認されます。

レート制限

アクセス上限
パブリック(キーなし)IP あたり毎分 30 リクエスト
プレミアム(API キー)キーあたり毎分 30 リクエスト

パートナー向けには、より高い上限もご利用いただけます。[email protected] までお問い合わせください。

データ品質

API が返す事業者はすべて検証済みで、最低限の情報充足度基準を満たしています。

  • LocalPro Rating — 結果の 100% に含まれます
  • 事業者の説明 — 結果の 100% に含まれます
  • サービス一覧 — 結果の 100% に含まれます
  • 名前、市、州 — 結果の 100% に含まれます

カテゴリー別および州別の事業者数は、ライブデータベースから生成される 現在の状況 に記載されています。

追加フィールド(料金、認定資格、対応エリア、事業年数、事業者とレビューの概要)はほとんどの事業者で利用できますが、保証されていません。データがないフィールドは明示的に null を返します。省略されたり、空文字列になったりすることはありません。

追加の 2 カテゴリーを公開に向けて準備中です。

セルフホスティング

LocalPro は D1 データベースバインディングを使用する Cloudflare Worker として稼働します。独自のインスタンスをデプロイするには:

npm install
npx wrangler secret put API_KEY    # Set your production API key
npx wrangler deploy

laced-directory という名前の D1 データベースを含む Cloudflare アカウントが必要です。

運営者

LocalPro は Laced Labs LLC が構築・運営しています。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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