Kentucky Code について
Kentucky Codeは、州法を調べる人向けにKentucky Revised Statutes(KRS)を検索するMCPサーバーです。引用番号やテーマで検索し、現行本文と制定・改正履歴を返します。オンラインで公開されていない旧版の本文は取得できません。
主な機能
- 01引用番号によるKRS本文の取得
- 02法令本文のテーマ検索
- 03施行日と改正履歴の返却
- 04取得できない旧版本文の報告
活用シーン
- 01特定のKRS条文の確認
- 02テーマから州法を検索
- 03制定・改正記録の確認
- 04旧版が取得可能かの確認
MCP 対応
MCPサーバーとして、KRS条文の照会と全文テーマ検索ツールをクライアントに公開します。Pipeworxゲートウェイ経由で接続できるほか、キー不要でローカルのstdio MCPサーバーとして実行できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/kentucky-code/mcpclaude mcp add --transport http pipeworx-io-kentucky-code https://gateway.pipeworx.io/kentucky-code/mcp{"mcpServers":{"pipeworx-io-kentucky-code":{"type":"http","url":"https://gateway.pipeworx.io/kentucky-code/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-kentucky-code":{"type":"http","url":"https://gateway.pipeworx.io/kentucky-code/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-kentucky-code":{"type":"http","url":"https://gateway.pipeworx.io/kentucky-code/mcp"}}}{"mcpServers":{"pipeworx-io-kentucky-code":{"serverUrl":"https://gateway.pipeworx.io/kentucky-code/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/kentucky-code
Kentucky Revised Statutes(KRS) — 引用およびトピック検索による州法規 (改正・制定履歴付き)。キー不要です。
Pipeworx の一部です — AI エージェントを1882以上の稼働中のデータソースに接続するMCPゲートウェイです。独立した非公式の連携であり、上流プロバイダーとの提携、推奨、公開はありません。
ツール
ky_statute(citation)— 引用によるKRS条文の現行テキスト ("507.020"、"KRS 383.580"、"§ 507.020")。見出し、 条文全文、effective_date、およびhistory行(制定・改正した 法令)を返します。改正前のバージョンのテキストはオンラインの どこにも公開されていません。historical_versionsでその旨を示し、 黙って省略することはありません。ky_search(query, limit?)— 見出しだけでなく、法令本文全体を対象とした トピックの全文検索です("landlord"では、どちらの単語も含まない 見出し「Security deposits」のKRS 383.580が見つかります)。一致した 引用と見出しを返します。全文を取得するには、引用を指定してky_statuteを呼び出してください。
認証
キー不要です。呼び出しのどちら側でも、登録やキーは必要ありません。
データソース
- https://apps.legislature.ky.gov/LRCSearch/Home/getStatuteJSON —
立法調査委員会独自の引用・トピック検索です。
searchPhrase、statuteRange=true&startRange=1&endRange=999、および完全一致の 引用検索用のsearchStatuteNumber=trueを指定してGETします。インラインの<script>から取得する新しいRequestVerificationTokenヘッダーが必要です。 https://apps.legislature.ky.gov/lrcsearch — Cookieとは結び付いていません(確認済み:検索ページはCookieを設定しません)。 そのため、呼び出しごとにトークン取得用のGETを1回、APIへのGETを1回行うだけで 完結します。ログインは不要です。 - https://apps.legislature.ky.gov/law/statutes/statute.aspx?id= —
一致した条文の全文です。条文ごとのPDFとして配信されます
(
content-disposition: inline;FileName="KRS507_020(K).pdf")。サイト上には 法令本文を掲載したHTMLページはありません。章の索引ページには見出しだけが 記載されています。新しいshared/src/pdf-text.tsのextractPdfTextヘルパーで 抽出しています(対応範囲と非対応範囲については同ファイルを参照してください)。 このパック以前、このリポジトリにはPDFテキスト抽出機能はありませんでした。
不透明なIDの落とし穴と、これが2段階の解決方法ではない理由。 8月の
州法調査(docs/state-law-probe.md)では、Kentuckyの法令URLは、引用から
対応関係を導けない不透明なデータベースIDで指定されていると指摘されていました。
これは、VermontとConnecticutが章の索引を経由する2段階取得で解決したものと同じ
形式です。Kentuckyの章の索引ページ(chapter.aspx?id=)には、その対応関係が
掲載されています(確認済み:Chapter 507の索引には、IDの横に「.020 Murder.」と
記載されています)。そのため、2段階の方法でも機能しますが、より単純な1段階の
方法も機能するため、このパックではそちらを使っています。LRC独自の検索APIが
引用から直接IDを解決します。これはKRS全体を対象とした実際の全文検索であり、
タイトルや見出しの索引ではないためです(実際の検索で確認済み:「landlord」を
検索すると、見出しが「Security deposits」だけのKRS 383.580が見つかります)。
4つの機能のうち、利用できるのは3つです。 引用検索とトピック検索は、
フラグを切り替えて同じ検索エンドポイントを使います。改正・履歴情報は、抽出した
PDFテキストから解析した法令独自のHistory:行です。4つ目の機能、つまり特定の
改正前の条文テキストは、オンラインのどこにも公開されていません。置き換えられた
IDにアクセスすると「Invalid Statute」ページにリダイレクトされ、入手するには
法令改訂担当者にメールで問い合わせるよう案内されます。このパックでは、その情報を
黙って欠落させず、historical_versionsとして報告します。
部・章の見出し行。 検索APIのTypeフィールドは、実際の法令条文では"K"、
法令本文のない章・部の見出しでは"D"(ky_statuteはPDFを取得せず、
not_a_sectionを返します)、廃止された条文では"R"です(テキストは引き続き
返され、type_labelにその旨が示されます)。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:
{
"mcpServers": {
"kentucky-code": {
"url": "https://gateway.pipeworx.io/kentucky-code/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/kentucky-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 も同じゲートウェイと、同じ 1882 以上のデータソースに接続します。異なるのは、どのパックのツールが直接一覧表示されるかだけです。どちらの URL からも ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントがない場合:HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/ky_statute \
-H 'Content-Type: application/json' \
-d '{"citation":"507.020"}'
最初の呼び出しにアカウントは不要です。ツールを調べるには、GET https://gateway.pipeworx.io/v1/tools/ky_statute を使用します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を使用します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も必要ありません:
{
"mcpServers": {
"kentucky-code": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-kentucky-code"]
}
}
}
または、起動することを確認するため、直接実行します:
npx -y @pipeworx/mcp-kentucky-code
stdin/stdout 経由で MCP と通信し、このパックのツールのみに対する initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールを使えますが、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、自然な英語で質問できます。これは上記のパックエンドポイントでも、フルゲートウェイでも利用できます:
ask_pipeworx({ question: "your question about Kentucky Code data" })
ゲートウェイが適切なツールを選び、引数を自動的に設定します。
詳細情報
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。