Skip to main content

MCP eRegistrations

AI-powered administration for eRegistrations platforms.

A monorepo of six MCP servers that let Claude (and any MCP-compatible client) manage service design, runtime data, databases, identity, translations, and logs on eRegistrations deployments through natural language.

You: Scan the Jamaica service abc-123 for config issues
Claude: Found 144 issues — 67 orphaned effects (HIGH), 18 orphaned determinants (HIGH), 33 translation issues...

You: Fix the high-severity ones
Claude: Phase 1: Delete 67 orphaned effects. Phase 2: Delete 18 determinants. Proceed? [waits]

Each write operation is audited with per-instance rollback state.

Packages

Package Entry point Scope Tools
mcp_eregistrations_bpa mcp-eregistrations-bpa Service design (read + write) ~176
mcp_eregistrations_gdb mcp-eregistrations-gdb Generic DB builder (read + write) ~63
mcp_eregistrations_keycloak mcp-eregistrations-keycloak IAM admin (read + write) ~51
mcp_eregistrations_ds mcp-eregistrations-ds Display System / runtime monitoring ~45
mcp_eregistrations_translations mcp-eregistrations-translations Translation authoring + governance (read + write) 22
mcp_eregistrations_graylog mcp-eregistrations-graylog Log search ~6

Common helpers live in mcp_eregistrations_common/ (instance profiles, shared auth, config resolution).

For tool-level reference, see the per-package CLAUDE.md inside src/mcp_eregistrations_*/.

Installation

Plugin marketplace (recommended)

claude plugins marketplace add unctad-digital-government
claude plugins install bpa-mcp@unctad-digital-government           # Service design
claude plugins install gdb-mcp@unctad-digital-government           # Databases
claude plugins install keycloak-mcp@unctad-digital-government      # IAM
claude plugins install ds-mcp@unctad-digital-government            # Runtime monitoring
claude plugins install translations-mcp@unctad-digital-government  # Translations (authoring + governance)
claude plugins install graylog-mcp@unctad-digital-government       # Logs

Restart Claude Code, then register your instances:

/bpa-mcp:install              # walks you through adding your first profile
/bpa-mcp:login jamaica        # authenticate once, shared across all servers

Update with claude plugins marketplace update unctad-digital-government then reinstall — a marketplace bump alone does not refresh already-installed plugins.

Direct (uvx)

claude mcp add --scope user --transport stdio BPA-jamaica \
  -- uvx --from mcp-eregistrations@latest mcp-eregistrations-bpa

Then register the instance at runtime — environment variables are only used to bootstrap the default instance; all other profiles are stored in ~/.config/mcp-eregistrations-bpa/profiles.json and registered via the instance_add tool.

Other MCP clients

For OpenCode, the config schema and keys differ from Claude Code's. See INSTALL-OPENCODE.md for the opencode.json block, a ready-to-paste install prompt, and the schema differences you need to know.

Multi-instance, shared auth

One server process can target any number of eRegistrations instances. Every tool accepts an optional instance parameter:

You: List services in Nigeria
Claude: [service_list(instance="nigeria")]

You: Same thing in Jamaica
Claude: [service_list(instance="jamaica")]

Profiles hold their own BPA URL, Keycloak (or CAS) settings, token store, audit log, and rollback state. Credentials saved via auth_login are reused silently in future sessions — and shared across the BPA, DS, and GDB servers via the OS keyring.

Auth providers, auto-detected from the profile:

Provider When
Keycloak Modern deployments — OIDC + password grant (default)
CAS Legacy (e.g. Cuba test) — OAuth2 + Basic Auth

Keycloak password grant requires Direct Access Grants enabled on the client. CAS requires a registered OAuth client with redirect URI http://127.0.0.1:8914/callback.

Key features

  • Audit trail — every write goes through audit_list / audit_get; state is persisted in SQLite under each profile's data directory.
  • Rollback — most write tools produce an audit ID that rollback can reverse.
  • Large-response truncation — list tools gate output at ~50 KB and emit navigation hints instead of dumping raw JSON.
  • Conventional annotations — every tool is tagged READ, WRITE, or DESTRUCTIVE; clients can enforce approval policies.
  • Arazzo workflows (BPA) — higher-level orchestrations loaded from YAML. Available in dev checkout under _bmad-output/arazzo-workflows/; not shipped in the wheel.

