Illinois Code について
Illinois Code は、引用やテーマからイリノイ州法を調べるための MCP サーバーです。事前取得した法令本文とテーマ検索を組み合わせ、応答にデータの取得時点を示します。
主な機能
- 01引用による法令本文の取得
- 02テーマによる法令検索
- 03引用と条文見出しの表示
- 04データ取得時点の表示
活用シーン
- 01引用を使った法令本文の確認
- 02法律テーマから関連条項を特定
- 03返された法令データの取得時点を確認
MCP 対応
Pipeworx ゲートウェイまたはローカルの stdio サーバーとして、MCP クライアントに法令検索とテーマ検索のツールを提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/illinois-code/mcpclaude mcp add --transport http pipeworx-io-illinois-code https://gateway.pipeworx.io/illinois-code/mcp{"mcpServers":{"pipeworx-io-illinois-code":{"type":"http","url":"https://gateway.pipeworx.io/illinois-code/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-illinois-code":{"type":"http","url":"https://gateway.pipeworx.io/illinois-code/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-illinois-code":{"type":"http","url":"https://gateway.pipeworx.io/illinois-code/mcp"}}}{"mcpServers":{"pipeworx-io-illinois-code":{"serverUrl":"https://gateway.pipeworx.io/illinois-code/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
引用によるイリノイ州統合法典の検索とトピック検索
キーは不要です。720 ILCS 5/9-1 は第一級殺人です。
Pipeworx の一部です。AI エージェントを1881以上のライブデータソースに接続するMCPゲートウェイです。これは独立した非公式の連携であり、上流プロバイダーとは提携も、推奨も、公開もされていません。
エンコーディングは導出できます
720 ILCS 5/9-1 -> ?DocName=072000050K9-1
^^^^chapter ^^^^act 0 K+section
Chapterとactは4桁になるようゼロ埋めします。サイトは内部のChapterIDとActIDを使って遷移しますが、それらは必要ありません。引用にすべて含まれています。
ライブパスが最初に2度却下された理由
以前のプローブでは、旧パス(fulltext.asp。サイト再構成後は現在404)と、法令に含まれていない検索語句を使っていました。互いに無関係な2つの誤りが同じ「該当なし」を生み、「指定方法が間違っていた」ではなく「イリノイ州にアクセスできない」と受け取られていました。
対応範囲(フリート #2505)
ライブサイトのFullTextエンドポイントは、別の修正不可能な理由により、Cloudflare Workerから到達できません。ilga.govが不完全なTLS証明書チェーン(中間証明書のない独自のリーフ証明書)を提供しています。OSの信頼ストアに不足しているSectigo中間証明書がすでにあるマシンではcurlが成功しますが、厳格なfetch()(Cloudflareと通常のNodeのどちらも)は完全に失敗します(ゲートウェイではHTTP 526、Nodeから直接実行するとfetch failed)。証明書チェーンの問題は再試行では解決しません。そのため、出荷前の14日間連続で毎日illinois-codeがupstream_downを返していました。
ilga.govへの自動アクセスに対するILGA独自の「アクセス拒否」ページには、解決策が記載されています。バルク取得や自動処理を明示的に想定した、夜間に同期される公開ファイルリポジトリftp.ilga.govです(「自動システムはILGA.govをスクレイピングするのではなく、リポジトリからファイルを取得してください」)。scripts/ingest-il-statutes.mjsはWorkersの外部(そこではcurlが引き続き機能します)でリポジトリを走査し、章ごとに1つのJSONバンドル(72,000ではなく68オブジェクト。actごと、または条項ごとに1つ作成しても書き込みあたりのコストは同じで、その費用をかける理由はありません)を共有のpipeworx-datasets R2バケット内のstatutes/il/<chapter>.jsonに書き込みます。
il_compiled_statuteは最初にローカルのバンドルを参照します。Chapter/actがクロール済みで、その中に条項がない場合、それが確定的な結果です。有効性に関係なく現時点ですべての引用で失敗するライブパスを再試行する意味はありません。そのため、ツールは直接section_not_foundを返します。Chapter/actがまったくクロールされていない場合は、ライブ取得にフォールバックします。
各レスポンスのdata_as_ofには、事前取得したテキスト(クロールのingested_at)が使われたのか、ライブ取得(現在)が使われたのかが示されます。
トピック検索
il_statute_searchは、「通貨両替ライセンス料」や「隠し携帯の相互承認」といった、引用検索では答えられない質問に、共有のSEARCH_SHARD Durable Object(workers/gateway/src/search-shard.ts、シャード名はil-statutes)のFTS5で回答します(新しいCloudflareバインディングではなく再利用です。ゲートウェイはテキストバインディングの上限に達しているためです)。FTSの本文は条項の見出しと全文であり、見出しだけではありません。DOのコンテンツレス設計は、判例法の460億件規模の意見テキストを重複させないためのものです。このコーパスの規模ではその必要はなく、トピック検索の語句は短い見出しよりも条項の本文に含まれていることがはるかに多いためです。ヒットIDはstatutes/il/_index.jsonを通じて引用に解決されます。検索結果には引用と見出しが含まれます。全文を取得するには、結果に含まれるchapter/act/sectionを指定してil_compiled_statuteを呼び出してください。
検索結果が見つからない場合の動作
ライブフォールバック:Sec.見出しのない200レスポンスを構造的に検出します。元のパックから変更はありません。事前取得の場合:chapter/actのバンドルは存在しますが、そのsections配列に条項がありません。
更新
node scripts/ingest-il-statutes.mjs — 定期的に再実行してください(イリノイ州の立法会期は毎年開催されるため、毎日の鮮度確認は必要ありません)。スケジュールは設定されていません。手動で実行するか、ワークフローを追加した場合は gh workflow run で実行してください。GitHub 独自の schedule: トリガーは ~2026-09-09 以降、信頼性に問題があるため(CLAUDE.md を参照)、定期更新では単純な cron トリガーではなく、監視して実行を指示するパターンに従ってください。
データソース
イリノイ州議会(公開ファイルリポジトリの ftp.ilga.gov と、ライブフォールバック用の ilga.gov)。イリノイ州法は公的記録であり、一括ファイルリポジトリについて再利用の制限は見つかりませんでした。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。
{
"mcpServers": {
"illinois-code": {
"url": "https://gateway.pipeworx.io/illinois-code/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/illinois-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 も同じゲートウェイと、同じ1881以上のデータソースに接続します。異なるのは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも ask_pipeworx を使えば、すべてのツールを利用できます。
MCP クライアントがない場合:HTTP 経由で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/il_compiled_statute \
-H 'Content-Type: application/json' \
-d '{"chapter":"720","act":"5","section":"9-1"}'
最初の呼び出しにアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/il_compiled_statute を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントもゲートウェイへのラウンドトリップも不要です。
{
"mcpServers": {
"illinois-code": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-illinois-code"]
}
}
}
または、直接実行して起動を確認します。
npx -y @pipeworx/mcp-illinois-code
stdin/stdout 経由で MCP をやり取りし、このパック独自のツールのみについて initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールはありません。同じソース、同じツールを利用できますが、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、平易な英語で質問できます。これは上記のパックのエンドポイントでも、フルゲートウェイでも利用できます。
ask_pipeworx({ question: "your question about Illinois Code data" })
ゲートウェイが適切なツールを選択し、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。