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
- 01Get the current Commons or Lords message
- 02Fetch the latest message after a timestamp
- 03Validate annunciator type values
- 04Return upstream data in a standard envelope
Use cases
- 01Report live parliamentary status
- 02Display Commons and Lords messages on dashboards
- 03Track sittings and announcements
- 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.
Tools
2Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| annunciator | enum | Yes | Current message by annunciatorCommonsMain | LordsMain |
Details
From the project README
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
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.