mcpField
U
uk-parliament-now

uk-parliament-now

Local
github.com/DarkhorseOneLegal & Government1Updated 33w ago

About uk-parliament-now

An MCP server for developers and monitoring tools that need current or historical UK Parliament NOW annunciator messages. It retrieves messages for the Commons or Lords, including the latest message after a specified time.

Key features

  1. 01Get the current Commons or Lords message
  2. 02Fetch the latest message after a timestamp
  3. 03Validate annunciator type values
  4. 04Return upstream data in a standard envelope

Use cases

  1. 01Report live parliamentary status
  2. 02Display Commons and Lords messages on dashboards
  3. 03Track sittings and announcements
  4. 04Trigger automation on message updates

MCP support

Exposes tools to MCP clients for retrieving current annunciator messages and the latest message after a specified date and time for the Commons or Lords.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"nick-ma-uk-parliament-now": {
"command": "npx",
"args": [
"-y",
"@darkhorseone/mcp-server-uk-parliament-now"
]
}
}
}
Run commandnpx -y @darkhorseone/mcp-server-uk-parliament-now

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@darkhorseone/mcp-server-uk-parliament-now1.0.1

Tools

2

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
annunciatorenumYesCurrent message by annunciatorCommonsMain | LordsMain

Details

From the project README

MCP Compatible AI Agent Ready

UK Parliament NOW Annunciator MCP Server

Summary

This MCP server provides structured access to UK Parliament NOW Annunciator data using the Model Context Protocol. It enables AI agents to retrieve current and historical annunciator messages through API-backed tools and data access. Developers can integrate the MCP server via stdio transport to query message feeds for Commons and Lords. The server exposes tools that map directly to the NOW Annunciator API for automation and AI agents workflows.

Features

  • Retrieve the current annunciator message for Commons or Lords.
  • Fetch the latest message after a specific date and time.
  • Enforce annunciator enum constraints for reliable queries.
  • Preserve upstream payloads in a standardized envelope for downstream tools.

Available Tools

get_current_message_by_annunciator

Return the current message by annunciator type.

Parameters:

  • annunciator (string, path) – CommonsMain | LordsMain.
get_latest_message_by_annunciator_and_date

Return the most recent message by annunciator after date time specified.

Parameters:

  • annunciator (string, path) – CommonsMain | LordsMain.
  • date (string, path) – ISO date-time string.

Example Output

{
  "status": 200,
  "data": {
    "annunciator": "CommonsMain",
    "message": "The House is sitting",
    "timestamp": "2026-03-11T09:00:00Z"
  },
  "upstream_path": "/api/Message/message/CommonsMain/current",
  "retrieved_at": "2026-03-11T10:00:00.000Z"
}

Quick Start

Run the MCP server using npx:

npx -y -p @darkhorseone/mcp-server-uk-parliament-now mcp-server-uk-parliament-now

MCP Configuration

Example mcpServers configuration for stdio transport:

{
  "mcpServers": {
    "uk-parliament-now": {
      "command": "npx",
      "args": ["-y", "-p", "@darkhorseone/mcp-server-uk-parliament-now", "mcp-server-uk-parliament-now"],
      "env": {
        "UPSTREAM_BASE_URL": "https://now-api.parliament.uk",
        "REQUEST_TIMEOUT_MS": "10000"
      }
    }
  }
}

Example Usage

  • Retrieve the current Commons annunciator message.
  • Fetch the latest Lords message after a given timestamp.
  • Monitor annunciator updates for session status changes.

Use Cases

  • AI agents reporting live parliamentary status updates.
  • Monitoring dashboards showing Commons/Lords session messages.
  • Civic tech tools tracking sittings and announcements.
  • Automation workflows that trigger on annunciator updates.

Data Source

UK Parliament NOW Annunciator Content API https://now-api.parliament.uk

Installation

Run directly using npx:

npx -y -p @darkhorseone/mcp-server-uk-parliament-now mcp-server-uk-parliament-now

Or install via pnpm from the repository root:

pnpm install

Run (HTTP proxy server)

Build first, then start:

pnpm --filter @darkhorseone/mcp-server-uk-parliament-now run build
pnpm --filter @darkhorseone/mcp-server-uk-parliament-now run start:http

Set a custom HTTP port with the UKP_HTTP_PORT environment variable (default: 3000):

UKP_HTTP_PORT=3000 pnpm --filter @darkhorseone/mcp-server-uk-parliament-now run start:http

Published package command:

npx -y -p @darkhorseone/mcp-server-uk-parliament-now -- mcp-server-uk-parliament-now-http

If your shell cannot resolve the bin ("command not found"), run the HTTP entrypoint directly:

npx -y -p @darkhorseone/mcp-server-uk-parliament-now -- node ./dist/http.js

Health check:

curl http://127.0.0.1:3000/healthz

Proxy pattern:

GET /proxy/<upstream-path>?<query>

Example:

curl "http://127.0.0.1:3000/proxy/api/Message/message/CommonsMain/current"

License

MIT License

MCP Metadata

Protocol: Model Context Protocol Transport: stdio Tools: get_current_message_by_annunciator, get_latest_message_by_annunciator_and_date

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.