- Home
- MCP servers
- Parliament
Parliament
- python
17
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"i-dot-ai-parliament-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8080/mcp/",
"--allow-http",
"--debug"
]
}
}
}You can access a Parliament MCP Server through an MCP client to run semantic parliamentary searches and get detailed data about members, committees, questions, and Hansard contributions. It exposes a set of tools you can invoke via a local or remote MCP client, enabling fast, structured queries against parliamentary data and related metadata.
How to use
Connect your MCP client to the Parliament MCP Server using the standard MCP configuration. You will interact with a curated set of tools that let you search members, retrieve election results, query parliamentary questions and debates, explore committee details, and access up-to-date information about departments, ministers, and party states. Once connected, you can issue natural-language style queries to locate relevant records, or execute targeted searches to retrieve precise data like voting histories, committee memberships, or specific parliamentary debates.
How to install
Prerequisites you need before starting:
- Docker and Docker Compose
- Node.js for mcp-remote
- Claude Desktop or another MCP client
- An Azure OpenAI account with API access
1. Prepare the environment and start services
Create a working environment by configuring environment variables and starting the required services. The system can connect to Qdrant either locally or via cloud deployment depending on your setup.
2. Run the quick start setup (local Qdrant)
make dev_setup_from_scratch
3. Connect Claude Desktop or another MCP client
Add the Parliament MCP configuration to your MCP client so you can access the tools directly. Use the following configuration snippet in your Claude Desktop or equivalent client to point to the local MCP server.
{
"mcpServers": {
"parliament-mcp": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8080/mcp/", "--allow-http", "--debug"]
}
}
}
4. Start the MCP server and supporting services
With the environment configured, start the MCP server and data services. The exact command flow is described in the quick start steps and typically involves initializing Qdrant, then loading data for Hansard and parliamentary questions.
5. Verify the MCP server is reachable
Open the MCP endpoint in your browser or your MCP client to confirm the server is serving at the expected path. Typical endpoints will be under a local URL such as http://localhost:8080/mcp/. You can also check status and health indicators via your client.
Notes on the connection configuration
If you prefer a local stdio-based configuration for Claude Desktop or another MCP client, you can use the following setup which runs the MCP client side via npx and points to the local server. Keep this configuration and the URL consistent with your running MCP server.
{
"mcpServers": {
"parliament-mcp": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8080/mcp/", "--allow-http", "--debug"]
}
}
}
Troubleshooting
If you encounter issues connecting to the MCP server, verify the server is running on port 8080 and that the path /mcp is correct. Ensure Claude Desktop or your MCP client is configured with the correct command and arguments. If data loading fails, check the Azure OpenAI credentials in your environment and confirm Qdrant is accessible.
Available tools
get_election_results
Get election results for constituencies or specific members
search_members
Search for members of the Commons or Lords by various criteria (includes location/postcode search)
get_detailed_member_information
Get comprehensive member information including biography, contact, interests, voting record, and committee membership
get_state_of_the_parties
Get state of the parties for a house on a specific date
list_ministerial_roles
Get exhaustive list of all government or opposition posts and their current holders
get_departments
Get reference data for government departments
list_all_committees
List all parliamentary committees by status and house
get_committee_details
Get comprehensive committee information including members, publications, evidence, and upcoming events
get_committee_document
Retrieve committee documents including oral evidence, written evidence, and publications
search_parliamentary_questions
Search Parliamentary Written Questions (PQs) by topic, date, party, or member
search_debate_titles
Search through debate titles to find relevant debates
find_relevant_contributors
Find members who have contributed most on specific topics
search_contributions
Search Hansard parliamentary records for actual spoken contributions during debates