This server connects Claude to the UK Parliament's Questions and Statements API, letting you query written and oral questions, ministerial statements, and related parliamentary records programmatically. It's part of a larger monorepo by DarkhorseOne that wraps a dozen different Parliament APIs, each published as a standalone package. Reach for this when you need to search Hansard records, track ministerial responses, or pull question metadata without manually scraping Parliament's site. It ships as a stdio transport server, so it runs locally and plugs straight into Claude Desktop or any MCP-compatible client.
This repository is a pnpm workspace for MCP server packages maintained by DarkhorseOne Limited.
The following MCP servers are currently implemented under servers/:
| Server slug | npm package | Description | Local version | npm published status |
|---|---|---|---|---|
uk-parliament-members | @darkhorseone/mcp-server-uk-parliament-members | MCP server for UK Parliament Members API | 1.0.1 | ✅ Published 1.0.1 |
uk-parliament-interests | @darkhorseone/mcp-server-uk-parliament-interests | MCP server for UK Parliament Register of Interests API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-oralquestionsandmotions | @darkhorseone/mcp-server-uk-parliament-oralquestionsandmotions | MCP server for UK Parliament Oral Questions and Motions API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-commonsvotes | @darkhorseone/mcp-server-uk-parliament-commonsvotes | MCP server for UK Parliament Commons Votes API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-lordsvotes | @darkhorseone/mcp-server-uk-parliament-lordsvotes | MCP server for UK Parliament Lords Votes API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-statutoryinstruments | @darkhorseone/mcp-server-uk-parliament-statutoryinstruments | MCP server for UK Parliament Statutory Instruments API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-treaties | @darkhorseone/mcp-server-uk-parliament-treaties | MCP server for UK Parliament Treaties API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-now | @darkhorseone/mcp-server-uk-parliament-now | MCP server for UK Parliament NOW Annunciator Content API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-erskinemay | @darkhorseone/mcp-server-uk-parliament-erskinemay | MCP server for UK Parliament Erskine May API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-bills | @darkhorseone/mcp-server-uk-parliament-bills | MCP server for UK Parliament Bills API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-questions-statements | @darkhorseone/mcp-server-uk-parliament-questions-statements | MCP server for UK Parliament Questions and Statements API | 1.0.0 | ✅ Published 1.0.0 |
uk-parliament-committees | @darkhorseone/mcp-server-uk-parliament-committees | MCP server for UK Parliament Committees API | 1.0.0 | ✅ Published 1.0.0 |
packageManager)pnpm install
All scripts are run from the repo root:
# Lint all workspace packages
pnpm run lint
# Typecheck all workspace packages
pnpm run typecheck
# Run tests across the workspace
pnpm run test
# Build all workspace packages
pnpm run build
# Run everything (lint, typecheck, test, build)
pnpm run check
# Clean dist outputs in packages
pnpm run clean
If the corresponding workspace package exists, these will run its dev script:
pnpm run dev:gov-uk
pnpm run dev:companies-house
Workspace package globs are defined in pnpm-workspace.yaml:
servers/*packages/*Each workspace package should provide its own lint, typecheck, test, and build scripts where applicable.
Shared TypeScript defaults live in tsconfig.base.json.
Workspace packages can extend it, for example:
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist"
},
"include": ["src"]
}
This repo includes Changesets tooling (@changesets/cli) for versioning and publishing workspace packages.
pnpm run changeset
pnpm run version:packages
pnpm run publish:packages
Use these when publishing a single package directly:
# Check current npm user status.
# If shows, run npm login:
# npm error code E401
# npm error 401 Unauthorized - GET https://registry.npmjs.org/-/whoami
npm whoami
# From the package directory
npm publish --access public
# Or from repo root (workspace filtered)
pnpm --filter <workspace-package-name> publish --access public
Copyright (c) DarkhorseOne Limited.