Development

git clone https://github.com/UNCTAD-eRegistrations/MCP_eRegistrations.git
cd MCP_eRegistrations
uv sync

uv run pytest                          # ~3600 tests, <2 min
uv run pytest tests/test_ds/ -v        # single package
uv run ruff check . && uv run ruff format .
uv run mypy src/

Running a server locally

uv run mcp-eregistrations-bpa
uv run mcp-eregistrations-keycloak
# etc.

Then point your MCP client at the stdio command. See src/mcp_eregistrations_*/CLAUDE.md for instance configuration specific to each server.

Releasing

./scripts/release.sh patch        # 1.16.8 → 1.16.9
./scripts/release.sh minor --yes  # non-interactive

The script runs ruff, mypy, and pytest before bumping the version, generating the changelog, and creating the GitHub release. See RELEASING.md for the full flow.

Project layout

src/
├── mcp_eregistrations_common/         # profiles, auth, audit — shared
├── mcp_eregistrations_bpa/            # BPA (FastMCP 3)
├── mcp_eregistrations_ds/             # DS (read-only monitoring)
├── mcp_eregistrations_gdb/            # GDB (databases)
├── mcp_eregistrations_keycloak/       # Keycloak admin API
├── mcp_eregistrations_translations/   # Translations — authoring + governance
└── mcp_eregistrations_graylog/        # Graylog logs

tests/                            # pytest, mirrored per package
docs/plans/                       # design docs and implementation plans
scripts/                          # release, ci-local, audit-docstrings

License

Copyright (c) 2025–2026 UN Conference on Trade and Development (UNCTAD) — Division on Investment and Enterprise — Business Facilitation Section.

All rights reserved. See LICENSE.

