Arkansas Code について
Arkansas Code は、引用によるアーカンソー州法の照会と、条文見出しのトピック検索を提供する MCP サーバーです。2020-11-06時点の本文スナップショットと、それに統合されていない後続法の索引を分けて示します。
主な機能
- 01引用による法令本文と沿革の取得
- 0228タイトルの条文見出し検索
- 03該当条文の後続法を別枠で表示
- 04スナップショットと索引の日付表示
- 05キー不要のアクセスとローカルstdioモード
活用シーン
- 01アーカンソー州法の条文と沿革の確認
- 02公式の条文見出しから条文を検索
- 03本文に統合されていない後続法の確認
- 04MCPクライアントへの州法ツールの接続
MCP 対応
`ar_statute` と `ar_search` をMCPクライアントに提供し、ホスト型ゲートウェイと単独のstdioサーバーに対応します。条文照会では本文と後続法の索引を分けて返します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/arkansas-code/mcpclaude mcp add --transport http pipeworx-io-arkansas-code https://gateway.pipeworx.io/arkansas-code/mcp{"mcpServers":{"pipeworx-io-arkansas-code":{"type":"http","url":"https://gateway.pipeworx.io/arkansas-code/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-arkansas-code":{"type":"http","url":"https://gateway.pipeworx.io/arkansas-code/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-arkansas-code":{"type":"http","url":"https://gateway.pipeworx.io/arkansas-code/mcp"}}}{"mcpServers":{"pipeworx-io-arkansas-code":{"serverUrl":"https://gateway.pipeworx.io/arkansas-code/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
43| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| q | string | いいえ | question の別名。 |
| ask | string | いいえ | question の別名。 |
| text | string | いいえ | question の別名。 |
| input | string | いいえ | question の別名。 |
| packs | array | いいえ | 任意。ルーティング対象をこれらのパックスラッグに限定します(例:["sec-form-d","sec-13f"])。その場合、ルーターは該当パック内のツールのみを選択します。省略すると、デフォルトの全カタログへのルーティングになります。スラッグは list_packs / search_packs / https://pipeworx.io/directory から取得できます。リストにない、または不明なスラッグは無視され、_meta.pack_scope.ignored に記載されます。該当するスラッグが 1 つもない場合は、カタログ全体にルーティングし、_meta.pack_scope.full_catalog:true を設定します(空の回答にはなりません)。 |
| query | string | いいえ | question の別名。 |
| prompt | string | いいえ | question の別名。 |
| message | string | いいえ | question の別名。 |
| question | string | はい | 自然言語での質問またはリクエスト。query、q、prompt、text、input、ask、message をエイリアスとして使用できます。 |
詳細
@pipeworx/arkansas-code
1987 年アーカンソー州法典 — 引用による条文検索と、公式の見出しに基づくトピック/キーワード検索
Fleet #2881。<state>-code パックがまだない4州のうちの1つです(ミシシッピ州にも新たに追加されました — fleet #2883)。キー不要。
Pipeworx の一部です。AI エージェントを1872以上の稼働中データソースにつなぐ MCP ゲートウェイです。これは独立した非公式の統合であり、上流プロバイダーとは提携関係になく、承認も受けておらず、公開もされていません。
ツール
ar_statute(citation)— 引用を指定して、アーカンソー州法典注釈付き条文(Ark. Code Ann.)の条文を取得します("5-10-101"、重罪謀殺、"4-70-101"、"Ark. Code Ann. § 5-10-101")。見出し、条文の実質的な本文、History.行(制定・改正した法律)、存在する場合はその他の立法注記に加え、later_actsオーバーレイ(2020-11-06 時点のスナップショット以降に、この正確な引用箇所に関わるものとしてアーカンソー州議会独自の索引に掲載されているすべての法律)を返します(fleet #2906。「The overlay」を参照)。判例法の注釈は意図的に除外しています。訴訟の多い条文では数百 KB に達することがあるためです。ar_search(query, limit?)— 全28編にわたる公式条文見出しを対象に、トピック/キーワード検索を行います(例:"capital murder"、"security deposit")。全文検索ではありません。「Known gaps」を参照してください。
認証
キー不要です。呼び出しのどちら側でも、登録やログインは必要ありません。
データソースと、Lexis への呼び出しではない理由
公式のアーカンソー州法典は、LexisNexis の「無料公開アクセス」ポータル(lexisnexis.com/hottopics/arcode -> advance.lexis.com)を通じて公開されています。実際に稼働していることを確認済みです(2026-10-09)。ランディングページでは、Cookie/フィンガープリントの確認を通過するために実際のブラウザー JavaScript が必要です。Cookie を許可しても、認証エンドポイント(/lnaccess/mip/authn?...)に 302 リダイレクトされ、x-amzn-waf-action: captcha を伴う HTTP 405 が返されます。codes.findlaw.com/ar/ と law.justia.com/codes/arkansas/ は、実際の編/条文ページの両方で Cloudflare のボットチャレンジを表示します(cf-mitigated: challenge、HTTP 403)。
-
https://unicourt.github.io/cic-code-ar/ — アーカンソー州法典の GitHub Pages 版です。UniCourt が Public.Resource.Org に代わって、法典の公式公開済み RTF 巻 (
archive.org/download/gov.ar.code)から構築しました。このリポジトリの README によると「パブリックドメイン、権利不留保」です。HTML ページは編ごとに分かれており(gov.ar.code.title.{NN}.html、2桁のゼロ埋め、全28編)、ar_statuteの呼び出しごとにライブで取得します。このパックはそのデータを中継するもので、法典のコピーをリポジトリに同梱していません(Pipeworx の CLAUDE.md のライセンス欄にあるmirror-needs-grant-proxy-does-not)。出版社の表示に関するライセンスがどう定められていようと、基礎となる法令本文は公法です。制定法には著作権がありません(Banks v. Manchester, 128 U.S. 244 (1888); Veeck v. SBCCI, 293 F.3d 791 (5th Cir. 2002) (en banc))。
正直な制約。 このデータソースには3つのリリース(r76(2020-04-20)、r77(2020-08-18)、r78(2020-11-06))があり、GitHub contents API でライブに確認済みです(2026-10-09)。このパックでは最新の r78を使用しています。これは静的なスナップショットであり、継続的に更新されるフィードではありません。2020-11-06 以降に制定されたアーカンソー州の改正は反映されていません。各応答には、既定で「現在」とするのではなく、current_through と data_as_of: "2020-11-06" が含まれます。それ以降に制定された法律については、LexisNexis がホストする公式法典、またはアーカンソー州法典改訂委員会で確認してください。
(このパックは当初、2012年の Public.Resource.Org の XML スキャンを使用して公開されました。当時、Worker から到達可能な既知のテキストはこれだけでした。同日中の更新で、8年以上新しい UniCourt ミラーを参照するようになり、切り替えはライブで確認済みです。Ark. Code Ann. § 5-10-101 の History. 行は、旧ソースの2011年までではなく、「2019, No. 910, § 666」まで記載されています。)
オーバーレイ:後続の制定法を統合せずに追加(fleet #2906)
Bruce は、現行法を完全に照合するのではなく、凍結された 2020-11-06 時点のスナップショット(「何か方法を考える必要がある」)のまま ar_statute を維持しました。このオーバーレイは、その判断を踏まえた、最も低コストで誠実な改善です。設計と測定結果は docs/current-statute-routes.md(#2902)にあります。計画中の 3 件のうち、これが最初のもので、効果が確認できたら、Mississippi と Tennessee でもそれぞれ独自に構築したインデックスを導入します。
ルール:スナップショットの text は決して書き換えません。その横に、日付とリンクを含み、統合されていないことを明示したリストを追加するだけです。 ar_statute のレスポンスには次の内容が含まれます。
later_acts— スナップショットの日付以降に、この正確な引用箇所に関係した制定法ごとに 1 件のエントリーを含みます。項目はact_number、session(人が読みやすい形式。例:「2025 - Regular Session, 2025」)、link(制定法そのものの PDF)、bill(法案番号)、flags(EC/RP/NS/RNのいずれか。緊急条項/廃止/新設条項/条項番号の変更)、source: "arkleg"、merged: falseです。空([])の場合は、確認済みのすべての会期を通じて、この引用箇所に関する後続の制定法がインデックスにないことを示します。オーバーレイの読み込みに失敗したという意味ではありません(KV インデックスが見つからない、または形式が不正な場合は、下記のar_searchの catchline インデックスと同様、明確にエラーが発生します)。sessions_checked— インデックスが対象とするすべての 2 年間の会期/会期を記載します。later_actsが空の場合も記載するため、呼び出し側は「変更なし」と「未確認」を区別できます。later_acts_data_as_of— オーバーレイを最後に生成した日付です。- 各制定法エントリーの
date: nullは、正直な表記です。ソースインデックスにあるのは会期、制定法番号、PDF リンクであり、制定法ごとの制定日はありません(その日付はインデックスではなく、各制定法の PDF 内に記載されています)。会期の年から日付を推測するより、その旨を示すほうが適切です。
ソース:Arkansas General Assembly 独自の「Code Sections Amended」ツール(arkleg.state.ar.us/Acts/CodeSectionsAmended)は、キー不要のエンドポイント、/Acts/CodeSection?section=<title>&ddBienniumSession=<session> を呼び出します。このエンドポイントは、2 年間の会期/会期中に変更されたすべての引用箇所と、引用箇所、改正する制定法の番号と PDF リンク、EC/RP/NS/RN フラグ、法案番号を返します。実環境と、Cloudflare の本番アカウントで一時的に実行した wrangler dev --remote のエッジプローブで確認済みです(2026-10-09/10)。ノート PC からの curl とバイト単位で一致し、HTTP 200 が返され、ボット対策によるブロックもなく、JavaScript のレンダリングも不要でした。州がすでに維持しているインデックスを利用します。これはプロキシの構成(ルートの CLAUDE.md にある mirror-needs-grant-proxy-does-not)と同じで、上記の ar_statute 自身によるライブ取得と同様です。
Release-78 スナップショットには見つからないが、オーバーレイには存在する条項は、特別にフラグを付けます。ar_statute の found: false レスポンスには later_acts_if_created が含まれます。議会のインデックスに、2020 年のスナップショットには存在しない引用箇所に対する制定法が示されている場合、その条項がスナップショットの日付以降に新設された可能性を示すものであり、必ずしも引用箇所が誤っているとは限りません。
Mississippi と Tennessee では(次に):再利用し、再導出しないでください。 Arkansas は、議会が引用箇所から制定法へのインデックスを直接公開しているため、低コストで対応できます。一方、docs/current-statute-routes.md にあるとおり、Mississippi と Tennessee は公開していません。そのため、それらのオーバーレイでは、州が維持する単一のエンドポイントではなく、署名済み法案のテキストをクロールして独自のインデックスを構築する必要があります。直接引き継げるものは、レスポンス形式(later_acts/sessions_checked/later_acts_merged_into_text: false/「text は決して書き換えない」ルール)、生成済みインデックスと KV 注入のパターン(catchline インデックスで使っているのと同じ src/<xx>-index-data.ts ファイルに新しいエクスポートを追加します。pack-baked-indexes.json では pack slug ごとに 1 ファイルとし、レジストリーエントリーを 2 つにしません)、会期をハードコードせずに検出する方法(固定の会期一覧ではなく、ライブの <select> を読み取ることで、新しい会期の開催に合わせてインデックスを自動的に拡張します)、そして更新ワークフローの scripts/bake-later-acts.mjs → scripts/<xx>-later-acts-refresh.yml という構成です。
既知の制約
ar_searchが照合するのは公式の見出しのみで、法令の全文ではありません。クエリごとに数 MB のタイトルページを28件すべて取得するのは現実的ではありません。条文の本文で扱われていても、見出しに含まれないトピックは見つかりません。- すべてのレスポンスには、Release 78(2020-11-06)時点であることが明記されています。見つかった無料の公開情報には、r78以前(または2012年以前)の条文はありません。
組み込みインデックスの更新
src/ar-index-data.ts には、独立して組み込まれる2つのテーブルがあります。どちらもバンドルされるのではなく、workers/gateway/src/pack-baked-indexes.json を介して KV から1つの _bakedIndex オブジェクトとして注入されます(fleet #2754:値としてインポートされた数 MB のテーブルは、このパックを提供するかどうかにかかわらず、すべてのゲートウェイ分離環境に読み込まれるためです)。
AR_SECTIONS/AR_TITLES—ar_searchの見出しインデックス。28タイトルにまたがる37,369行です。node scripts/bake-index.mjs > src/ar-index-data.tsで再構築します(ファイルを上書きします。下記を参照)。unicourt.github.io/cic-code-arが78より新しいリリースを公開した場合にのみ、再実行してください。AR_LATER_ACTS/AR_LATER_ACTS_SESSIONS_CHECKED—ar_statuteのオーバーレイインデックス(fleet #2906)。2020-11-06以降に開催された12会期にわたる約8,900行です。node scripts/bake-later-acts.mjs >> src/ar-index-data.tsで再構築します(追記)。アーカンソー州の各立法会期が閉会し、法律が署名された後に再実行してください。スケジュールされたバージョンについては.github/workflows/arkansas-later-acts-refresh.ymlを参照してください。会期は自動で検出されます(arkleg.state.ar.us/Acts/SearchByRangeのライブの<select>を読み取ります)。そのため、新しい会期が始まってもコードの変更は不要です。
両テーブルの完全な再生成:
node scripts/bake-index.mjs > src/ar-index-data.ts
node scripts/bake-later-acts.mjs >> src/ar-index-data.ts
どちらかを実行した後は(リポジトリのルートから)、node ../../scripts/check-baked-indexes.mjs を実行してください。KV アップローダーと同じ方法で再生成されたファイルを動的にインポートし、空のエクスポート配列がデプロイに到達する前にエラーにします。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。
{
"mcpServers": {
"arkansas-code": {
"url": "https://gateway.pipeworx.io/arkansas-code/mcp"
}
}
}
このエンドポイントが実際に提供する内容
https://gateway.pipeworx.io/arkansas-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 も、同じゲートウェイと同じ1,872以上のデータソースに接続します。異なるのは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントを使わずに HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/ar_statute \
-H 'Content-Type: application/json' \
-d '{"citation":"5-10-101"}'
最初の呼び出しにはアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/ar_statute を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイを経由した通信も不要です。
{
"mcpServers": {
"arkansas-code": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-arkansas-code"]
}
}
}
または、直接実行して起動を確認できます。
npx -y @pipeworx/mcp-arkansas-code
stdin/stdout 経由で MCP を使用し、このパックのツールのみについて initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールですが、ask_pipeworx によるルーティングはありません。
ask_pipeworx での使用
ツールを直接呼び出す代わりに、自然な英語で質問できます。 これは、上記のパックエンドポイントだけでなく、フルゲートウェイでも利用できます。
ask_pipeworx({ question: "your question about Arkansas Code data" })
ゲートウェイが適切なツールを選び、引数を自動的に入力します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。