mcpField
N
New Mexico Code

New Mexico Code

リモート
pipeworx.io法務・行政0今日更新
リポジトリ公式サイト

New Mexico Code について

New Mexico Codeは、引用番号やテーマからニューメキシコ州の現行法を調べるMCPサーバーです。条文本文と履歴の取得、公式見出しの検索、章一覧に対応します。索引の対象外の章は明示されます。

主な機能

  1. 01引用番号による現行条文の取得
  2. 02条文見出しと章名の検索
  3. 03章一覧と索引済み条文数の表示
  4. 04章情報と履歴の取得

活用シーン

  1. 01指定したNMSA 1978条文の確認
  2. 02トピックやキーワードからの条文検索
  3. 03章一覧と索引の対象範囲の確認

MCP 対応

nm_statute、nm_search、nm_chaptersのツールをMCPクライアントに公開します。ローカルのstdio MCPサーバーとして、またはPipeworxゲートウェイ経由で利用できます。

設定

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

エンドポイントhttps://gateway.pipeworx.io/new-mexico-code/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/new-mexico-code

ニューメキシコ州注釈付き法令集 1978(NMSA 1978)— 引用、章一覧、見出し検索による州法令。認証情報不要。

Pipeworx の一部です。AI エージェントを1837以上のライブデータソースに接続するMCPゲートウェイです。これは独立した非公式の統合であり、上流プロバイダーとの提携、推奨、公開を受けたものではありません。

ツール

  • nm_statute(citation) — 引用("30-2-1"、"NMSA 1978, § 30-2-1"、"§ 30-2-1")によるNMSA 1978の条項の現行本文を取得します。見出し、法令本文全体、章名、history行を返します。ニューメキシコ州では各章が1つのPDFとして公開されており(条項ごとではありません)、章名が分からない裸の引用でも、章名がないことを理由に検索を拒否することはありません。各章のPDF内のブックマークツリーを基に作成した組み込みの章インデックスで解決します。まだインデックスに含まれていない章(「既知の制限」を参照)の場合、誤って一致なしとせず、reason: "chapter_not_baked"を報告します。
  • nm_search(query, limit?) — 公式の条項見出しと章名を対象に、トピックやキーワードで検索します(法令本文全体は対象外です。NMOneSource独自の検索は判例法と書式をインデックス化しており、法令本文は対象にしていません。「データソース」を参照)。一致した引用、見出し、章名を返します。本文全体を取得するには、引用をnm_statuteに渡してください。
  • nm_chapters() — NMSA 1978の全章について、公式の章名と、このパックが各章についてインデックス化した条項数を一覧表示します。「主題は分かるが、章番号は分からない」場合の案内に利用できます。

認証

認証情報は不要です。呼び出しのどちら側でも、登録やキーは必要ありません。

データソース

  • https://nmonesource.com/nmos/nmsa/en/nav_alpha.do — ニューメキシコ州法令編纂委員会が運営するNMSA 1978の現行の章一覧です。各章はそれぞれ独自のナビゲーション項目IDにリンクしています。IDは連番ではなく(第7章は項目4340、第30章は項目4371)、章番号から導き出すことはできません。これが、このパックで章インデックスを組み込む理由です(scripts/bake-index.mjs -> src/nm-index-data.ts。new-hampshire-codeと同様に、KVベイク済みインデックスの仕組みで読み込みます)。
  • https://nmonesource.com/nmos/nmsa/en/<itemId>/1/document.do — その章の全文です。章ごとに1つのPDFとして提供されています(第30章「刑事犯罪」は1,138ページ/5.8 MBで、サイト内のどこにも条・節ごとの分割はありません)。各章のPDFでは、すべての条見出しと節の引用が、それぞれ独自のページ位置を持つブックマークになっています。extractPdfOutline(shared/src/pdf-text.tsで新規追加、fleet #2884)は、コンテンツストリームを展開せずにこのブックマークツリーを読み取ります(1,138ページでも数十ミリ秒です)。さらに、extractPdfTextに新たに追加されたpageRangeオプションにより、一致した引用の周辺ページのみを抽出できます。2ページの抽出は約110ミリ秒で、章全体を処理する場合の約1.7秒から短縮されます。次に、やや広めに取得したこのページ範囲から、引用自体の見出しテキストを特定して条項本文を正確に切り出します(レンダリングされたPDFでは長い見出しが複数行に折り返されるため、折り返しに対応しています)。切り出し位置には、その条項自身の「ANNOTATIONS」子ブックマークか、次の条項の見出しのうち、先に現れる方を使います。
  • NMOneSource独自の検索(/nmos/en/a/s/index.do?cont=<query>)がインデックス化するのは判例法と書式であり、NMSAの法令本文ではありません。これは実際の検索で確認済みです。法令本文(30-2-1)にしか現れない語句("depraved mind")を検索したところ、NMSAの一致結果はゼロで、判例法の結果は数十件でした。そのため、nm_searchでは、同じ理由からnew-hampshire-codeが採用しているものと同じ形式で、このパック独自の組み込み見出しインデックスを検索します。
