Northern Mariana Code について
北マリアナ諸島のCommonwealth Codeを調べるMCPサーバーです。法務担当者、研究者、開発者向けに、引用検索と公式キャッチライン検索を提供し、公式サイトが使えない場合はInternet ArchiveのPDFを試します。
主な機能
- 01引用による条文テキスト取得
- 02公式キャッチラインのトピック検索
- 03ライブ取得後にWaybackへフォールバック
- 04データ日付と代替経路の警告表示
活用シーン
- 01特定のCMC条文の確認
- 02トピック別の島嶼法令検索
- 03条文がライブサイトかアーカイブ由来かの確認
MCP 対応
引用検索の`nmi_statute`と公式キャッチライン検索の`nmi_search`を提供します。Pipeworxゲートウェイへの接続と、ローカルのstdio MCPサーバーとしての実行に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/northern-mariana-code/mcpclaude mcp add --transport http pipeworx-io-northern-mariana-code https://gateway.pipeworx.io/northern-mariana-code/mcp{"mcpServers":{"pipeworx-io-northern-mariana-code":{"type":"http","url":"https://gateway.pipeworx.io/northern-mariana-code/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-northern-mariana-code":{"type":"http","url":"https://gateway.pipeworx.io/northern-mariana-code/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-northern-mariana-code":{"type":"http","url":"https://gateway.pipeworx.io/northern-mariana-code/mcp"}}}{"mcpServers":{"pipeworx-io-northern-mariana-code":{"serverUrl":"https://gateway.pipeworx.io/northern-mariana-code/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/northern-mariana-code
北マリアナ諸島自治連邦区法典(CNMI 法令)— 引用(例:"6 CMC § 1101")による条文テキストの取得、および公式の条文見出しを対象としたトピック/キーワード検索です。2026-10-09 時点で法典パックがない6つの管轄区域(DC と5つの準州)のうちの1つです。Fleet #2892。
Pipeworx の一部です。Pipeworx は、AI エージェントを1819以上の稼働中のデータソースにつなぐ MCP ゲートウェイです。これは独立した非公式の連携であり、上流プロバイダーとは提携、推奨、公開のいずれもしていません。
ツール
nmi_statute(citation)— 引用で指定した北マリアナ諸島自治連邦区法典の条文(例:"6 CMC 1101"は殺人、"1 CMC 101"は「北マリアナ諸島」を定義)のテキストを、公式の条文見出しとタイトルの文脈とともに返します。まず公式サイトにライブアクセスし、サイトに接続できない場合(2026-10 頃から接続できない状態です。「現在の障害」を参照)は、同じ公式 PDF の Internet Archive Wayback Machine によるキャプチャにフォールバックします。すべてのレスポンスにはroute("live"または"wayback")、data_as_of、およびフォールバック時のstaleness_warningが含まれます。nmi_search(query, limit?)— 10のタイトルすべてにわたる、公式の条文見出しを対象としたトピック/キーワード検索です(例:"murder"、"tax")。全文検索ではありません。「既知の制限」を参照してください。
認証
キー不要です。
データソース
https://cnmilaw.org/pdf/cmc_section/T{title}/{section}.pdf— CNMI 法改正委員会が作成した条文ごとの PDF です(例:タイトル6 § 1101 は.../T6/1101.pdf)。nmi_statuteはリクエストごとにこの PDF をライブ取得し、タイムアウトは8秒で、該当する条文のテキストを抽出します。https://web.archive.org/web/{timestamp}if_/{that same PDF URL}— Wayback Machine が同一の公式 PDF をクロールしたものです。上記のライブ取得に失敗した場合にのみ使用します。1回のリクエストで Wayback 独自のリダイレクトにより実際のキャプチャのうち最も近いものが解決されます(/web/{today}if_/{url}が最も近い実際のスナップショットに302リダイレクトします)。呼び出しごとに別途 CDX を検索する必要はありません。CDX API は連続して検索すると厳しくレート制限されます(このパックの作成中に直接確認したところ、1回成功した同じクエリが、数回呼び出すだけで503を返し始めました)。mcps/northern-mariana-code/scripts/bake-index.mjsは、タイトル一覧ページ(cnmilaw.org/cmc.php、または Wayback で直近に読み取れるキャプチャ)を一度オフラインで取得し、引用と条文見出しのインデックスをsrc/nmi-index-data.tsに生成します。これはnmi_searchと、nmi_statuteが「引用は存在するが到達できない」場合と「その引用は存在しない」場合を区別するために使われます。約7,100件に及ぶ条文すべてを検索クエリごとに走査するには量が多すぎるためです。
現在の障害 — ライブ経路が停止していると判断する前にお読みください
cnmilaw.org は現在アクセスできません(2026-10-09 にライブで確認済み)が、閉鎖ではなく一時的な問題とみられます。 3 つの方法で確認しました。
- 一般的な住宅回線からの HTTPS リクエストはタイムアウトするか、応答がありません。
wrangler dev --remoteによる Worker のエッジプローブ(つまり、地域ブロックではありません)では、cnmilaw.org/とcnmilaw.org/pdf/cmc_section/T6/1101.pdfの両方で Cloudflare の522(「オリジンに到達できません」)が返されます。- ベア HTTP の仮想ホスト(TLS なし)は、まったく異なるバックエンドに解決されます。Network Solutions のレジストラページが表示され、"This domain has been temporarily disabled. If you own this domain, please log in to your account manager to re-enable the domain." と記載されています。これはボット対策の壁や CAPTCHA ではなく、レジストラレベルでの停止(おそらく更新期限切れ)です。
Wayback Machine 自身のクローラーは、2026-02-17 まで、この正確なパスからライブの 200 PDF を取得できていました(CDX インデックスで確認済み)。したがって、これは最近の停止であり、長期間閉鎖されていたサイトではありません。nmi_statute は毎回、まず cnmilaw.org のライブサイトを試します(タイムアウトは 8 秒)。登録が復旧すれば、コードを変更することなく、呼び出しは再び "route": "live" にルーティングされます。法令本文そのものをあらかじめコピーしておく必要はありませんでした(arkansas-code の 2012 年 PRO スキャンとは異なります)。Wayback Machine には同一の公式 PDF のクロールデータがすでにあるため、そのミラーをリクエストごとにライブ取得するのは、ルートの CLAUDE.md にあるプロキシとミラーのルールに照らして「コピー」ではなく「呼び出し」です。
機能
- 引用の検索 —
nmi_statute。Wayback フォールバック付きで、まずライブサイトを試します。 - トピック/キーワード検索 —
nmi_search。キャッチラインのみを対象とします。 - 改正/制定履歴 — 法令本文自体に含まれます(ほとんどの条文の末尾にある
Source: PL ...行)が、独立したフィールドには解析されません。CNMI の PDF には、Arkansas の XML スキャンのような構造化された履歴ノードがありません。 - 過去のバージョン(特定の改正前の本文)— 確認できた無料ソースでは利用できません。
解析に関する注記
条文 PDF は、共有の extractPdfText() ヘルパー(shared/src/pdf-text.ts)で抽出します。これは kentucky-code と north-dakota-code が使用しているものと同じです。キャッチラインのインデックスは、cmc.php 自身のアンカーテキスト(.../T6/1101.pdf にリンクするアンカータグで、テキストは「§ 1101. Murder.」)を解析し、href にすでに含まれている先頭の条文番号を取り除きます。
更新手順: node scripts/bake-index.mjs > src/nmi-index-data.ts — まず cnmilaw.org のライブサイトを試し、読み取り可能な最新の cmc.php の Wayback キャプチャに自動的にフォールバックします。新たに制定された条文を取り込むには、時々再実行してください。nmi_statute 自体は、呼び出しごとに法令本文をライブサイトまたは Wayback から取得するため、このファイルが最新であることには依存しません。
既知の制限
nmi_searchは公式のキャッチラインのみを照合し、法令本文全体は検索しません。条文本文に記載されていてもキャッチラインにないトピックは見つかりません。- cnmilaw.org が停止している間、成功する
nmi_statuteの呼び出しはすべて Wayback 経由となり、その条文が最後にクロールされた日付が使用されます。セクションごとのスナップショットの日付は異なります(テストでは、ある条文は 2024-08-13、別の条文は 2026-02-17 でした)。arkansas-codeの 2012 年スキャンのように、単一の固定された基準日ではありません。パック全体の日付を想定せず、レスポンスごとに必ずdata_as_ofを確認してください。 - タイトルと条文番号は解析できても、ライブサイトにも Wayback にもなく、ベイク済みインデックスにもない引用は
citation_not_foundとして報告されます。ベイク済みインデックスには存在するものの、どちらの経路からも取得できない引用は、誤ってfound: falseとせず、明確なupstream_downエラーとして報告されます。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。
{
"mcpServers": {
"northern-mariana-code": {
"url": "https://gateway.pipeworx.io/northern-mariana-code/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/northern-mariana-code/mcp の tools/list は、上の表にあるツールに加えて、共有 Pipeworx メタツールである ask_pipeworx、
discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツール一式を返します。そのため、表示されるツール数はこの表より多くなります。単一パックのエンドポイントでは現在、パック固有のツールとともに約30個の共有ツールが一覧表示されます。接続の initialize 応答には正確な対象範囲が記載されており、その日の状況を確認するうえで最も信頼できる情報です。
これは意図的な設計であり、偶然の多重化ではありません。メタツールを使うと、このパックが対象としていない質問にも、カタログ全体を横断してルーティングする ask_pipeworx を通じて回答できます。そのため、2つ目の MCP サーバーを追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマがもたらすコンテキスト消費がルーティングの利便性を上回る場合は、複数のパックのエンドポイントではなく、フルゲートウェイに一度接続してください。
または、Pipeworx のフルゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールを直接一覧表示できます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も、同じゲートウェイと同じ1819以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらの URL からも ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントをお持ちでない場合:HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/nmi_statute \
-H 'Content-Type: application/json' \
-d '{"citation":"6 CMC 1101"}'
最初の呼び出しにアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/nmi_statute を使います。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を使います。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も不要です。
{
"mcpServers": {
"northern-mariana-code": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-northern-mariana-code"]
}
}
}
または、直接実行して起動を確認できます。
npx -y @pipeworx/mcp-northern-mariana-code
stdin/stdout 経由で MCP を使い、initialize/tools/list/tools/call に応答します。対象はこのパックのツールのみで、上記のゲートウェイ接続に追加される共有メタツールはありません。同じソース、同じツールですが、ask_pipeworx によるルーティングはありません。
ask_pipeworx を使う
ツールを直接呼び出す代わりに、平易な英語で質問できます。これは上記のパックエンドポイントでも、フルゲートウェイでも使えます。
ask_pipeworx({ question: "your question about Northern Mariana Code data" })
ゲートウェイが適切なツールを選び、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。