mcpField
N
nyc-restroom-mcp

nyc-restroom-mcp

ローカル
github.com/DanielOrtiz0220地図・旅行116 週間前に更新

nyc-restroom-mcp について

nyc-restroom-mcpは、ニューヨーク市の公衆トイレとNYC Parksの最新検査状況を検索するMCPサーバーです。近くの施設探しや設備情報の確認に使え、NYC Open Dataを参照し、位置情報の検出も試みます。

主な機能

  1. 01場所を指定して営業中の公衆トイレを検索
  2. 02距離順で表示し営業時間を提示
  3. 03バリアフリー設備とおむつ交換台の情報
  4. 04NYC Parksの最新検査評価を検索
  5. 05座標がない場合に位置検出を試行

活用シーン

  1. 01近くで営業中のトイレを探す
  2. 02バリアフリー対応やおむつ交換台のある施設を探す
  3. 03特定のトイレの最新検査結果を確認

MCP 対応

NYC Open Dataからトイレと検査情報を取得する、読み取り専用の`find_restrooms`と`get_restroom_status`ツールを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"danielortiz0220-nyc-restroom": {
"command": "npx",
"args": [
"-y",
"nyc-restroom-mcp"
],
"env": {
"SOCRATA_APP_TOKEN": "<SOCRATA_APP_TOKEN>",
"CORELOCATION_CMD": "<CORELOCATION_CMD>"
}
}
}
}
起動コマンドnpx -y nyc-restroom-mcp
設定が必要な環境変数
SOCRATA_APP_TOKENシークレットOptional NYC Open Data (Socrata) app token for higher rate limits
CORELOCATION_CMDOptional path to the CoreLocationCLI binary for precise on-device location (macOS only; falls back to IP geolocation when absent)

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

パッケージ
npmnyc-restroom-mcp0.1.1

ツール

2

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

パラメーター型必須説明
limitintegerいいえ返すトイレの最大数。距離の昇順で並べ替えます。
latitudenumberいいえ検索中心の緯度。latitude と longitude を両方省略すると、自動検出した現在地から検索します。
open_nowbooleanいいえtrue の場合、現在確実に閉鎖中のトイレを除外します。営業時間を解析できないトイレは推測せず、"unknown" として残します。
longitudenumberいいえ検索中心の経度。latitude と longitude を両方省略すると、自動検出した現在地から検索します。
radius_metersnumberいいえ検索半径(メートル)。デフォルトは 800 で、5000 を超える値は 5000 に制限されます。

詳細

nyc-restroom-mcp

Claude に「一番近い公衆トイレはどこですか?」と尋ねると、実際の場所を教えてくれます。

これは MCP サーバーです。Claude Desktop や Claude Code などの AI アシスタントに新しい機能を追加する、小さなプラグインです。このプラグインを使うと、NYC Open Data からニューヨーク市の公式公衆トイレデータをリアルタイムで検索できます。インストールすると、次のようなことを尋ねられます。

  • 「今開いている、ユニオンスクエア近くの公衆トイレを探してください。」
  • 「近くにある、車椅子で利用できるトイレはどこですか?」
  • 「Jaime Campiz Playground のトイレは本当にきれいですか?」(NYC Parks の最新の検査報告書を調べます)

次の 2 つのツールを追加します。

ツール機能
find_restrooms現在開いている、指定した場所の近くにある公衆トイレを、近い順に営業時間、アクセシビリティ、おむつ交換台の情報とともに一覧表示します。
get_restroom_statusトイレの名前または座標からトイレを検索し、該当する場合は NYC Parks の最新の検査評価も表示します。

場所を指定しなくても、自動で検出できます(詳細は以下をご覧ください)。すべて読み取り専用で、公開されている市のデータを取得するだけです。

インストール

Node.js 20 以降が必要です。アプリ用の設定を追加する以外に、ダウンロードやセットアップは不要です。

Claude Code(コマンド 1 つ):

claude mcp add nyc-restroom -- npx -y nyc-restroom-mcp

Claude Desktop:Settings -> Developer -> Edit Config に移動し、claude_desktop_config.json に次の内容を追加します。

{
  "mcpServers": {
    "nyc-restroom": {
      "command": "npx",
      "args": ["-y", "nyc-restroom-mcp"]
    }
  }
}

ほかの MCP クライアントでも同様に、npx -y nyc-restroom-mcp をローカル(stdio)サーバーとして起動するよう設定してください。

知っておくと便利なこと

  • 位置情報の自動検出。 近くのトイレを尋ねる際に場所を伝えない場合、サーバーは場所の特定を試みます。まずデバイスから検出します(macOS のみ。brew install corelocationcli を実行し、位置情報サービスへのアクセスを許可している場合)。それができない場合は、IP アドレスからおおよその場所を推測します。どちらも使えない場合や、ニューヨーク市外にいる場合は、誤った推測をする代わりに、座標を明示するよう求めます。
  • プライバシー。 位置情報の検出は座標を省略した場合にのみ行われ、位置情報がログに記録されることはありません。座標を明示すると、位置情報の検索は一切行われません。
  • 最新データ。 回答はすべて NYC Open Data から直接取得されるため(メモリ内に短時間キャッシュされます)、市の記録と同程度に最新です。検査報告書があるのは NYC Parks が管理するトイレのみです。図書館などのトイレについては、検査データがないことをそのまま伝えます。
  • 詳細情報。 docs/ ディレクトリには、ツールリファレンス、位置情報の検出、データソース、設定、セキュリティモデルが記載されています。各設計判断の理由は DECISIONS.md に記載されています。
オプション設定

必要に応じて、次の環境変数を設定してください(ほとんどの方には不要です)。

変数用途
SOCRATA_APP_TOKENより高いレート制限を利用するための、無料の NYC Open Data アプリトークンです。
LOG_LEVELerror、warn、info(デフォルトは info)を指定します。ログは stderr にのみ出力されます。

テストや高度なセットアップ向けに、ほかにもいくつか設定があります。docs/configuration.md をご覧ください。

コントリビューション

課題の報告やプルリクエストは、 DanielOrtiz0220/nyc-restroom-mcp までお寄せください。

開発には Bun(1.1 以降)を使用します。

git clone https://github.com/DanielOrtiz0220/nyc-restroom-mcp.git
cd nyc-restroom-mcp
bun install
bun test            # full unit + end-to-end suite, runs completely offline
bun run typecheck   # tsc --noEmit
bun run lint        # eslint, zero warnings allowed
bun run build       # compile src/ to dist/ (what the npm package ships)

公開済みパッケージの代わりに、MCP クライアント内でローカルコピーを実行するには、次の手順に従ってください。

claude mcp add nyc-restroom -- bun "$(pwd)/src/index.ts"

便利な追加コマンドとして、bun run test:live は実際の NYC Open Data API に対してスモークテストを 1 件実行します(ネットワーク接続が必要です)。bun test --coverage はカバレッジを出力します(src/lib/ の行カバレッジは 85% 以上が必須です)。プルリクエストを作成する前に、bun test、bun run typecheck、bun run lint がすべて成功することを確認してください。開発ガイドの全文(テストの構成、プロジェクト構造、維持すべき不変条件)は docs/development.md にあり、DECISIONS.md では各機能の仕組みの理由を説明しています。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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