search_debates
Pack: openparliament-ca · Endpoint: https://gateway.pipeworx.io/openparliament-ca/mcp
List Hansard speeches (debate contributions) by a specific MP and/or party, optionally within a date range. Returns who spoke, when, and the speech text. IMPORTANT: the OpenParliament API has NO free-text/topic search — you must filter by politician (MP slug; find one via list_politicians) and/or party. There is no way to search debates by subject keyword.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
politician | string | no | MP slug, e.g. “justin-trudeau” (use list_politicians to find slugs) |
party | string | no | Party slug (e.g. “liberal”, “conservative”, “ndp”) |
date_from | string | no | YYYY-MM-DD |
date_to | string | no | YYYY-MM-DD |
limit | number | no | 1-100 (default 20) |
offset | number | no | 0-based offset |
Example call
Arguments
{
"politician": "justin-trudeau",
"limit": 10
}
curl
curl -X POST https://gateway.pipeworx.io/openparliament-ca/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_debates","arguments":{"politician":"justin-trudeau","limit":10}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search_debates', {
"politician": "justin-trudeau",
"limit": 10
});
More examples
{
"party": "liberal",
"date_from": "2024-01-01",
"date_to": "2024-12-31",
"limit": 50
}
Response shape
Full JSON Schema
{
"type": "object",
"description": "Search results from Hansard contributions (debates)"
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"openparliament-ca": {
"url": "https://gateway.pipeworx.io/openparliament-ca/mcp"
}
}
}
See Getting Started for client-specific install steps.