knesset-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tablesA | List every Knesset table, grouped by topic, with what each one holds. Use this to find the right table before describe_table and query. |
| describe_tableA | Show a table's fields and types, its links to other tables (usable in $expand), and optionally one example row, so you can write a correct query. |
| queryA | Query any Knesset table with OData v4 options. Returns up to 200 rows per call; when more exist the result includes next_skip. Text fields are Hebrew. Example: table=KNS_CommitteeSession, filter="CommitteeID eq 4191 and StartDate ge 2026-01-01T00:00:00Z", orderby="StartDate desc", expand="KNS_CmtSessionItem($select=Name)". |
| get_recordA | Fetch one record from any table by its Id, optionally with linked records. |
| find_personA | Find MKs and ministers by Hebrew name. Returns each match's Id (use it with get_person, get_person_votes, search_bills), latest faction and the Knessets they served in. |
| get_personB | A person's profile: every role they held over time (MK and faction, minister, deputy minister, committee roles) plus how many bills they initiated. |
| search_billsA | Search bills by name, Knesset, status, type or initiator. Newest Knesset first. Each result includes its status in words; use get_bill for the full story of one bill. |
| get_billA | Everything about one bill: details and status, initiators, name changes, merges and splits, committee and plenum sessions that discussed it, plenum votes on it (pass a vote Id to get_vote for how each MK and party voted), and document links. |
| get_voteB | One plenum vote: what was voted on, the totals, the breakdown by faction, and the names of the MKs behind each result. |
| get_person_votesA | How one MK voted in the plenum, newest first, with what each vote was about. Pass a VoteID to get_vote to see how everyone else voted. |
| get_sessionA | One plenum sitting or committee meeting: when, which committee, the agenda items, documents (including protocols), and for plenum sittings the votes held. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct entity or operation: table discovery, generic querying, people, bills, votes, and sessions are clearly separated. Even generic get_record is distinguishable from get_person/get_bill by its purpose as a raw record fetch.
Most tools follow a clear verb_noun pattern: list_tables, describe_table, find_person, get_person, search_bills, get_bill, get_vote, get_session. The bare 'query' tool is a minor outlier, but the overall convention is still predictable.
With 11 tools, the server is well-scoped for a Knesset data domain. Each tool covers a meaningful operation without redundancy or bloat.
The tool set covers the full read-only lifecycle: table discovery and schema inspection, generic querying, person profiles and voting records, bill search and detail, plenum votes, and sessions. The generic query and get_record tools also prevent dead ends for entities without dedicated endpoints.