legislens について
legislensは、米国各州の法案や委員会公聴会の記録をホスト型APIに転送して調べるコマンドラインツール兼stdio MCPサーバーです。立法を調査する人向けに、検索、法案詳細、発言者別の証言、公聴会の記録を各州とコロンビア特別区について提供します。
主な機能
- 01キーワードや立法上の属性による法案検索
- 02トピックや発言者による証言検索
- 03法案の詳細と履歴の取得
- 04公聴会の閲覧と発言者名付き記録の取得
- 05州と利用可能なデータ種別の一覧表示
活用シーン
- 01州、提案者、委員会、状況で法案を検索
- 02トピックや発言者から公聴会証言を探す
- 03法案の履歴と公聴会での言及を確認
- 04発言者名付きの公聴会記録を読む
MCP 対応
法案や公聴会の検索、法案詳細、発言者の活動、記録、州ごとのデータ提供状況を扱う7つのツールを提供します。リクエストはホスト型APIに転送され、`GAVELIN_API_KEY` が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | いいえ | 法案のタイトルと本文を対象に照合するキーワード検索クエリです。 |
| state | string | いいえ | 米国の州によるフィルター。2 文字の州コードなどを指定します。 |
| status | string | いいえ | 法案のステータスによるフィルターです。 |
| chamber | string | いいえ | 議院によるフィルター。house や senate などを指定します。 |
| sponsor | string | いいえ | 提案者名によるフィルターです。 |
| committee | string | いいえ | 委員会名によるフィルターです。 |
詳細
legislens
legislens を使うと、米国の州議会で審議中の法案(全50州およびDC)と、委員会公聴会で実際に発言された内容を発言者名とともに確認できます。1つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーを利用できます。
legislens はアーカイブ自体を保持していません。ホストされた API にリクエストを転送するクライアントです。各リクエストはそのサービスに送信され、応答が返されます。法案、証言セグメント、議事録、データの対象範囲はホストされたサービスのものです。サービスが利用できない場合や対象範囲が変わった場合は、legislens にもその状況が反映されます。
API キーが必要です。使用する前に GAVELIN_API_KEY を設定してください。未設定または空白の場合、リクエストを送信する前に、すべてのツールがキー名を示すエラーを返します。キーは Authorization: Bearer <key> として送信されます。API のベース URL は LEGISLENS_API_URL で上書きできます。設定されていない場合、呼び出し先は https://api.gavelin.ai です(ワイヤーアドレスを再構成したものであることが明記されています)。
インストール
npx @reneturcios/legislens list_available_states
または、コンテナーイメージを実行します。
docker run -i ghcr.io/cloudcorprecords/legislens
コンテナーはデフォルトで MCP サーバーを起動します(下記参照)。CLI として使用するには、CLI 引数を渡してください。
CLI
サブコマンド名は MCP ツール名と同じです。
export GAVELIN_API_KEY=<your key>
legislens search_bills --query housing --state CA --status passed
legislens search_bills --sponsor Lee --committee Housing --chamber assembly
legislens search_hearing_testimony --query "rent control" --speaker Lee
legislens get_bill_detail --bill-id CA-AB1
legislens get_speaker_activity --speaker "Jane Lee"
legislens search_committee_hearings --topic housing --from-date 2026-01-01 --to-date 2026-02-01
legislens get_hearing_transcript --hearing-id h-9
legislens list_available_states
legislens --version
結果は上流からの JSON ペイロードとして出力されます。終了コード:成功時は 0、呼び出し失敗時(キー未設定や上流 API エラーを含む)は 1、使用方法のエラー時は 2 です。
MCP サーバー
1つのバイナリで、どちらの用途にも対応します。mcp サブコマンドで stdio MCP サーバーを起動します。
npx -y @reneturcios/legislens mcp
MCP クライアントの設定:
{
"mcpServers": {
"legislens": {
"command": "npx",
"args": ["-y", "@reneturcios/legislens", "mcp"],
"env": { "GAVELIN_API_KEY": "..." }
}
}
}
ツール
| ツール | 入力 | 機能 |
|---|---|---|
search_bills | query、state、sponsor、committee、status、chamber(すべて任意) | キーワード、提出者、委員会、ステータス、議院で法案を検索します。 |
search_hearing_testimony | query(必須)、speaker、committee | 発言者が特定された証言セグメントを検索します。 |
get_bill_detail | bill_id(必須) | 審議履歴や公聴会での言及を含む、法案の詳細を取得します。 |
get_speaker_activity | speaker(必須) | 議員または証人の発言をすべて取得します。 |
search_committee_hearings | topic、committee、chamber、from_date、to_date(すべて任意) | 委員会公聴会を閲覧します。 |
get_hearing_transcript | hearing_id(必須) | 発言者名が明記された、公聴会の全議事録を取得します。 |
list_available_states | (なし) | データがある州と、各州で利用できるデータの種類を一覧表示します。 |
日付は from_date/to_date に YYYY-MM-DD 形式で指定します。入力はすべて文字列です。
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。