{"_id":"@darkhorseone/mcp-server-uk-parliament-now","_rev":"2-7c93c3f7a55a962410d4f60e1d93d86a","name":"@darkhorseone/mcp-server-uk-parliament-now","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@darkhorseone/mcp-server-uk-parliament-now","version":"1.0.0","author":{"name":"DarkhorseOne Limited"},"license":"MIT","_id":"@darkhorseone/mcp-server-uk-parliament-now@1.0.0","maintainers":[{"name":"nick-ma","email":"honeyday.mj@gmail.com"}],"homepage":"https://github.com/DarkhorseOne/mcp-servers","bugs":{"url":"https://github.com/DarkhorseOne/mcp-servers/issues"},"bin":{"mcp-server-uk-parliament-now":"dist/index.js","mcp-server-uk-parliament-now-http":"dist/http.js"},"dist":{"shasum":"df2cf0eedeb3be939f2a141c3390a8372f2f65b1","tarball":"https://registry.npmjs.org/@darkhorseone/mcp-server-uk-parliament-now/-/mcp-server-uk-parliament-now-1.0.0.tgz","fileCount":7,"integrity":"sha512-IPJgfAwX0KS57s9PzIBSQ83FlpaJRj/WFAu0vOL3lMYntiSoV++aBfYKYsJzxYBUhr5aKuTOk+58HBLzuv2L6g==","signatures":[{"sig":"MEYCIQDPt5J6I2Z+RmlwK+6/oIv0qNywOpjnLRmWY4D5LDQO9AIhAPPG/LDzu0+BG/X/fBsuDQTsslMY41eH7p+Z4Kl0L2ku","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25527},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c48cc068c266eccd1181d294533763b09a71eca9","scripts":{"dev":"tsx src/index.ts","lint":"pnpm run typecheck","test":"vitest run","build":"tsup src/index.ts src/http.ts --format esm --dts --clean","check":"pnpm run lint && pnpm run typecheck && pnpm run test && pnpm run build","prepack":"pnpm run build && pnpm run check:tarball:shebang","dev:http":"tsx src/http.ts","typecheck":"tsc --noEmit -p tsconfig.json","start:http":"node dist/http.js","inspect:npm":"npx -y @modelcontextprotocol/inspector npx -y -p @darkhorseone/mcp-server-uk-parliament-now mcp-server-uk-parliament-now","inspect:local":"pnpm run build && npx -y @modelcontextprotocol/inspector node ./dist/index.js","prepublishOnly":"pnpm run check:tarball:shebang","check:tarball:shebang":"pnpm run build && node ./scripts/add-shebang.mjs && node ./scripts/verify-tarball-shebang.mjs"},"_npmUser":{"name":"nick-ma","email":"honeyday.mj@gmail.com"},"repository":{"url":"git+https://github.com/DarkhorseOne/mcp-servers.git","type":"git"},"_npmVersion":"11.10.0","description":"MCP server for UK Parliament NOW Annunciator Content API","directories":{},"_nodeVersion":"25.4.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.3.5","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-uk-parliament-now_1.0.0_1773241542022_0.23295016626414067","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@darkhorseone/mcp-server-uk-parliament-now","version":"1.0.1","description":"MCP server for UK Parliament NOW Annunciator Content API","license":"MIT","author":{"name":"DarkhorseOne Limited"},"homepage":"https://github.com/DarkhorseOne/mcp-servers","mcpName":"io.github.nick-ma/uk-parliament-now","repository":{"type":"git","url":"git+https://github.com/DarkhorseOne/mcp-servers.git"},"type":"module","bin":{"mcp-server-uk-parliament-now":"dist/index.js","mcp-server-uk-parliament-now-http":"dist/http.js"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsup src/index.ts src/http.ts --format esm --dts --clean","check:tarball:shebang":"pnpm run build && node ./scripts/add-shebang.mjs && node ./scripts/verify-tarball-shebang.mjs","prepack":"pnpm run build && pnpm run check:tarball:shebang","prepublishOnly":"pnpm run check:tarball:shebang","typecheck":"tsc --noEmit -p tsconfig.json","lint":"pnpm run typecheck","test":"vitest run","dev":"tsx src/index.ts","dev:http":"tsx src/http.ts","start:http":"node dist/http.js","check":"pnpm run lint && pnpm run typecheck && pnpm run test && pnpm run build","inspect:local":"pnpm run build && npx -y @modelcontextprotocol/inspector node ./dist/index.js","inspect:npm":"npx -y @modelcontextprotocol/inspector npx -y -p @darkhorseone/mcp-server-uk-parliament-now mcp-server-uk-parliament-now"},"dependencies":{"@modelcontextprotocol/sdk":"^1.27.1","zod":"^4.3.6"},"devDependencies":{"@types/node":"^24.3.0","tsup":"^8.3.5","tsx":"^4.20.5","typescript":"^5.9.2","vitest":"^3.2.4"},"gitHead":"9183280f70f15cdbe601f078992ceb65b075dea2","_id":"@darkhorseone/mcp-server-uk-parliament-now@1.0.1","bugs":{"url":"https://github.com/DarkhorseOne/mcp-servers/issues"},"_nodeVersion":"25.4.0","_npmVersion":"11.10.0","dist":{"integrity":"sha512-Ch4vgCr+EcqKSME8d+VYdfQDaX/3kXEDGV8KTsUZInQmfJVPzg7OQE3ii/ryHdZqtgINNka5KyHa2NsKy4KE+Q==","shasum":"c09fbd1db17298ae3242f6c47a35d3dcd6984d2c","tarball":"https://registry.npmjs.org/@darkhorseone/mcp-server-uk-parliament-now/-/mcp-server-uk-parliament-now-1.0.1.tgz","fileCount":7,"unpackedSize":26219,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICkw+wiCWDVOtciysrciIa2R+oB3nBwSfrcP7C7gk3ABAiEAu0AagEtsOoMRxxsPvplmfaJkniYChKTEgrJSY6/CLlU="}]},"_npmUser":{"name":"nick-ma","email":"honeyday.mj@gmail.com"},"directories":{},"maintainers":[{"name":"nick-ma","email":"honeyday.mj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-uk-parliament-now_1.0.1_1773360151154_0.2216228796173485"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-11T15:05:41.896Z","modified":"2026-03-13T00:02:31.446Z","1.0.0":"2026-03-11T15:05:42.173Z","1.0.1":"2026-03-13T00:02:31.336Z"},"bugs":{"url":"https://github.com/DarkhorseOne/mcp-servers/issues"},"author":{"name":"DarkhorseOne Limited"},"license":"MIT","homepage":"https://github.com/DarkhorseOne/mcp-servers","repository":{"type":"git","url":"git+https://github.com/DarkhorseOne/mcp-servers.git"},"description":"MCP server for UK Parliament NOW Annunciator Content API","maintainers":[{"name":"nick-ma","email":"honeyday.mj@gmail.com"}],"readme":"![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-blue)\n![AI Agent Ready](https://img.shields.io/badge/AI-Agent%20Ready-green)\n\n# UK Parliament NOW Annunciator MCP Server\n\n# Summary\nThis MCP server provides structured access to UK Parliament NOW Annunciator data using the Model Context Protocol.\nIt enables AI agents to retrieve current and historical annunciator messages through API-backed tools and data access.\nDevelopers can integrate the MCP server via stdio transport to query message feeds for Commons and Lords.\nThe server exposes tools that map directly to the NOW Annunciator API for automation and AI agents workflows.\n\n## Features\n- Retrieve the current annunciator message for Commons or Lords.\n- Fetch the latest message after a specific date and time.\n- Enforce annunciator enum constraints for reliable queries.\n- Preserve upstream payloads in a standardized envelope for downstream tools.\n\n## Available Tools\n### get_current_message_by_annunciator\nReturn the current message by annunciator type.\n\nParameters:\n- annunciator (string, path) – CommonsMain | LordsMain.\n\n### get_latest_message_by_annunciator_and_date\nReturn the most recent message by annunciator after date time specified.\n\nParameters:\n- annunciator (string, path) – CommonsMain | LordsMain.\n- date (string, path) – ISO date-time string.\n\n## Example Output\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"annunciator\": \"CommonsMain\",\n    \"message\": \"The House is sitting\",\n    \"timestamp\": \"2026-03-11T09:00:00Z\"\n  },\n  \"upstream_path\": \"/api/Message/message/CommonsMain/current\",\n  \"retrieved_at\": \"2026-03-11T10:00:00.000Z\"\n}\n```\n\n## Quick Start\nRun the MCP server using npx:\n\n```bash\nnpx -y -p @darkhorseone/mcp-server-uk-parliament-now mcp-server-uk-parliament-now\n```\n\n## MCP Configuration\nExample `mcpServers` configuration for stdio transport:\n\n```json\n{\n  \"mcpServers\": {\n    \"uk-parliament-now\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"-p\", \"@darkhorseone/mcp-server-uk-parliament-now\", \"mcp-server-uk-parliament-now\"],\n      \"env\": {\n        \"UPSTREAM_BASE_URL\": \"https://now-api.parliament.uk\",\n        \"REQUEST_TIMEOUT_MS\": \"10000\"\n      }\n    }\n  }\n}\n```\n\n## Example Usage\n- Retrieve the current Commons annunciator message.\n- Fetch the latest Lords message after a given timestamp.\n- Monitor annunciator updates for session status changes.\n\n## Use Cases\n- AI agents reporting live parliamentary status updates.\n- Monitoring dashboards showing Commons/Lords session messages.\n- Civic tech tools tracking sittings and announcements.\n- Automation workflows that trigger on annunciator updates.\n\n## Data Source\nUK Parliament NOW Annunciator Content API\nhttps://now-api.parliament.uk\n\n## Installation\nRun directly using npx:\n\n```bash\nnpx -y -p @darkhorseone/mcp-server-uk-parliament-now mcp-server-uk-parliament-now\n```\n\nOr install via pnpm from the repository root:\n\n```bash\npnpm install\n```\n\n## Run (HTTP proxy server)\nBuild first, then start:\n\n```bash\npnpm --filter @darkhorseone/mcp-server-uk-parliament-now run build\npnpm --filter @darkhorseone/mcp-server-uk-parliament-now run start:http\n```\n\nSet a custom HTTP port with the `UKP_HTTP_PORT` environment variable (default: `3000`):\n\n```bash\nUKP_HTTP_PORT=3000 pnpm --filter @darkhorseone/mcp-server-uk-parliament-now run start:http\n```\n\nPublished package command:\n\n```bash\nnpx -y -p @darkhorseone/mcp-server-uk-parliament-now -- mcp-server-uk-parliament-now-http\n```\n\nIf your shell cannot resolve the bin (\"command not found\"), run the HTTP entrypoint directly:\n\n```bash\nnpx -y -p @darkhorseone/mcp-server-uk-parliament-now -- node ./dist/http.js\n```\n\nHealth check:\n\n```bash\ncurl http://127.0.0.1:3000/healthz\n```\n\nProxy pattern:\n\n```text\nGET /proxy/<upstream-path>?<query>\n```\n\nExample:\n\n```bash\ncurl \"http://127.0.0.1:3000/proxy/api/Message/message/CommonsMain/current\"\n```\n\n## License\nMIT License\n\n## MCP Metadata\nProtocol: Model Context Protocol\nTransport: stdio\nTools: get_current_message_by_annunciator, get_latest_message_by_annunciator_and_date\n","readmeFilename":"README.md"}