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.1 (2026-08-01)
  • 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.1

# 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 design — AUTH_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

Metadata

Release files for bg-mcpcore 1.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bg-mcpcore 1.6.2
File Size Uploaded Provenance
bg_mcpcore-1.6.2.tar.gz 155.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for bg-mcpcore 1.6.2
File Interpreter ABI Platform
bg_mcpcore-1.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 252.9 kB

Release files / bg_mcpcore-1.6.2.tar.gz

Download URL bg_mcpcore-1.6.2.tar.gz
Size 155.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b9af38c9e251bcc5a448c1a4cf528b5cc2e6c9cc41bb86d30ad7a8ff9f6941ea
BLAKE2b-256 checksum
How to use checksums
1468c42cb02f9179cc293f36ab9d66e94cc93711f3c681f89afdd748a9bdab2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / bg_mcpcore-1.6.2-py3-none-any.whl

Download URL bg_mcpcore-1.6.2-py3-none-any.whl
Size 97.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdd07db5542e7c72cedbffcebc69e7c30a128d7221813e447ec5146be89f9d8f
BLAKE2b-256 checksum
How to use checksums
428172fb19df8ac23676a198402859e72bae7ec4be5de8d8c896a68109f99061
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for bg-mcpcore 1.6.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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