https://github.com/acuvity/minibridge
Make your MCP servers secure and production ready
https://github.com/acuvity/minibridge
acuvity mcp mcp-server modelcontextprotocol mtls security
Last synced: 3 days ago
JSON representation
Make your MCP servers secure and production ready
- Host: GitHub
- URL: https://github.com/acuvity/minibridge
- Owner: acuvity
- License: apache-2.0
- Created: 2025-04-02T21:39:58.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-01-07T23:20:51.000Z (17 days ago)
- Last Synced: 2026-01-12T19:42:58.247Z (12 days ago)
- Topics: acuvity, mcp, mcp-server, modelcontextprotocol, mtls, security
- Language: Go
- Homepage:
- Size: 598 KB
- Stars: 54
- Watchers: 5
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# Minibridge
[](https://github.com/acuvity/minibridge/actions/workflows/build.yaml)
[](https://goreportcard.com/report/github.com/acuvity/minibridge)
[](https://pkg.go.dev/github.com/acuvity/minibridge)
[](https://hub.docker.com/u/acuvity?page=1&search=mcp-server)
Minibridge serves as a backend-to-frontend bridge, streamlining and securing
communication between Agents and MCP servers. It safely exposes [MCP
servers](https://modelcontextprotocol.io) to the internet and can optionally
integrate with generic policing services β known as Policers β for agent
authentication, content analysis, and transformation. Policers can be
implemented remotely via HTTP or locally using [OPA
Rego](https://www.openpolicyagent.org/docs/latest/policy-reference/) policies.
Minibridge can help ensure the integrity of MCP servers through
SBOM (Software Bill of Materials) generation and real-time validation.
Additionally, Minibridge supports [OTEL](https://opentelemetry.io/) and can
report/rettach spans from classical OTEL headers, as well as directly from the
MCP call, as inserted by certain tool like [Open
Inference](https://arize-ai.github.io/openinference).

- **Minibridge Frontend**: The Client connects to the Frontend part of Minibridge.
- **Minibridge Backend**: The Frontend connects to the Backend which wraps the MCP server.
- **Minibridge Policer**: The Policer runs in the Backend and can optionally take decision on the input and output based on some policies (locally with Rego or remotely using HTTPs)
> [!TIP]
> Conveniently, Minibridge can be started in an "all-in-one" (AIO) mode to act as a single process.
## Why using Minibridge ?
Minibridge covers the following:
- **Secure Transport**: Use TLS with optionally, client certificate validation
- **Integrity**: Ensure the MCP server can not mutate tools, templates, etc. during the execution
- **User Authentication**: Transport the user information to the Policer
- **Monitoring**: Expose prometheus metrics
- **Telemetry**: Report traces and spans using Opentelemetry
## Installation
Minibridge can be installed from various places:
### Homebrew
On macOS, you can use Homebrew
```console
brew tap acuvity/tap
brew install minibridge
```
### AUR
On Arch based Linux distributions, you can run:
```console
yay -S minibridge
```
Alternatively, to get the latest version from the main branch:
```console
yay -S minibridge-git
```
### Go
If you have the Go toolchain install:
```console
go install go.acuvity.ai/minibridge@latest
```
Alternatively, to get the latest version from the main branch:
```console
go install go.acuvity.ai/minibridge@main
```
### Manually
You can easily grab a binary version for your platform from the [release
page](https://github.com/acuvity/minibridge/releases/tag/v0.6.2).
## Features comparisons
| π **Feature** | πΉ **MCP** | πΈ **Minibridge** | π¦ **ARC (Acuvity Containers)** |
| ------------------------------ | ----------- | ----------------- | ------------------------------- |
| π Remote Access | β οΈ | β
| β
|
| π TLS Support | β | β
| β
|
| π Tool integrity check | β | β
| β
|
| π Visualization and Tracing | β | β
| β
|
| π‘οΈ Isolation | β | β οΈ | β
|
| π Security Policy Management | β | π€ | β οΈ |
| π΅οΈ Secrets Redaction | β | π€ | β οΈ |
| π Authorization Controls | β | π€ | π€ |
| π§βπ» PII Detection and Redaction | β | π€ | π€ |
| π Version Pinning | β | β | β
|
β
_Included_ | β οΈ _Partial/Basic Support_ | π€ _Custom User Implementation_ | β _Not Supported_
## Example: Configuring Minibridge in your MCP Client
Suppose your client configuration originally specifies an MCP server like this:
```json
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
```
To route requests through Minibridge (enabling SBOM checks, policy enforcement, etc.), update the entry:
```json
{
"mcpServers": {
"fetch": {
"command": "minibridge",
"args": ["aio", "--", "uvx", "mcp-server-fetch"]
}
}
}
```
- **`minibridge aio`**: Invokes Minibridge in βall-in-oneβ mode, wrapping the downstream tool.
- **`uvx mcp-server-fetch`**: The original MCP server command, now executed inside Minibridge.
> [!TIP]
> The location of the configuration files depends on your Client. For example, if you use Claude Desktop, configuration files are located:
>
> - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
> - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
>
> See the official [MCP QuickStart for Claude Desktop Users](https://modelcontextprotocol.io/quickstart/user#2-add-the-filesystem-mcp-server) documentation.
> [!IMPORTANT]
> Your client must be able to resolve the path of the binary.
> If you see an error like `MCP fetch: spawn minibridge ENOENT`, set the `command` parameter above to the full path of minibridge (`which minibridge` will give you the full path).
## Documentation
Check out the complete [documentation](https://github.com/acuvity/minibridge/wiki) from the wiki pages.
## Contribute
We are excited to welcome contributions from everyone! π Whether you're fixing bugs, enhancing features, improving documentation, or proposing entirely new ideas, your involvement helps strengthen the project and benefits the entire community.
You do not need to sign a Contributor License Agreement (CLA) β just open a pull request and let's collaborate!
## Join us
- [Discord](https://discord.gg/BkU7fBkrNk)
- [LinkedIn](https://www.linkedin.com/company/acuvity)
- [Bluesky](https://bsky.app/profile/acuvity.bsky.social)
- [Docker](https://hub.docker.com/u/acuvity)