get_committee_meetings
Retrieve Swiss parliament committee meeting schedules. Filter by committee group ID and set result limits to find specific meeting information.
Instructions
Get Swiss parliament committee/commission meeting schedule. Optionally filter by committee group ID.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | No | Committee group ID to filter (optional — omit for all committees) | |
| limit | No | Max meetings to return (default: 5, max: 20) |
Implementation Reference
- src/modules/parliament.ts:627-664 (handler)The implementation of the getCommitteeMeetings function which fetches and formats committee meeting data.
async function getCommitteeMeetings(args: { group_id?: number; limit?: number; }): Promise<string> { const limit = Math.min(args.limit ?? 5, 20); const params: Record<string, string | number | boolean | undefined> = { body_key: "CHE", type: "meeting", sort_by: "-begin_date", lang: "de", lang_format: "flat", limit, }; if (args.group_id !== undefined) { params.group_id = args.group_id; } const url = buildUrl("/meetings/", params); const resp = await apiFetch<MeetingRecord>(url); const meetings = resp.data.map((m) => ({ id: m.id, name: m.name_de, date: m.begin_date ? m.begin_date.split("T")[0] : null, endDate: m.end_date ? m.end_date.split("T")[0] : null, state: m.state, groupId: m.group_id, url: m.url_external_de, })); return truncate( JSON.stringify({ count: meetings.length, total: resp.meta.total_records, meetings, }) ); } - src/modules/parliament.ts:213-231 (schema)The registration and schema definition for the get_committee_meetings tool.
{ name: "get_committee_meetings", description: "Get Swiss parliament committee/commission meeting schedule. Optionally filter by committee group ID.", inputSchema: { type: "object" as const, properties: { group_id: { type: "number", description: "Committee group ID to filter (optional — omit for all committees)", }, limit: { type: "number", description: "Max meetings to return (default: 5, max: 20)", }, }, }, }, - src/modules/parliament.ts:702-705 (registration)The dispatcher case that maps the get_committee_meetings tool name to its handler function.
case "get_committee_meetings": return getCommitteeMeetings( args as { group_id?: number; limit?: number } );