mcpField
A
Alabama Code

Alabama Code

リモート
pipeworx.io法務・行政06 日前に更新
リポジトリ公式サイト

Alabama Code について

Alabama Codeは、アラバマ州の現行法令を検索するMCPサーバーです。州法を調べる利用者向けに、議会のAPIへライブ接続し、改正履歴の引用や未施行の成立済み改正も取得します。

主な機能

  1. 01引用番号から法令本文を取得
  2. 02条文本文の全文検索
  3. 03改正履歴の引用を表示
  4. 04成立済み未施行版を表示
  5. 05前後の条文番号を表示

活用シーン

  1. 01引用番号でアラバマ州法を確認
  2. 02キーワードで関連法令を検索
  3. 03改正履歴と将来の施行内容を確認

MCP 対応

法令の検索と条文全文検索のツールをMCPクライアントに公開します。ローカルstdioサーバーまたはPipeworxゲートウェイ経由で利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/alabama-code/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

43
パラメーター型必須説明
qstringいいえquestion の別名。
askstringいいえquestion の別名。
textstringいいえquestion の別名。
inputstringいいえquestion の別名。
packsarrayいいえ任意。ルーティング対象をこれらのパックスラッグに限定します(例:["sec-form-d","sec-13f"])。その場合、ルーターは該当パック内のツールのみを選択します。省略すると、デフォルトの全カタログへのルーティングになります。スラッグは list_packs / search_packs / https://pipeworx.io/directory から取得できます。リストにない、または不明なスラッグは無視され、_meta.pack_scope.ignored に記載されます。該当するスラッグが 1 つもない場合は、カタログ全体にルーティングし、_meta.pack_scope.full_catalog:true を設定します(空の回答にはなりません)。
querystringいいえquestion の別名。
promptstringいいえquestion の別名。
messagestringいいえquestion の別名。
questionstringはい自然言語での質問またはリクエスト。query、q、prompt、text、input、ask、message をエイリアスとして使用できます。

詳細

@pipeworx/alabama-code

Code of Alabama 1975(アラバマ州法典)— 引用による各条文の全文、実際の全文検索、改正履歴。

Pipeworx の一部です。AI エージェントを 1872 以上の稼働中データソースに接続する MCP ゲートウェイです。独立した非公式の連携であり、上流プロバイダーとは提携関係になく、承認も受けておらず、公開もされていません。

ツール

  • al_statute(citation) — Code of Alabama の条文 1 件の現行全文 (例:"13A-6-2"、殺人)。条文タイトル、議会独自の改正履歴の引用一覧(amendment_history)、廃止・移管の処置、前後の条文、および、法律がすでに制定されているもののまだ施行されていない場合は、将来の施行日と本文を含む先行版 pending_version も取得できます。
  • al_search(query, limit?) — 条文本文の実際の全文検索(例:"landlord"、"concealed pistol permit")。アラバマ州議会独自の検索インデックスに対してリアルタイムに実行されます。複数の同種の州法典パックとは異なり、見出しや欄外標題だけに限定されません。

認証

不要です。

データソース

  • https://alison.legislature.state.al.us/graphql — アラバマ州議会独自の公開 GraphQL API です。キー不要で、Cloudflare Worker の送信元から到達できることを確認済みです(エッジで検証済みであり、ノート PC でのテストだけではありません)。両方のツールはリクエストごとにこの API をリアルタイムで呼び出します。データは一切埋め込まれていません。
    • query codeOfAlabamaSection($displayId: String!) — 1 条文の現行本文(存在する場合は施行前の将来版も)、タイトル、改正履歴の文字列、および前後の引用を取得する codeOfAlabamaNeighbors。
    • query searchCodeOfAlabama($query: String!, $limit: Int, $offset: Int) — 条文の content 本文を対象にした全文検索(fullTextQuery 引数)であり、タイトルだけを検索するものではありません。limit に関係なく、該当件数の合計を count として返します。

回避した落とし穴:GraphQL 形式のホストが 2 つありますが、法令データを提供するのはそのうち 1 つだけです。 cms.alison.legislature.state.al.us も POST /graphql に応答します(サイトのマーケティング/CMS コンテンツ、ページ本文やロゴのアセットなどを提供します)。法令クエリすべてに対して、もっともらしい 400 エラー(Cannot query field "codesOfAlabama" on type "Query")を返します。これは異なるサービス上の別のスキーマであり、このパックのクエリ形式に関するエラーではありません。本物の法令 API はメインサイト独自のドメイン alison.legislature.state.al.us/graphql にあります。これはページ自体の HTML 内にある通常のインライン URL 参照から見つけたもので(ビルド設定から推測しても見つかりません)、さらに、クエリを定義している Next.js のチャンクバンドルから codeOfAlabamaSection/searchCodeOfAlabama のクエリテキストを直接取得して確認しています。

