{"_id":"@dymora/5npay-mcp","name":"@dymora/5npay-mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dymora/5npay-mcp","version":"0.1.0","description":"MCP server for the 5nPay Council Connector — verify UK PCN references and push council PCN lifecycle events from AI agents.","mcpName":"io.github.dymora-uk/5npay-mcp","license":"MIT","type":"module","bin":{"5npay-mcp":"dist/index.js"},"main":"dist/index.js","engines":{"node":">=18"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","start":"node dist/index.js"},"repository":{"type":"git","url":"git+https://github.com/Dymora-UK/5npay-mcp.git"},"homepage":"https://www.5npay.co.uk/api-docs","keywords":["mcp","model-context-protocol","5npay","pcn","uk-councils","fleet-compliance","parking"],"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^3.25.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.6.0"},"_id":"@dymora/5npay-mcp@0.1.0","gitHead":"f100a77d8f7596018fd524822b51e353da76a12b","bugs":{"url":"https://github.com/Dymora-UK/5npay-mcp/issues"},"_nodeVersion":"24.16.0","_npmVersion":"11.2.0","dist":{"integrity":"sha512-DLHQnCaT98X5P1MNnAWVISW9swiXtxCo2f4K1mYABWuWe7ZoOKbUq+9W3EJ1NL3UQTSw44mE2LMf/ZwqiNYJiA==","shasum":"4ab4a18e0f26811dc37c09d3b17acf5b83a04ce3","tarball":"https://registry.npmjs.org/@dymora/5npay-mcp/-/5npay-mcp-0.1.0.tgz","fileCount":5,"unpackedSize":14586,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFQ03/k1dDnlbYdFU/08o7yd5bLLRB7bhRXCRNj1+gitAiEAk9mZDcQ6P/2cfEiVD8sem9opjLxFkv+f4BZuhl5U5NA="}]},"_npmUser":{"name":"bboe","email":"abiboedymora@gmail.com"},"directories":{},"maintainers":[{"name":"bboe","email":"abiboedymora@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/5npay-mcp_0.1.0_1783931429483_0.18113253256207695"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-13T08:30:29.289Z","0.1.0":"2026-07-13T08:30:29.617Z","modified":"2026-07-13T08:30:29.796Z"},"maintainers":[{"name":"bboe","email":"abiboedymora@gmail.com"}],"description":"MCP server for the 5nPay Council Connector — verify UK PCN references and push council PCN lifecycle events from AI agents.","homepage":"https://www.5npay.co.uk/api-docs","keywords":["mcp","model-context-protocol","5npay","pcn","uk-councils","fleet-compliance","parking"],"repository":{"type":"git","url":"git+https://github.com/Dymora-UK/5npay-mcp.git"},"bugs":{"url":"https://github.com/Dymora-UK/5npay-mcp/issues"},"license":"MIT","readme":"# 5nPay Council Connector — MCP Server\n\n[![npm](https://img.shields.io/npm/v/@dymora/5npay-mcp)](https://www.npmjs.com/package/@dymora/5npay-mcp)\n\nAn [MCP](https://modelcontextprotocol.io) server for the **5nPay Council Connector** — the partner\nAPI that lets UK parking-system vendors and local authorities exchange PCN (Penalty Charge Notice)\ndata with [5nPay](https://www.5npay.co.uk), the fleet-compliance platform for UK SMEs.\n\nWith this server connected, an AI agent can:\n\n| Tool | What it does | Scope required |\n|---|---|---|\n| `get_partner_info` | Validate the configured key; see environment + scopes | any |\n| `verify_pcn` | Check a PCN reference against 5nPay and subscribe to its events | `pcn:read` |\n| `push_pcn_event` † | Push one full-state PCN lifecycle event | `pcn:write` |\n| `push_pcn_events_batch` † | Push up to 100 events with per-event results | `pcn:write` |\n\n† Write tools are **disabled by default**. Set `FIVENPAY_ENABLE_WRITES=1` to register them —\neven when your key technically holds write scopes.\n\n## Who is this for?\n\nParking-system vendors (back-office platforms serving UK councils) and council integration teams.\nYou need a **partner API key** from 5nPay — request onboarding at\n[sales@5npay.co.uk](mailto:sales@5npay.co.uk). Keys are environment-scoped (`test` / `live`) and\nauthorised per council; test keys can never touch live records.\n\n## Installation\n\n### Claude Desktop / Claude Code\n\n```json\n{\n  \"mcpServers\": {\n    \"5npay\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dymora/5npay-mcp\"],\n      \"env\": {\n        \"FIVENPAY_API_KEY\": \"5np_test_...\"\n      }\n    }\n  }\n}\n```\n\n### Cursor / VS Code\n\n```json\n{\n  \"mcp.servers\": {\n    \"5npay\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dymora/5npay-mcp\"],\n      \"env\": { \"FIVENPAY_API_KEY\": \"5np_test_...\" }\n    }\n  }\n}\n```\n\n## Event contract (writes)\n\nEvery event is a **full current-state snapshot**, not a delta:\n\n- `event_id` — your idempotency id. **Reuse the same id when retrying**; never regenerate.\n  Replays of identical content return the stored result; changed content under the same id\n  is rejected as `idempotency_conflict`.\n- `source_version` — monotone per PCN in your system. Older versions are acknowledged as\n  `stale` and never regress state.\n- `vrm` — sent over TLS; 5nPay stores only a keyed hash, never the plate.\n\nFull API reference: [www.5npay.co.uk/api-docs](https://www.5npay.co.uk/api-docs)\n\n## Security notes\n\n- The API key is read from the environment and never appears in tool output or errors.\n- stdout is reserved for MCP protocol traffic; diagnostics go to stderr.\n- Rate limits: 300 requests/min and 2,000 events/min per key.\n\n## Development\n\n```bash\nnpm install\nnpm run build\nFIVENPAY_API_KEY=5np_test_... npx @modelcontextprotocol/inspector node dist/index.js\n```\n\n## License\n\nMIT © Dymora Ltd\n","readmeFilename":"README.md","_rev":"1-9fb4640c3926cfd81712d1a84e89e299"}