bill-commons

Search 209k+ US state bills, all 50 states + DC: full text, sponsors, votes, status. Free.

使うべきか

品質と安全性

A
説明の品質
97%
スキーマの完全性
58%
命名の品質
96%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • LOWTool 'get_jurisdiction_coverage' description lacks action verbget_jurisdiction_coverage 内
  • LOWTool 'build_legislative_evidence_packet' name length outside 3-30 rangebuild_legislative_evidence_packet 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,783トークン数(ツール定義)
~830 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.39%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "bill-commons": {
      "url": "https://mcp.billcommons.org/mcp"
    }
  }
}

リモートエンドポイント

https://mcp.billcommons.org/mcpstreamable-http

できること

ツール一覧

ツール(11)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢search_legislation(q, jurisdiction, chamber, status, limit)

Search FULL BILL TEXT -- not just known-bill-number lookup. `q` is matched against titles, descriptions, AND ingested document text via Postgres websearch_to_tsquery (supports "quoted phrases", OR, and -exclusion, same syntax as a search engine), with a fuzzy pg_trgm title-similarity fallback when the exact query has no hits. `q` can ALSO be a bill number ("HB 123", "H.B. 123", "hb123" all match) and that fast path is tried first. Optionally filter by jurisdiction (two-letter state code or name), chamber, and status. For a curated cross-state slice of a subject (e.g. "every AI bill in the country") rather than an ad-hoc keyword search, call list_topics first -- its membership rules also match on structured subject tags this full-text search does not see.

入力スキーマ

{
  "type": "object",
  "properties": {
    "q": {
      "title": "Q",
      "type": "string"
    },
    "jurisdiction": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Jurisdiction"
    },
    "chamber": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Chamber"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "required": [
    "q"
  ],
  "title": "search_legislationArguments"
}
🟢get_bill_record(bill_id, jurisdiction, session, identifier, include_full_text)

Fetch the full record for one bill: metadata, sponsors, subjects, actions, versions, and vote-event summaries. Look up by canonical bill_id (UUID), or by jurisdiction + identifier (+ optional session to disambiguate). For a human bill number like HB 123, use jurisdiction="NC", identifier="HB 123"; bill_id is for UUIDs.

入力スキーマ

{
  "type": "object",
  "properties": {
    "bill_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bill Id"
    },
    "jurisdiction": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Jurisdiction"
    },
    "session": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Session"
    },
    "identifier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Identifier"
    },
    "include_full_text": {
      "default": false,
      "title": "Include Full Text",
      "type": "boolean"
    }
  },
  "title": "get_bill_recordArguments"
}
⚪compare_bill_versions(bill_id, version_id_a, version_id_b)

Deterministic diff (unified + structured) between two versions of a bill's extracted text. Defaults to earliest vs. latest texted version if version ids are omitted. Errors if fewer than 2 versions have extracted text. Result is labeled 'derived' (computed by Bill Commons, not an official document).

入力スキーマ

{
  "type": "object",
  "properties": {
    "bill_id": {
      "title": "Bill Id",
      "type": "string"
    },
    "version_id_a": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Id A"
    },
    "version_id_b": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Id B"
    }
  },
  "required": [
    "bill_id"
  ],
  "title": "compare_bill_versionsArguments"
}
🟢find_similar_bills(bill_id, limit)

Find bills with similar titles via deterministic trigram similarity, across jurisdictions. Labeled 'derived' -- not an official cross-reference or companion-bill designation.

入力スキーマ

{
  "type": "object",
  "properties": {
    "bill_id": {
      "title": "Bill Id",
      "type": "string"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "required": [
    "bill_id"
  ],
  "title": "find_similar_billsArguments"
}
🟢get_vote_details(vote_event_id, bill_id)

Fetch vote event(s) with member-level (yes/no/other/absent) vote records. Provide vote_event_id for one vote, or bill_id for all recorded votes on that bill.

入力スキーマ

{
  "type": "object",
  "properties": {
    "vote_event_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vote Event Id"
    },
    "bill_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bill Id"
    }
  },
  "title": "get_vote_detailsArguments"
}
🟢get_upcoming_hearings(jurisdiction, bill_id, limit)

List upcoming (future-dated) legislative hearings/events, optionally filtered by jurisdiction and/or bill.

入力スキーマ

{
  "type": "object",
  "properties": {
    "jurisdiction": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Jurisdiction"
    },
    "bill_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bill Id"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "title": "get_upcoming_hearingsArguments"
}
⚪trace_legislative_history(bill_id)

Full chronological legislative history for a bill: merged timeline of actions, version publications, and votes, plus related-bill links.

入力スキーマ

{
  "type": "object",
  "properties": {
    "bill_id": {
      "title": "Bill Id",
      "type": "string"
    }
  },
  "required": [
    "bill_id"
  ],
  "title": "trace_legislative_historyArguments"
}
🟡build_legislative_evidence_packet(bill_id, include_full_text, question)

Compile a citation-ready evidence packet for a bill: full official record, legislative history timeline, votes with member-level detail, and hearings -- each explicitly labeled official vs. derived with source URLs. Returns a `how_to_cite` block with a one-line `cite_as` sentence, a human `permalink`, a JSON `download_url`, and a `snapshot_id` that changes if and only if a cited fact about the bill changes -- so a reader can check later whether the citation still holds. Snapshots are NOT archived; the id is a change detector, not a way to retrieve an older packet. Pass `question` to record what the packet was assembled to answer; it is echoed into the artifact so a filed packet carries its own scope.

入力スキーマ

{
  "type": "object",
  "properties": {
    "bill_id": {
      "title": "Bill Id",
      "type": "string"
    },
    "include_full_text": {
      "default": false,
      "title": "Include Full Text",
      "type": "boolean"
    },
    "question": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Question"
    }
  },
  "required": [
    "bill_id"
  ],
  "title": "build_legislative_evidence_packetArguments"
}
🟢get_jurisdiction_coverage(state)

Return the jurisdiction_coverage state-machine status for one state (abbreviation or name), or the full 51-jurisdiction coverage matrix if state is omitted.

入力スキーマ

{
  "type": "object",
  "properties": {
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "State"
    }
  },
  "title": "get_jurisdiction_coverageArguments"
}
🟢get_active_sessions(jurisdiction)

List legislative sessions currently flagged active, optionally filtered by jurisdiction (two-letter state code or name).

入力スキーマ

{
  "type": "object",
  "properties": {
    "jurisdiction": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Jurisdiction"
    }
  },
  "title": "get_active_sessionsArguments"
}
🟢list_topics

List Bill Commons' curated cross-state topic trackers (e.g. artificial intelligence, youth online safety, platform accountability, cybersecurity, cryptocurrency, data privacy, local government & preemption) -- the entry point for "what subjects does Bill Commons track across all 50 states + DC" and "how do I get every bill in one". Each topic is a title/subject membership rule tuned for precision over recall, with a live bill_count and how_to_fetch_bills. This tool does not itself return bill rows -- pair it with search_legislation or the REST API's /topics/{slug} for the bills.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "title": "list_topicsArguments"
}

推奨プロンプト

search_research
Search for information about [topic] using bill-commons
想定されるツール: search_legislation
find_specific
Find [specific item] using bill-commons
想定されるツール: search_legislation
retrieve_data
Get details about [item] from bill-commons
想定されるツール: get_bill_record
fetch_info
Fetch [information type] using bill-commons
想定されるツール: get_bill_record
list_items
List all [items] available in bill-commons
想定されるツール: list_topics

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 11 件
検証済みバージョンは記録されていませんツール 11 件