Dwarix is an AI Agent Identity and Access Platform that sits between agents and the tools they use.
294
MCP-native IAM gateway for AI agents. Sits between agents and MCP tool servers — enforces identity, policy, credential injection, and audit on every tool call.
AI Agent → [ Dwarix Gateway ] → MCP Tool Servers
↓ verify JWT
↓ evaluate policy (OPA/Rego)
↓ inject credentials
↓ audit log
Four enforcement layers on every call:
github/*, notion/read_page). Deny always wins.docker run -d \
-p 8080:8080 \
-v $(pwd)/data:/app/data \
-e DWARIX_ADMIN_KEY=your-secret-key \
imshakil/dwarix-gateway:latest
Control plane dashboard → http://localhost:8080
DWARIX_ADMIN_KEY=your-secret-key docker compose up
Starts:
gateway on port 8080opa on port 8181| Variable | Default | Description |
|---|---|---|
DWARIX_ADMIN_KEY | dev-admin-key-... | Admin API key — change in production |
DWARIX_PORT | 8080 | Listen port |
DWARIX_DATA_DIR | /app/data | Runtime state directory |
DWARIX_POLICY_ENGINE | opa | opa or json |
DWARIX_OPA_URL | http://localhost:8181 | OPA server URL |
DWARIX_VAULT_BACKEND | fernet | fernet, hashicorp, or aws |
DWARIX_VAULT_KEY | (auto-generated) | Fernet vault master key |
DWARIX_EXPORT_DATADOG | — | true to enable Datadog export |
DWARIX_DD_API_KEY | — | Datadog API key |
DWARIX_EXPORT_SPLUNK | — | true to enable Splunk HEC |
DWARIX_EXPORT_WEBHOOK | — | true to enable webhook export |
Mount /app/data to volume:
data/
agents.json # agent identities
policies.json # allow/deny rules
tools.json # MCP server registry
bindings.json # credential-to-agent bindings
audit.ndjson # append-only audit log
vault.enc # encrypted credential store
keys.json # RSA keypair for JWT signing
| Endpoint | Auth | Description |
|---|---|---|
POST /call | Bearer JWT | Agent tool call proxy |
POST /mcp | Bearer JWT | MCP JSON-RPC 2.0 (initialize / tools/list / tools/call) |
POST /auth/token | — | Exchange agent credentials for JWT |
GET /health | — | Health check |
GET / | — | Control plane dashboard |
POST /admin/agents/enroll | Admin key | Register agent |
POST /admin/policies | Admin key | Set agent policy |
POST /admin/credentials | Admin key | Store credential |
POST /admin/tools/register | Admin key | Register MCP server |
GET /admin/audit/logs | Admin key | Query audit log |
WS /ws/audit-stream | — | Real-time audit stream |
Admin endpoints require X-Admin-Key header.
| Backend | Use Case |
|---|---|
fernet | Dev / single-node (AES-encrypted local file) |
hashicorp | Production (HashiCorp Vault KV v2) |
aws | Production (AWS Secrets Manager) |
NDJSON file always active. Enable additional destinations:
| Destination | Env Vars Required |
|---|---|
| Datadog | DWARIX_EXPORT_DATADOG=true + DWARIX_DD_API_KEY |
| Splunk | DWARIX_EXPORT_SPLUNK=true + DWARIX_SPLUNK_URL + DWARIX_SPLUNK_TOKEN |
| Webhook | DWARIX_EXPORT_WEBHOOK=true + DWARIX_WEBHOOK_URL |
⚠️ Alpha. Pin to specific image tag for stability. APIs may change between releases.
Content type
Image
Digest
sha256:8378dbeae…
Size
93.1 MB
Last updated
5 months ago
docker pull imshakil/dwarix-gateway