A central server for MCP servers
Project description
Argus MCP - a single gateway guarding your MCP servers
Connect any MCP client to all your MCP servers through a single server.
Argus MCP is a central gateway and management platform for the Model Context Protocol. Rather than configure each AI client to talk to each MCP server individually, point your clients at Argus and let it handle the rest - aggregating capabilities, routing tool calls, managing connections, and securing everything behind one endpoint.
Why use Argus MCP?
|
|
Components
Argus MCP has a server/client architecture:
| Command | Description |
|---|---|
argus-mcp server |
Headless server — runs the MCP bridge, management API, and transports |
argus-mcp build |
Pre-build container images for stdio backends |
argus-mcp stop |
Stop a detached Argus server |
argus-mcp status |
List all running Argus server sessions |
argus-mcp tui |
Textual-based terminal UI that connects to a running server over HTTP |
argus-mcp secret |
Manage encrypted secrets (set, get, list, delete) |
argus-mcp clean |
Remove containers and images created by Argus MCP |
Short alias:
amcpis a convenience alias forargus-mcp(e.g.amcp server).
Companion packages:
| Package | Entry Point | Description |
|---|---|---|
argus-cli |
argus / argus-cli / argcli |
Client CLI with 20 command groups and an interactive REPL for managing a running server |
argus-cli |
argus-tui |
Alternative TUI launcher from the client package |
argusd |
argusd |
Go sidecar daemon for Docker container and Kubernetes pod management (Unix Domain Socket API) |
Links
- Getting started
- Configuration reference
- Management API
- Docker guide
- Kubernetes guide
- Security guide
- CLI reference
- TUI guide
- Changelog
- Report an issue
How it works
- Configure backends in a YAML file — stdio processes, SSE servers, or HTTP endpoints.
- Start with
argus-mcp server— Argus connects to all backends and aggregates their capabilities. - Point any MCP client (Claude Desktop, Cursor, Copilot, Cline, etc.) at the Argus endpoint.
- Monitor via the TUI, REST API, or hot-reload config without restarting.
Argus exposes two transports simultaneously:
| Transport | Endpoint |
|---|---|
| SSE | http://<host>:<port>/sse |
| Streamable HTTP | http://<host>:<port>/mcp |
Installation
Docker (recommended — no Python required):
docker run --rm -p 9000:9000 diaz3618/argus-mcp:latest server --host 0.0.0.0
Published to Docker Hub and GHCR with multi-arch support (amd64 + arm64). See the Docker guide for Compose files and volume mounts.
PyPI (requires Python 3.10+):
uv tool install argus-mcp # recommended
pipx install argus-mcp # alternative
Try without installing:
uv run argus-mcp --help
See getting started for source installation and Makefile shortcuts.
Quick start
# Start the server (auto-detects config.yaml)
argus-mcp server
# Detached mode
argus-mcp server --detach --name my-server
argus-mcp status
argus-mcp stop my-server
Config file resolution: --config flag → ARGUS_CONFIG env → auto-detect (config.yaml → config.yml).
See the getting started guide for a full walkthrough.
Configuration
A minimal config to get started:
version: "1"
backends:
filesystem:
type: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
remote_tools:
type: sse
url: "https://mcp.example.com/sse"
Backends can be stdio (local process), sse, or streamable-http. All string values support ${VAR_NAME} env expansion and secret:name references to the encrypted secret store.
See the configuration reference for all fields, backend types, auth options, RBAC policies, and feature flags.
Management API
A REST API at /manage/v1/ provides full runtime control: health/readiness probes, backend reconnection, hot-reload, live event streaming, capability proxying, and more.
Set ARGUS_MGMT_TOKEN to require Authorization: Bearer <token> on all management requests.
See the API reference for the full endpoint list.
TUI
argus-mcp tui --server http://127.0.0.1:9000
The TUI supports multi-server mode via a servers.json config — switch between servers from a single dashboard. See the TUI guide for details.
Contributing
License
This project is licensed under the GNU General Public License v3.0.
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 Distributions
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 argus_mcp-0.8.6.tar.gz.
File metadata
- Download URL: argus_mcp-0.8.6.tar.gz
- Upload date:
- Size: 626.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be64b21274fa9bd3d9a1de848f4c36db1fc07b22b4194b4ec68a7271958f8ade
|
|
| MD5 |
643b5cbee8e3b9849b8fc8b213a4155c
|
|
| BLAKE2b-256 |
42654ffcf879c7117e1c2782f4d894516b60958b901913b846726de1798f60b8
|
Provenance
The following attestation bundles were made for argus_mcp-0.8.6.tar.gz:
Publisher:
build-wheels.yml on diaz3618/argus-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
argus_mcp-0.8.6.tar.gz -
Subject digest:
be64b21274fa9bd3d9a1de848f4c36db1fc07b22b4194b4ec68a7271958f8ade - Sigstore transparency entry: 1478575068
- Sigstore integration time:
-
Permalink:
diaz3618/argus-mcp@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Branch / Tag:
refs/tags/v0.8.6 - Owner: https://github.com/diaz3618
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file argus_mcp-0.8.6-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: argus_mcp-0.8.6-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f515f85ceca33d49c8c6b648e4944089202a0ba67a3104ccd96ddea09cda7cbf
|
|
| MD5 |
93708cb8717821d9611a33f1840bf524
|
|
| BLAKE2b-256 |
387b2111f08490aa152d0497a2670a6bdf54a5ba10167ec674c219ba7616632d
|
Provenance
The following attestation bundles were made for argus_mcp-0.8.6-cp310-cp310-win_amd64.whl:
Publisher:
build-wheels.yml on diaz3618/argus-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
argus_mcp-0.8.6-cp310-cp310-win_amd64.whl -
Subject digest:
f515f85ceca33d49c8c6b648e4944089202a0ba67a3104ccd96ddea09cda7cbf - Sigstore transparency entry: 1478575346
- Sigstore integration time:
-
Permalink:
diaz3618/argus-mcp@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Branch / Tag:
refs/tags/v0.8.6 - Owner: https://github.com/diaz3618
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file argus_mcp-0.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: argus_mcp-0.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 7.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
623c10721cdc10d04be7cd5023e225e76ae4fd79d1e38724803b39a8b1aa97f2
|
|
| MD5 |
46076c5cca8ea57a928e01d98f358e75
|
|
| BLAKE2b-256 |
2ffb0316420642fd0f32f410628360c52df9b980de65e5e1b073a50774e85d9a
|
Provenance
The following attestation bundles were made for argus_mcp-0.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
build-wheels.yml on diaz3618/argus-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
argus_mcp-0.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
623c10721cdc10d04be7cd5023e225e76ae4fd79d1e38724803b39a8b1aa97f2 - Sigstore transparency entry: 1478575149
- Sigstore integration time:
-
Permalink:
diaz3618/argus-mcp@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Branch / Tag:
refs/tags/v0.8.6 - Owner: https://github.com/diaz3618
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file argus_mcp-0.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: argus_mcp-0.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4f35b91b3da69dd47b0f405ee7c49cbbb23f549237c966627a3fe86784a41a6
|
|
| MD5 |
ecb7caff0470a08a0c87a45cd6cf5cfd
|
|
| BLAKE2b-256 |
90f99f1911db8b6d49ceec034b4fd7474d3d2dcb3a4af9c1c744c151c43e9e9d
|
Provenance
The following attestation bundles were made for argus_mcp-0.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
build-wheels.yml on diaz3618/argus-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
argus_mcp-0.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
f4f35b91b3da69dd47b0f405ee7c49cbbb23f549237c966627a3fe86784a41a6 - Sigstore transparency entry: 1478575451
- Sigstore integration time:
-
Permalink:
diaz3618/argus-mcp@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Branch / Tag:
refs/tags/v0.8.6 - Owner: https://github.com/diaz3618
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file argus_mcp-0.8.6-cp310-cp310-macosx_12_0_arm64.whl.
File metadata
- Download URL: argus_mcp-0.8.6-cp310-cp310-macosx_12_0_arm64.whl
- Upload date:
- Size: 6.7 MB
- Tags: CPython 3.10, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6f71e68df84f8db04b5c0bae5a3307abf1924ae4cefbc29d361c370af31a15c
|
|
| MD5 |
1cbd1d761e5b55388ca3cc1c15d013e7
|
|
| BLAKE2b-256 |
f91b573a946c28a310538ed409b7f050b86815f33d963bbb299d22a0ba06bd54
|
Provenance
The following attestation bundles were made for argus_mcp-0.8.6-cp310-cp310-macosx_12_0_arm64.whl:
Publisher:
build-wheels.yml on diaz3618/argus-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
argus_mcp-0.8.6-cp310-cp310-macosx_12_0_arm64.whl -
Subject digest:
d6f71e68df84f8db04b5c0bae5a3307abf1924ae4cefbc29d361c370af31a15c - Sigstore transparency entry: 1478575212
- Sigstore integration time:
-
Permalink:
diaz3618/argus-mcp@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Branch / Tag:
refs/tags/v0.8.6 - Owner: https://github.com/diaz3618
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@6b405d3044aa7df9daca0d062a4a5a46d5c32179 -
Trigger Event:
workflow_dispatch
-
Statement type: