North Carolina Code について
North Carolina Codeは、North Carolina州法を引用情報やテーマから調べるためのMCPサーバーです。条文の取得と全文検索に対応し、章データが事前取得済みならそれを使い、未取得の場合はライブ取得します。
主な機能
- 01引用情報による法令の取得
- 02テーマによる法令テキスト検索
- 03事前取得した章テキストの利用
- 04データ時点の提示
活用シーン
- 01引用した法令条文の確認
- 02法的テーマに関連する条文の検索
- 03条文が存在するかの確認
MCP 対応
MCPクライアントに法令参照とテーマ検索のツールを提供します。ローカルのstdio経由で実行するか、Pipeworxゲートウェイ経由で接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/north-carolina-code/mcpclaude mcp add --transport http pipeworx-io-north-carolina-code https://gateway.pipeworx.io/north-carolina-code/mcp{"mcpServers":{"pipeworx-io-north-carolina-code":{"type":"http","url":"https://gateway.pipeworx.io/north-carolina-code/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-north-carolina-code":{"type":"http","url":"https://gateway.pipeworx.io/north-carolina-code/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-north-carolina-code":{"type":"http","url":"https://gateway.pipeworx.io/north-carolina-code/mcp"}}}{"mcpServers":{"pipeworx-io-north-carolina-code":{"serverUrl":"https://gateway.pipeworx.io/north-carolina-code/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
ノースカロライナ州一般法
引用によるノースカロライナ州一般法の検索と、全文のトピック検索に対応しています。APIキーは不要です。
Pipeworx の一部です。AI エージェントを1800以上の稼働中データソースに接続するMCPゲートウェイです。これは独立した非公式の連携であり、上流プロバイダーとは提携、承認、公開のいずれもされていません。
このデータソースの検証方法については docs/state-law-probe.md をご覧ください。複数の州のサイトでは、存在しない法律にもHTTP 200を返すため、リリース前に各州のデータパックでMISSとHITを区別できることを確認しています。
対応範囲(フリート #2505)
セクションごとのライブパス(BySection/Chapter_N/GS_N-M.html)はncleg.govによって制限されています。2026-09-29の測定では、85件中82件の呼び出しがタイムアウトしました。nc_general_statute は現在、まず取得済みのテキストを試します。scripts/ingest-nc-statutes.mjs はncleg.gov独自の章ごとの一括文書(ByChapter/Chapter_N.html — リクエスト数は、約34,000件のセクションごとのリクエストではなく、文字付き小章も含めて396件)を取得し、各文書を § N-M. 見出し。 のマーカーで分割します。分割したデータは、章ごとに1つのJSONバンドルとして、共有の pipeworx-datasets R2バケット内の statutes/nc/<chapter>.json に書き込みます。
章がクロール済みで、そのセクションが章内に見つからない場合、それが確定情報です(廃止・番号変更されたセクションは通常どおりあります)。この場合、ツールはライブ接続を行わず、その旨を返します。章がまだクロールされていない場合は、元のセクションごとのライブ取得にフォールバックします。
各応答の data_as_of は、取得済みのテキスト(クロールの ingested_at)とライブ取得(現在)のどちらからデータが取得されたかを示します。
トピック検索
nc_statute_search は、引用検索だけでは答えられない「投票所での選挙活動」や「大家による報復的な立ち退き」といった質問に、共有のSEARCH_SHARD Durable Object(workers/gateway/src/search-shard.ts、シャード名は nc-statutes。新しいCloudflareバインディングは不要)でのFTS5検索を通じて回答します。検索結果には引用と見出しが含まれます。結果のセクションを指定して nc_general_statute を呼び出すと、全文を取得できます。
既知の制限:「Reserved」の小節見出し
章の分割処理では、§ <section>. <Heading>(見出しの前に文字どおりのピリオドがある形式)を基準にします。一部のセクションでは、プレースホルダーを示すドット付き小番号の後にコロンを使います。具体的には § 1-87.2: Reserved for future codification purposes. のような形式です。分割処理はピリオドを基準にするため、「1-87.2」内のドットにさかのぼって誤認し、その小節を基礎となるセクション(「1-87」)にまとめます。その結果、11個のプレースホルダー小節が、同じ番号を共有する別々の配列項目として、1つの実セクションのバンドルエントリーに含まれることがあります。2026-09-30の全件クロールでの測定では、影響を受けた(章、セクション)の組み合わせは460件、余分なエントリーは1,875件で、ほぼすべてが「Reserved for future codification purposes」でした(確認済み。影響を受けた組み合わせのサンプルに、実質的なセクション見出しはありませんでした)。これらの番号を実際に引用して検索すると、引き続き解決されます(最初に一致するエントリー、つまり本物のセクションが返されます)。余分なプレースホルダーの行を含むのは、検索結果を解決するために使われるインデックスだけです。プレースホルダーには順位付けに有意な全文コンテンツがないため、検索インデックス自体の順位は正しいままです。影響を受ける内容はすべて「予約済み、本文なし」の埋め草であるため、ここでは修正していません。実際の引用がこのように衝突する場合は、ドット付き小番号内の . と見出しの終端を示す . を区別するよう分割処理を修正することが、範囲を限定したフォローアップになります。
更新
node scripts/ingest-nc-statutes.mjs を定期的に再実行してください(ノースカロライナ州の立法会期は年1回で、ここでは毎日の鮮度は必要ありません)。スケジュールは設定されていません。手動で実行するか、ワークフローが追加された場合は gh workflow run で実行してください。GitHub独自の schedule: トリガーは2026-09-09頃から不安定なため(CLAUDE.mdを参照)、定期更新は単純なcronトリガーではなく、モニターからディスパッチするパターンに従う必要があります。
データソース
州議会の公式サイト(ncleg.gov)です。ノースカロライナ州の法律は公的記録であり、ここで使用する一括文書のパスに再利用制限は見つかりませんでした。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:
{
"mcpServers": {
"north-carolina-code": {
"url": "https://gateway.pipeworx.io/north-carolina-code/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/north-carolina-code/mcp の tools/list は、上の表にあるツールに加えて、共有の Pipeworx メタツール(ask_pipeworx、
discover_tools、search_within、remember/recall など、ゲートウェイ全体で利用できるツール群)も返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック固有のツールと合わせて、およそ 30 個の共有ツールが一覧表示されています。接続の initialize レスポンスには正確な対象範囲が記載されており、接続時点での正式な情報となります。
これは意図的な設計であり、意図せず多重化されているわけではありません。メタツールを使うことで、このパックが扱わない質問にも、カタログ全体を対象にルーティングする ask_pipeworx を通じて回答できます。MCP サーバーをもう 1 つ追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマによるコンテキスト消費がルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
または、Pipeworx のフルゲートウェイに接続すると、このパックのツールだけでなく、すべてのパックのツールが直接一覧表示されます:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も、同じゲートウェイと同じ 1800 以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらから接続しても、ask_pipeworx ですべてのツールにアクセスできます。
MCP クライアントがない場合:HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/nc_general_statute \
-H 'Content-Type: application/json' \
-d '{"section":"14-17"}'
最初の呼び出しにはアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/nc_general_statute を実行します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイとの往復通信も不要です:
{
"mcpServers": {
"north-carolina-code": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-north-carolina-code"]
}
}
}
または、起動を確認するために直接実行します:
npx -y @pipeworx/mcp-north-carolina-code
このサーバーは stdin/stdout 経由で MCP を使用し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールを使用し、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、自然な英語で質問できます。この方法は、上記のパックエンドポイントでもフルゲートウェイでも利用できます:
ask_pipeworx({ question: "your question about North Carolina Code data" })
ゲートウェイが適切なツールを選び、引数を自動的に入力します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。