Imbi MCP server
Project description
imbi-mcp
MCP server for the Imbi DevOps service management platform. Exposes Imbi API functionality to AI agents via the Model Context Protocol.
How It Works
At startup the server fetches the OpenAPI spec from a running imbi-api instance and auto-generates MCP tools, resources, and resource templates using FastMCP.
Route mapping rules control what gets exposed:
- Excluded -- Auth, MFA, status, and thumbnail endpoints are hidden.
- Resources --
GETendpoints that return collections. - Resource templates --
GETendpoints with path parameters. - Tools -- Everything else (create, update, delete operations).
The caller's Authorization header is forwarded to the API so that
requests run with the caller's permissions.
Requirements
- Python 3.12+
- A running imbi-api instance
Quick Start
# Install dependencies
just setup
# Run the server (imbi-api must be reachable)
just serve
# Or with explicit options
imbi-mcp serve --api-url http://localhost:8000 --transport streamable-http
CLI Options
imbi-mcp serve [OPTIONS]
| Option | Default | Env Var | Description |
|---|---|---|---|
--api-url |
http://localhost:8000 |
IMBI_INTERNAL_API_URL |
Base URL of the Imbi API |
--transport |
streamable-http |
MCP transport type | |
--host |
127.0.0.1 |
Host to bind to | |
--port |
8001 |
Port to bind to |
Supported transports: stdio, http, sse, streamable-http
Docker
docker build -t imbi-mcp .
docker run -p 8001:8001 -e IMBI_INTERNAL_API_URL=http://imbi-api:8000 imbi-mcp
Development
just setup # Install deps and pre-commit hooks
just test # Run tests (90% coverage minimum)
just lint # Run ruff, basedpyright, mypy
just format # Auto-format code
License
BSD-3-Clause
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 imbi_mcp-1.0.0.tar.gz.
File metadata
- Download URL: imbi_mcp-1.0.0.tar.gz
- Upload date:
- Size: 64.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8807175bb6450570faddd9fa82bb48011e3686376c7ff6fb4b93607917cb4eb7
|
|
| MD5 |
cc29c236c36b7bb503eb0bd499a76b13
|
|
| BLAKE2b-256 |
273c1f69548f6c7d6322c0464a7c06006e159f7b13253980b5e51fa21613b16e
|
Provenance
The following attestation bundles were made for imbi_mcp-1.0.0.tar.gz:
Publisher:
publish.yml on AWeber-Imbi/imbi-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
imbi_mcp-1.0.0.tar.gz -
Subject digest:
8807175bb6450570faddd9fa82bb48011e3686376c7ff6fb4b93607917cb4eb7 - Sigstore transparency entry: 1500905594
- Sigstore integration time:
-
Permalink:
AWeber-Imbi/imbi-mcp@91f11ac274d297b3c08b652ace15821d6720ffbd -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/AWeber-Imbi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@91f11ac274d297b3c08b652ace15821d6720ffbd -
Trigger Event:
release
-
Statement type:
File details
Details for the file imbi_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: imbi_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed80bf20e56e9b319a6473699ef1a00a7503afb6f75b44a4f4c0d0879da306f1
|
|
| MD5 |
c4c7ec60e0148b8c153d1d858236a671
|
|
| BLAKE2b-256 |
1d23650fddbc35dd1ed9530fc2756e4e3cf58836ccb23cfdd09de5bb895cdaf3
|
Provenance
The following attestation bundles were made for imbi_mcp-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on AWeber-Imbi/imbi-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
imbi_mcp-1.0.0-py3-none-any.whl -
Subject digest:
ed80bf20e56e9b319a6473699ef1a00a7503afb6f75b44a4f4c0d0879da306f1 - Sigstore transparency entry: 1500905603
- Sigstore integration time:
-
Permalink:
AWeber-Imbi/imbi-mcp@91f11ac274d297b3c08b652ace15821d6720ffbd -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/AWeber-Imbi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@91f11ac274d297b3c08b652ace15821d6720ffbd -
Trigger Event:
release
-
Statement type: