BAUER GROUP - BG-MCPCore
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_resolversare 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=noneforbidden 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bg_mcpcore-1.6.2.tar.gz | 155.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.