@dymora/5npay-mcp
v0.1.0
Published
MCP server for the 5nPay Council Connector — verify UK PCN references and push council PCN lifecycle events from AI agents.
Maintainers
Readme
5nPay Council Connector — MCP Server
An MCP server for the 5nPay Council Connector — the partner API that lets UK parking-system vendors and local authorities exchange PCN (Penalty Charge Notice) data with 5nPay, the fleet-compliance platform for UK SMEs.
With this server connected, an AI agent can:
| Tool | What it does | Scope required |
|---|---|---|
| get_partner_info | Validate the configured key; see environment + scopes | any |
| verify_pcn | Check a PCN reference against 5nPay and subscribe to its events | pcn:read |
| push_pcn_event † | Push one full-state PCN lifecycle event | pcn:write |
| push_pcn_events_batch † | Push up to 100 events with per-event results | pcn:write |
† Write tools are disabled by default. Set FIVENPAY_ENABLE_WRITES=1 to register them —
even when your key technically holds write scopes.
Who is this for?
Parking-system vendors (back-office platforms serving UK councils) and council integration teams.
You need a partner API key from 5nPay — request onboarding at
[email protected]. Keys are environment-scoped (test / live) and
authorised per council; test keys can never touch live records.
Installation
Claude Desktop / Claude Code
{
"mcpServers": {
"5npay": {
"command": "npx",
"args": ["-y", "@dymora/5npay-mcp"],
"env": {
"FIVENPAY_API_KEY": "5np_test_..."
}
}
}
}Cursor / VS Code
{
"mcp.servers": {
"5npay": {
"command": "npx",
"args": ["-y", "@dymora/5npay-mcp"],
"env": { "FIVENPAY_API_KEY": "5np_test_..." }
}
}
}Event contract (writes)
Every event is a full current-state snapshot, not a delta:
event_id— your idempotency id. Reuse the same id when retrying; never regenerate. Replays of identical content return the stored result; changed content under the same id is rejected asidempotency_conflict.source_version— monotone per PCN in your system. Older versions are acknowledged asstaleand never regress state.vrm— sent over TLS; 5nPay stores only a keyed hash, never the plate.
Full API reference: www.5npay.co.uk/api-docs
Security notes
- The API key is read from the environment and never appears in tool output or errors.
- stdout is reserved for MCP protocol traffic; diagnostics go to stderr.
- Rate limits: 300 requests/min and 2,000 events/min per key.
Development
npm install
npm run build
FIVENPAY_API_KEY=5np_test_... npx @modelcontextprotocol/inspector node dist/index.jsLicense
MIT © Dymora Ltd