Part of eRegistrations.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_eregistrations-1.56.4.tar.gz (654.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_eregistrations-1.56.4-py3-none-any.whl (802.9 kB view details)

Uploaded Python 3

File details

Details for the file mcp_eregistrations-1.56.4.tar.gz.

File metadata

  • Download URL: mcp_eregistrations-1.56.4.tar.gz
  • Upload date:
  • Size: 654.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_eregistrations-1.56.4.tar.gz
Algorithm Hash digest
SHA256 881d64c9fc7ad27464e30d9dc3439a0f9fec06f0bff7d4f822cee4b5698e5b3b
MD5 5424520ab2e10b5785301a94afaf6fb1
BLAKE2b-256 ec59b959d8e3d3f39c3c78fb3ac22fd59ce16ed7b700b1b0077ec50e0ef163a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_eregistrations-1.56.4.tar.gz:

Publisher: ci.yml on UNCTAD-eRegistrations/MCP_eRegistrations

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_eregistrations-1.56.4-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_eregistrations-1.56.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5af9d03d17937fbd27a9909e11f6ecb83ac134d732ae43db34c5b15212ded000
MD5 137e0215cf7593b44211d3bb19d0f6df
BLAKE2b-256 f12a896f163046a8b2dbb5870e59b3cbde3ff03d288937385d7df4f07fcfd8ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_eregistrations-1.56.4-py3-none-any.whl:

Publisher: ci.yml on UNCTAD-eRegistrations/MCP_eRegistrations

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.65.4

2 files

1.65.3

2 files

1.65.2

2 files

1.65.1

2 files

1.65.0

2 files

1.64.0

2 files

1.63.0

2 files

1.62.2

2 files

1.62.1

2 files

1.62.0

2 files

1.61.23

2 files

1.61.22

2 files

1.61.21

2 files

1.61.20

2 files

1.61.19

2 files

1.61.18

2 files

1.61.17

2 files

1.61.16

2 files

1.61.15

2 files

1.61.14

2 files

1.61.13

2 files

1.61.12

2 files

1.61.11

2 files

1.61.10

2 files

1.61.9

2 files

1.61.8

2 files

1.61.7

2 files

1.61.6

2 files

1.61.5

2 files

1.61.4

2 files

1.61.3

2 files

1.61.2

2 files

1.61.1

2 files

1.61.0

2 files

1.60.2

2 files

1.60.1

2 files

1.60.0

2 files

1.59.8

2 files

1.59.7

2 files

1.59.6

2 files

1.59.5

2 files

1.59.4

2 files

1.59.3

2 files

1.59.2

2 files

1.59.1

2 files

1.59.0

2 files

1.58.9

2 files

1.58.8

2 files

1.58.7

2 files

1.58.6

2 files

1.58.5

2 files

1.58.4

2 files

1.58.3

2 files

1.58.2

2 files

1.58.1

2 files

1.58.0

2 files

1.56.15

2 files

1.56.14

2 files

1.56.13

2 files

1.56.12

2 files

1.56.11

2 files

1.56.10

2 files

1.56.9

2 files

1.56.8

2 files

1.56.7

2 files

1.56.6

2 files

1.56.5

2 files

This release

1.56.4 This release

2 files

1.56.3

2 files

1.56.2

2 files

1.56.1

2 files

1.56.0

2 files

1.55.1

2 files

1.55.0

2 files

1.54.0

2 files

1.53.0

2 files

1.52.0

2 files

1.51.1

2 files

1.51.0

2 files

1.50.2

2 files

1.50.1

2 files

1.50.0

2 files

1.49.0

2 files

1.48.2

2 files

1.48.1

2 files

1.48.0

2 files

1.47.2

2 files

1.47.1

2 files

1.47.0

2 files

1.46.15

2 files

1.46.14

2 files

1.46.13

2 files

1.46.12

2 files

1.46.11

2 files

1.46.10

2 files

1.46.9

2 files

1.46.7

2 files

1.46.6

2 files

1.46.5

2 files

1.46.4

2 files

1.46.3

2 files

1.46.2

2 files

1.46.1

2 files

1.46.0

2 files

1.45.3

2 files

1.45.2

2 files

1.45.1

2 files

1.45.0

2 files

1.44.3

2 files

1.44.2

2 files

1.44.0

2 files

1.43.4

2 files

1.43.3

2 files

1.43.2

2 files

1.43.1

2 files

1.42.0

2 files

1.41.0

2 files

1.40.0

2 files

1.39.0

2 files

1.38.2

2 files

1.38.1

2 files

1.38.0

2 files

1.37.2

2 files

1.37.1

2 files

1.37.0

2 files

1.36.1

2 files

1.36.0

2 files

1.34.0

2 files

1.33.1

2 files

1.33.0

2 files

1.32.0

2 files

1.31.0

2 files

1.30.0

2 files

1.29.0

2 files

1.28.0

2 files

1.27.1

2 files

1.27.0

2 files

1.26.2

2 files

1.26.1

2 files

1.26.0

2 files

1.25.0

2 files

1.24.0

2 files

1.23.1

2 files

1.22.0

2 files

1.21.1

2 files

1.21.0

2 files

1.20.2

2 files

1.20.0

2 files

1.19.6

2 files

1.19.5

2 files

1.19.4

2 files

1.19.3

2 files

1.19.2

2 files

1.19.1

2 files

1.19.0

2 files

1.18.1

2 files

1.18.0

2 files

1.17.0

2 files

1.16.14

2 files

1.16.13

2 files

1.16.12

2 files

1.16.11

2 files

1.16.10

2 files

1.16.9

2 files

1.16.8

2 files

1.16.7

2 files

1.16.6

2 files

1.16.5

2 files

1.16.4

2 files

1.16.3

2 files

1.16.2

2 files

1.16.1

2 files

1.16.0

2 files

1.15.0

2 files

1.14.0

2 files

1.13.0

2 files

1.12.0

2 files

1.11.0

2 files

1.10.0

2 files

1.9.2

2 files

1.9.1

2 files

1.9.0

2 files

1.8.1

2 files

1.8.0

2 files

1.7.3

2 files

1.7.2

2 files

1.7.1

2 files

1.7.0

2 files

1.6.3

2 files

1.6.2

2 files

1.6.1

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.0

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page