Parliament

Provides access to parliamentary data and semantic search via MCP tools to query members, questions, debates, committees, and related structures.
  • 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

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational