FedMCP - Federal Parliamentary Information MCP Server
An MCP (Model Context Protocol) server providing access to Canadian federal parliamentary and legal information sources through Claude and other LLM applications.
Features
FedMCP provides tools for accessing:
OpenParliament API - Debates, votes, MPs, bills, and committees
House of Commons Hansard - Official transcripts of parliamentary proceedings
LEGISinfo - Current and historical Canadian legislation
CanLII API - Canadian Legal Information Institute case law and legislation (requires API key)
Installation
Configuration
For CanLII access, you need an API key (free for research and non-commercial use):
Request a key from https://www.canlii.org/en/feedback/feedback.html
Copy
.env.exampleto.envAdd your CanLII API key to the
.envfile
Usage
Running the MCP Server
Or run directly with Python:
Available Tools
The MCP server exposes the following tools:
Parliamentary Data:
search_debates- Search House of Commons debates by keywordsearch_bills- Search Canadian bills by number or keywordssearch_hansard- Search Hansard transcripts for quotes and statementslist_debates- List recent parliamentary debatesget_bill- Get details for a specific billlist_mps- List Members of Parliamentlist_votes- List parliamentary votes
Legal Data (requires CanLII API key):
search_cases- Search Canadian case law by database and keywordsget_case- Get metadata for a specific caseget_case_citations- Get citing/cited cases and legislationsearch_legislation- Browse Canadian federal and provincial legislation
MCP Client Configuration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Architecture
FedMCP is built on the existing canfedinfo library clients, adapted for the MCP protocol:
OpenParliamentClient - Pagination-aware API client for openparliament.ca
OurCommonsHansardClient - XML parser for House of Commons Hansard transcripts
LegisInfoClient - Access to LEGISinfo bill and legislation data
CanLIIClient - REST API client for Canadian case law and legislation
RateLimitedSession - Built-in retry logic with exponential backoff
All clients use a shared rate-limited HTTP session to ensure reliable API access.
Development
License
MIT License - see LICENSE file for details
Credits
Based on the canfedinfo library from the broadcast-os project.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Provides access to Canadian federal parliamentary data (debates, bills, MPs, votes, Hansard transcripts) and legal information (case law and legislation through CanLII) for research and analysis.