Skip to main content

BAUER GROUP - BG-MCPCore

PyPI Version Python Support License: MIT 🧪 Tests

BAUER GROUP MCP framework — config-driven, pluggable REST-API MCP servers on FastMCP.

bg-mcpcore is the shared foundation for BAUER GROUP's fleet of Model Context Protocol servers that bridge REST APIs (Zammad, Shlink, and more). It turns "stand up a secure, OAuth-gated MCP server for an API" from a multi-day clone-and-edit job into a short declarative profile.

Repository Information:

  • Version: v1.6.0 (2026-06-02)
  • Repository: bauer-group/LIB-BG-MCPCore
  • Branch: main
  • Architecture: Config-driven, pluggable, secure-by-default

The idea: config for the standard, code for the complex

A server is described by a declarative JSON profile. Standard behaviour — identity, backend connection, inbound/outbound auth, rate limiting, observability, health/branding routes, and OpenAPI-derived tools — needs no Python. The genuinely complex parts (hand-written tools, per-user on-behalf-of token flows) drop down to Python escape hatches the profile points at.

// profiles/mautic.json — a whole server, no Python
{
  "id": "mautic",
  "display_name": "BAUER GROUP Mautic",
  "backend": { "base_url": "${env:MAUTIC_URL}", "api_base_path": "/api" },
  "auth": {
    "inbound":  { "mode": "oidc" },
    "outbound": { "type": "bearer_env", "value_from_env": "MAUTIC_TOKEN" }
  },
  "tools": { "source": "openapi", "spec": { "source": "${env:MAUTIC_OPENAPI_URL}" } }
}
# src/main.py — the entire entrypoint
from bg_mcpcore import load_profile, make_cli

app = make_cli(load_profile("profiles/mautic.json"))
if __name__ == "__main__":
    app()

Install

Requires Python 3.12, 3.13, or 3.14.

From PyPI

pip install bg-mcpcore

Directly from GitHub

# Latest from main
pip install git+https://github.com/bauer-group/LIB-BG-MCPCore.git@main

# A specific released version/tag
pip install git+https://github.com/bauer-group/LIB-BG-MCPCore.git@v1.6.0

# With extras (any install method)
pip install "bg-mcpcore[openapi] @ git+https://github.com/bauer-group/LIB-BG-MCPCore.git@main"

Optional extras

pip install "bg-mcpcore[openapi]"                               # + OpenAPI-derived tools
pip install "bg-mcpcore[openapi,redis,tasks,oauth-providers]"   # full Shlink-shaped server
Extra Adds
openapi tools.source: "openapi" — generate the tool surface from an OpenAPI spec
redis Redis-backed encrypted OAuth-state store (multi-replica deployments)
oauth-providers Entra / Google + the spec-driven IdP modes (Auth0, Keycloak, GitHub, AWS Cognito, WorkOS, …)
tasks long-running task execution (bulk exports)
testkit reusable pytest fixtures + stubs (pytest11 plugin)

Architecture

  • Pluggable via Python entry points — new auth_providers, tool_sources, auth_resolvers are pip-installable plugins, never core edits.
  • Central tool registry — reusable tools (bg.health, …) referenced by name from any profile (tools.source: "registry").
  • Fail-closed by designAUTH_MODE=none forbidden in production; the JWT signing key mandatory for any active mode; invariants live in core.

See the documentation for the profile schema reference, plugin authoring guide, and security model.

License

MIT © BAUER GROUP

Download files

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

Source Distribution

bg_mcpcore-1.6.1.tar.gz (154.8 kB view details)

Uploaded Source

Built Distribution

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

bg_mcpcore-1.6.1-py3-none-any.whl (97.9 kB view details)

Uploaded Python 3

File details

Details for the file bg_mcpcore-1.6.1.tar.gz.

File metadata

  • Download URL: bg_mcpcore-1.6.1.tar.gz
  • Upload date:
  • Size: 154.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for bg_mcpcore-1.6.1.tar.gz
Algorithm Hash digest
SHA256 77b8d31b9b0dcac7025f3016ed76593d4faf0b75a12eb29add57b1fe595221b2
MD5 4788123363f79e8f3177d87f4f8753ee
BLAKE2b-256 eb95103b644aa78adb9c9fe75cf5dbf095567999da4aa915d8cbf558bd7c362f

See more details on using hashes here.

File details

Details for the file bg_mcpcore-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: bg_mcpcore-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 97.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for bg_mcpcore-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6eacccaca8cff733e999c36204418045b854d6ff039c951f3e7e7659718ab224
MD5 637fdbc35df87a35903edbcbf24291ea
BLAKE2b-256 c1674415fdd1c4fc35ced592a2367f684c4ea5ef3501f42501edb032c318069d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.6.1 This release

2 files

1.6.0

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.2.1

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page