0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cursorから15分 — @staddress/mcp でチャットから住所解析する

0
Posted at

住所正規化・ジオコーディングAPI 「Staddress(スタドレス)」 開発チームです。

前回(Rubyから15分 — staddress gem で住所解析する)までは、curl / CLI / Node / Python / Ruby と「コードから API を呼ぶ」流れを紹介してきました。

今回は一歩進めて、AI チャットから住所解析を呼び出せる MCP サーバ @staddress/mcp を紹介します。Cursor Directory にも掲載済みです。

この記事で扱う内容は次の通りです。

  1. MCP で何ができるかを把握する
  2. Cursor Directory / 設定ファイルから導入する
  3. チャットで staddress_parse を試す
  4. 提供ツール(parse / batch / usage)を知る
  5. Claude Desktop など他クライアントでも使う
  6. よくあるつまづきを押さえる

前提

  • Free アカウント登録が完了していること
  • アカウント管理画面で API Key を確認できること
  • Node.js 18+npx で MCP サーバを起動するため)
  • Cursor(または Claude Desktop など MCP 対応クライアント)

API Key の取得手順は 試用編 / curl 編 を参照してください。


MCP で何ができるか

Model Context Protocol (MCP) は、AI クライアントが外部ツールを安全に呼び出すための共通仕様です。

@staddress/mcp を入れると、チャット上の指示だけで次ができます。

やりたいこと ツール 対応 API
住所を1件正規化する staddress_parse POST /api/v1/addresses/parse
複数住所を一括解析する staddress_parse_batch POST /api/v1/addresses/parse/batch(Standard 以上・最大100件)
プラン・残量を確認する staddress_get_usage GET /api/v1/usage

いずれも読み取り専用(readOnlyHint)です。内部では公式 Node SDK @staddress/client を使っています。

ユーザー → Cursor / Claude → @staddress/mcp → Staddress AI API
                              ↑
                     STADDRESS_API_KEY

コードを書かず、「この住所を正規化して」と頼むだけで、正規化住所・緯度経度・信頼度まで構造化データとして受け取れます。


Step 1. Cursor に導入する

方法 A: Cursor Directory から追加(おすすめ)

  1. cursor.directory/plugins/staddress-ai を開く
  2. 掲載ページの手順に従って Cursor に追加する
  3. STADDRESS_API_KEY に自分の API Key を設定する

Directory 経由で入る設定の骨格は次の通りです(キーは後から必ず埋めてください)。

{
  "type": "stdio",
  "command": "npx",
  "args": ["-y", "@staddress/mcp"]
}

方法 B: mcp.json を手で書く

ユーザー全体なら ~/.cursor/mcp.json、プロジェクト単位なら .cursor/mcp.json に追加します。

