Abgeordnetenwatch

live GovernmentData

Abgeordnetenwatch MCP — German federal & state parliament data.

4 tools
0ms auth
free tier 50 calls/day

Tools

list_parliaments

List German parliaments tracked by Abgeordnetenwatch: the federal Bundestag, all 16 state Landtage, and the EU parliament. Returns id, short name and full official name for each. Use the ids to scope

No parameters required.

Try it
search_politicians

Search German federal and state politicians by name (surname or partial surname, contains-match). Returns matching politicians with party, year of birth and sex. Example: name "Scholz" or "Merz". Use

No parameters required.

Try it
get_politician

Get the full profile of a single German politician by Abgeordnetenwatch id: name, party, year of birth, sex, education and residence. Get the id from search_politicians.

No parameters required.

Try it
list_polls

List recorded parliamentary votes/polls (Abstimmungen) with their title and date. Optionally scope to a single legislative period via period_id (a parliament-period id). Returns most recent polls firs

No parameters required.

Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/abgeordnetenwatch/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/abgeordnetenwatch/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_parliaments","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("list_parliaments", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("abgeordnetenwatch mcp — german federal & state parliament data");