Part of DarkhorseOne's UK Parliament suite, this server wraps the House of Lords voting records API. You get access to division results, vote breakdowns by party, and individual peer voting records. Useful if you're building tools that track legislative patterns in the upper chamber, analyzing voting trends over time, or cross referencing Lords votes with Bills data from the companion server. The API returns structured vote data you can query by date range, division number, or member. One of a dozen Parliament servers from the same maintainer, so it's designed to work alongside Commons votes, Bills, and Committee data if you need the full legislative picture.
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.