{
  "mcpServers": {
    "staddress": {
      "command": "npx",
      "args": ["-y", "@staddress/mcp"],
      "env": {
        "STADDRESS_API_KEY": "sk_xxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

自前エンドポイントを使う場合は STADDRESS_BASE_URL も追加できます(既定: https://api.staddress.com)。

注意: API Key は秘密情報です。リポジトリにコミットしないでください。チーム共有が必要なときは、各自のローカル mcp.json かシークレット管理を使ってください。

設定後、Cursor を再起動(または MCP をリロード)し、ツール一覧に staddress_parse などが出ることを確認します。


Step 2. チャットで試す

Cursor のチャットに、次のように入力します。

東京都渋谷区道玄坂1-2 マンション桜 101号 を staddress で正規化して、緯度経度も教えて

AI が staddress_parse を呼び出すと、だいたい次のような構造化結果が返ります。

{
  "result": {
    "normalized": "東京都渋谷区道玄坂一丁目2 マンション桜 101号",
    "standard": "東京都渋谷区道玄坂1-2",
    "components": {
      "pref": "東京都",
      "prefCode": "13",
      "city": "渋谷区",
      "cityCode": "13113",
      "oazaCho": "道玄坂",
      "chomeNumber": "1",
      "streetNumberBlock": "2",
      "buildingName": "マンション桜",
      "roomNumber": "101",
      "roomNumberUnit": "号",
      "lat": 35.658034,
      "lon": 139.699475,
      "lgCode": "131130"
    },
    "confidence": {
      "score": 0.98,
      "matchLevel": "residential_block",
      "query": "東京都渋谷区道玄坂1-2 マンション桜 101号"
    }
  }
}

レスポンスの見方(normalized / components / confidence)は curl 編 と同じです。

プロンプトの例

目的
単件 「この住所を staddress で正規化して。建物名と部屋番号も分けて」
比較 「次の2表記は同じ住所か、正規化結果で教えて」
利用状況 「staddress の今月の利用状況を確認して」
一括(Standard+) 「次の住所リストを batch で解析して、normalized だけ表にして」

「staddress で」「正規化して」など、ツール名や用途が分かる言い方を入れると、AI が MCP ツールを選びやすくなります。


Step 3. 提供ツールを押さえる

staddress_parse(単件)

日常の確認・PoC・レビュー指摘の確認に向いています。

staddress_parse_batch(一括)

  • Standard プラン以上
  • 最大 100件
  • CSV の一部をチャットに貼って試す用途向け

大量の本番バッチは、これまで紹介した CLI / SDK / バッチ API の方が向いています。MCP は「対話の中で確認する」用途を想定しています。

staddress_get_usage(利用状況)

プラン名・件数・クレジット残量の確認に使います。Free の月間上限に達していないか、チャットからすぐ確かめられます。


Step 4.(任意)Claude Desktop / Inspector

Claude Desktop

claude_desktop_config.json に、Cursor と同様の設定を追加します。

{
  "mcpServers": {
    "staddress": {
      "command": "npx",
      "args": ["-y", "@staddress/mcp"],
      "env": {
        "STADDRESS_API_KEY": "sk_xxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

MCP Inspector(動作確認)

クライアントなしでツール呼び出しを確認したいとき:

STADDRESS_API_KEY=sk_xxxxxxxxxxxxxxxxxxxx \
  npx @modelcontextprotocol/inspector npx -y @staddress/mcp

SDK / CLI / MCP の使い分け

観点 SDK / CLI(これまでの連載) MCP(今回)
呼び出し方 コード・ターミナル AI チャット
向いている作業 アプリ組込・バッチ・CI 調査・レビュー・PoC・その場確認
配布 npm / PyPI / RubyGems / CLI @staddress/mcp
導入 install + 数行のコード Directory または mcp.json

「本番システムに組み込む」なら SDK / CLI、「エディタやチャットで住所をその場で確認する」なら MCP、という切り分けがおすすめです。

加えて、Cursor などの AI エージェントに住所解析をツールとして足すこと自体にもメリットがあります。チャットだけで住所を直させると、LLM が表記を推測してしまい、見た目は正しそうでも信頼できないことがあります。MCP 経由なら同じ Staddress API の正規化結果・緯度経度・信頼度を根拠に答えられるので、エージェント側の住所まわりの回答精度・再現性が上がります(API そのものの解析精度が MCP 専用に変わるわけではありません)。


よくあるつまづき

ツールが出てこない / 呼べない

  • Cursor を再起動、または MCP をリロードする
  • node -v18 以上か確認する
  • npx -y @staddress/mcp が単体で起動できるか試す

unauthorized / API Key 未設定

mcp.jsonenv.STADDRESS_API_KEY が空・未設定でないか確認してください。Directory から追加した直後は、キーを自分で埋める必要があります。

一括が失敗する

staddress_parse_batch は Standard 以上です。Free では staddress_parse で1件ずつ試してください。

エラー時の見え方

API / ネットワーク / キー未設定は、ツール結果が isError: true になり、code / http_status / request_id を含む説明が返ります(MCP サーバ自体は落ちません)。問い合わせ時は request_id を控えておくと追跡しやすくなります。


まとめ

今回は、Cursor Directory 掲載の @staddress/mcp で、チャットから住所解析する手順を紹介しました。

  • 掲載ページ: cursor.directory/plugins/staddress-ai
  • ソース: packages/mcp
  • staddress_parse / staddress_parse_batch / staddress_get_usage を提供
  • API Key は STADDRESS_API_KEY で渡し、リポジトリに載せない
  • レスポンスの見方は curl 編 と同じ
  • 本番組込は SDK / CLI、対話確認は MCP

Staddress ホームセット

Staddress に関する公式リンク一覧です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?