回避した落とし穴:GraphQL エンドポイントは、クエリレベルのエラーでも HTTP 200 を返します。 不正なクエリやスキーマが一致しないクエリは、4xx ではなく、本文に errors 配列を含む 200 応答として返されます。al_statute/al_search は本文を読み、errors を明示的に確認して、GraphQL のメッセージを示す明確なエラーをスローします。どちらのツールも、このエラーを found: false に置き換えることはありません。

機能 — 3 つが利用可能で、1 つは過去ではなく未来を対象とします

  • 引用検索 — al_statute。
  • トピック/全文検索 — al_search。実際の条文本文を検索します (ライブ環境で確認済み:「landlord」は、タイトルに「landlord」と記載されていないものも含め、88 の条文に一致します)。
  • 改正/制定履歴 — 利用可能です。有効な各条文の API の history フィールドには、州議会独自の法律引用リストが含まれています (例:"(Acts 1977, No. 607, p. 812, §2005; Act 2016-29, §2.)")。§/& エンティティをデコードしたうえで、amendment_history として返します。
  • 過去の版(改正前に記載されていた条文)— 過去にさかのぼる版は利用できません。ALISON が公開しているのは現在有効な条文のみです。年ごとのアーカイブや「指定日時点の版を表示」する日付選択機能はなく、codeOfAlabamaSection が引用に対して過去の行を複数返すこともありません(改正済みの複数の条文でライブ確認済み)。一方で、未来の行が返されることはあります。州議会がすでに制定した改正がまだ施行されていない場合、同じクエリで、施行日を effectiveDate とする 2 つ目の版が返されます。al_statute はこれを pending_version として公開します(26-2-2 でライブ確認済み。Act 2026-488 に基づき 2027-01-01 に施行)。また、これは過去のアーカイブではなく、未来を対象とするものだと明記しています。

ソースと構造 — パーサーを変更する前にお読みください

alison.legislature.state.al.us(「ALISON」)は Next.js のシングルページアプリです。8 月の州法調査(docs/state-law-probe.md)では、HTML シェルが「クライアント側でレンダリングされるか、ボットを遮断している」と正しく指摘されていました(条文テキストは一切含まれていません)。そして、同じ調査でサウスダコタ州とユタ州について誤った判断をしたときと同様、調査は一段階手前で止まっていました。この SPA には、キー不要の公開 GraphQL API(サウスダコタ州/ノースダコタ州とは異なり、REST ではありません)からデータが供給されます。この API は、サイト独自の /_next/static/chunks/*.js バンドルをダウンロードし、query codeOfAlabamaSection を検索して見つけました。この検索結果から、このパックの SECTION_QUERY/SEARCH_QUERY 定数で使用されている正確なクエリテキストをそのまま取得しています。

引用形式はタイトル-章-条(13A-6-2)です。タイトルには末尾に文字が付く場合があります(13A、26-2A)。al_statute の正規表現は、兄弟パックの検証形式に合わせて、ハイフンで区切られた 2 つまたは 3 つのセグメントと、任意の小数部を受け付けます。

mcps/south-dakota-code や mcps/north-dakota-code とは異なり、このパックには組み込みインデックスがありません。ALISON 独自の searchCodeOfAlabama クエリは、条文本文の実際の全文検索を行うため、インデックスを作成する必要がありません。オフラインインデックスを構築しても、ライブ呼び出しに対する精度の向上はなく、州議会のスケジュールに沿って法典に追加される施行待ちの将来版によって、情報が古くなるだけです。

既知の制限

  • 年ごとの過去版アーカイブはありません。上記の「過去の版」をご覧ください。
  • al_search は本文の全文検索を行いますが、キーワード形式に限られます(フレーズ検索やブール検索のクエリ言語ではありません)。これは州議会独自の検索バックエンドであり、Pipeworx のものではありません。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。

{
  "mcpServers": {
    "alabama-code": {
      "url": "https://gateway.pipeworx.io/alabama-code/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/alabama-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 も同じゲートウェイと同じ1872以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらの URL からでも、ask_pipeworx を使ってすべてのツールにアクセスできます。

MCP クライアントがない場合は、HTTP 経由で呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/al_statute \
  -H 'Content-Type: application/json' \
  -d '{"citation":"13A-6-2"}'

最初の呼び出しにアカウントは不要です。任意のツールの詳細を確認するには、GET https://gateway.pipeworx.io/v1/tools/al_statute を使います。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を呼び出します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も不要です。

{
  "mcpServers": {
    "alabama-code": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-alabama-code"]
    }
  }
}

または、直接実行して起動を確認できます。

npx -y @pipeworx/mcp-alabama-code

stdin/stdout 経由で MCP を使用し、このパックのツールのみについて initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。

ask_pipeworx を使用する

ツールを直接呼び出す代わりに、自然な英語で質問できます。これは上記のパックエンドポイントとフルゲートウェイの両方で利用できます。

ask_pipeworx({ question: "your question about Alabama Code data" })

ゲートウェイが適切なツールを選び、引数を自動的に設定します。

詳細情報

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。