BAUER GROUP MCP framework — config-driven, pluggable REST-API MCP servers on FastMCP
Project description
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.1.0 (2026-06-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@vv1.1.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_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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bg_mcpcore-1.1.1.tar.gz.
File metadata
- Download URL: bg_mcpcore-1.1.1.tar.gz
- Upload date:
- Size: 78.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ff99daa4d0507de6ced92731a2fb4683f8e338af410b291afe18adfcbaa5ce0
|
|
| MD5 |
9baafaf52b2c911200a16176e96d9a78
|
|
| BLAKE2b-256 |
c514eb30beb5a374aff6230638e01272b53b07b1f7c29676ce6909c0309ce728
|
File details
Details for the file bg_mcpcore-1.1.1-py3-none-any.whl.
File metadata
- Download URL: bg_mcpcore-1.1.1-py3-none-any.whl
- Upload date:
- Size: 70.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c04354c9da3b7e810cbf0cbe7bded4f9f7acbda64cc5552b03edc9ce9ac8662
|
|
| MD5 |
49aa8b1029db26d870ba197d566efea4
|
|
| BLAKE2b-256 |
3adb01383addd3647787d04c265f60443dd7b9ba6ed8ad322feb47c73e3238f0
|