既知の制限:コミット時点ではベイクが一部のみ完了しています

nmonesource.com は、同一 IP から章の PDF を約 40 件立て続けに取得すると、document.do に対してのみ(nav_alpha.do や検索ページではなく)IP 単位の CAPTCHA を表示します。このパックのビルド中(2026-10-09)に実際に発生しました。第 1~43 章は問題なくベイクできましたが、その後は残りの章がすべて 403 を返し、さらに数分待ってもブロックは解除されませんでした。コミット時点で src/nm-index-data.ts に含まれていない章は 84 章中 37 章です(一覧は同ファイルのヘッダーコメントに記載されています)。nm_statute と nm_search は、対象となっている 47 章(第 30 章「刑事犯罪」と第 40 章「国内問題」を含む)ではどちらも正常に動作し、残りの章についても、誤って「一致なし」とするのではなく、正直に chapter_not_baked を返します。

scripts/bake-index.mjs は再開可能です(.bake-checkpoint.ndjson にチェックポイントを保存し、取得済みのデータはスキップします)。別の IP から、またはさらに時間を置いて再実行すれば、残りの章を取得できます。その後、src/nm-index-data.ts を再生成して再デプロイしてください。これはベイク時に限った制限です。使い捨ての wrangler dev --remote Worker から、本番アカウント上でこのパックの 3 種類すべての URL 形式を正常に取得できました(200、正しいバイト数、章全体の PDF を含む)。取得先のアカウントは、このゲートウェイのデプロイ先と同じです。NMOneSource の CAPTCHA は、document.do に短時間で大量アクセスした IP に対するものであり、Cloudflare のエグレス全般へのブロックではありません。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。

{
  "mcpServers": {
    "new-mexico-code": {
      "url": "https://gateway.pipeworx.io/new-mexico-code/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/new-mexico-code/mcp の tools/list は、上記の表にあるツールに加えて、共有 Pipeworx メタツール(ask_pipeworx、discover_tools、search_within、remember/recall、その他ゲートウェイ全体で使えるツール)を返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、このパック独自のツールに加えて、約 30 個の共有ツールが一覧表示されます。接続時の initialize の応答には、正確なスコープが記載されます。これはその日の状況を知るための正式な情報です。

これは意図的な動作であり、偶然の多重化ではありません。スコープを限定した接続からでも、このパックの対象外の質問に、カタログ全体を横断する ask_pipeworx を介して答えられるようにするのがメタツールです。別の MCP サーバーを追加する必要はありません。現在、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマがもたらすコンテキストコストに比べてルーティングの利点が小さい場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。

または、フル Pipeworx ゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらの URL からも、同じゲートウェイと同じ 1837 以上のデータソースにアクセスできます。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx ですべてのツールにアクセスできます。

MCP クライアントがない場合:HTTP で呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/nm_statute \
  -H 'Content-Type: application/json' \
  -d '{"citation":"30-2-1"}'

最初の呼び出しにアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/nm_statute を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイを経由したラウンドトリップも不要です。

{
  "mcpServers": {
    "new-mexico-code": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-new-mexico-code"]
    }
  }
}

または、直接実行して起動を確認できます。

npx -y @pipeworx/mcp-new-mexico-code

stdin/stdout 経由で MCP を使用し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールはありません。同じソース、同じツールですが、ask_pipeworx によるルーティングはありません。

ask_pipeworx を使用する

ツールを直接呼び出す代わりに、自然な英語で質問できます。上記のパックエンドポイントでも、フルゲートウェイでも利用できます。

ask_pipeworx({ question: "your question about New Mexico Code data" })

ゲートウェイが適切なツールを選択し、引数を自動的に設定します。

詳細情報

ライセンス

MIT

コメント

MCP は初めてですか?

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

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