Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ NODE_ENV=production
# separately via BACKEND_PORT (see the Ports section) — leave this at 4000.
PORT=4000

# Graceful shutdown deadline in milliseconds. On SIGTERM/SIGINT the backend
# stops accepting requests and exits once this elapses. Default 20000.
# SHUTDOWN_TIMEOUT_MS=20000

# Compose project name — also the prefix for the network, volumes and container
# names (amcp-app, amcp-postgres, …). Override it to run more than one
# AnythingMCP stack on the same host without name collisions.
Expand Down Expand Up @@ -46,6 +50,12 @@ ENCRYPTION_KEY=change-me-in-production-exactly-32
# independently from JWT_SECRET).
# COOKIE_SECRET=change-me-in-production-min-32-chars

# HMAC secret for identifier hashes in the knowledge graph. Falls back to
# ENCRYPTION_KEY, then JWT_SECRET, then a built-in development value. Set it
# explicitly in production rather than relying on that fallback chain:
# changing the effective secret later changes every stored hash.
# KG_HASH_SECRET=change-me-in-production-min-32-chars

# Postgres Row-Level Security — database-enforced tenant isolation on top of the
# app-layer checks. OFF by default; this is a staged rollout, not a flip switch:
# the DATABASE_URL role must be NON-superuser, query call sites must run through
Expand All @@ -67,6 +77,20 @@ CORS_ORIGIN=http://localhost:3000
# All other users must be invited by an admin. Set to true to allow open registration.
ALLOW_OPEN_REGISTRATION=false

# ── Email (SMTP, optional) ───────────────────────────────────────────────────
# Instance-wide SMTP for invitations, verification and password reset emails.
# Used only when no SMTP server is configured in the admin Settings page.
# SMTP_PORT defaults to 587. SMTP_SECURE=true uses implicit TLS; port 465
# enables it automatically. SMTP_FROM defaults to "AnythingMCP <SMTP_USER>".
# SMTP_REPLY_TO sets where replies go when SMTP_FROM is a noreply address.
# SMTP_HOST=smtp.example.com
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=
# SMTP_PASS=
# SMTP_FROM="AnythingMCP <noreply@example.com>"
# SMTP_REPLY_TO=

# ── Catalog auto-sync ─────────────────────────────────────────────────────────
# On startup, automatically applies "safe" catalog updates (tool
# description/parameter fixes — no endpoint or tool add/remove changes) to
Expand Down Expand Up @@ -137,6 +161,14 @@ MCP_RATE_LIMIT_PER_MINUTE=60
# MCP_SESSION_IDLE_MIN=30
# MCP_MAX_SESSIONS=500

# ── Knowledge Graph (optional) ───────────────────────────────────────────────
# Set KG_MCP_TOOL=off to hide the kg_how_to_obtain tool and the knowledge-graph
# resource from MCP clients on every workspace.
# KG_MCP_TOOL=
# Per-workspace cooldown in seconds between automatic graph ingests triggered
# by tool calls. Default 45.
# KG_OBSERVE_COOLDOWN_SEC=45

# ── Knowledge Graph — AI features (optional) ─────────────────────────────────
# Global switch + API key for LLM graph enrichment / skill generation. Without
# these, all AI features stay off regardless of per-workspace toggles.
Expand Down Expand Up @@ -201,6 +233,11 @@ MCP_RATE_LIMIT_PER_MINUTE=60
# COST_PER_CALL_MICROS=0
# COST_PER_PROXY_CALL_MICROS=0

# ── Sentry tracing (optional) ────────────────────────────────────────────────
# Only used when SENTRY_DSN is set. Trace sample rate (0 to 1) for MCP calls;
# defaults to a fifth of SENTRY_TRACES_SAMPLE_RATE, which covers HTTP requests.
# SENTRY_MCP_TRACES_SAMPLE_RATE=

# ── Operator Analytics (cloud build only — leave empty on self-hosted) ──────
# Loads Google Tag Manager + a Consent Mode v2 cookie banner. Self-hosted
# builds must leave both empty so no tracking is shipped to community users.
Expand Down
7 changes: 7 additions & 0 deletions docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,13 @@ curl -s http://localhost:4000/api/mcp-api-keys \
| `MCP_API_KEY` | No | API key for legacy MCP auth |
| `SERVER_URL` | No | Server URL for OAuth2 metadata (default: `http://localhost:4000`) |
| `MCP_RATE_LIMIT_PER_MINUTE` | No | Rate limit per client (default: 60) |
| `SMTP_HOST` | No | SMTP server for instance emails; used when no SMTP is configured in the admin Settings page |
| `SMTP_PORT` | No | SMTP port (default: 587) |
| `SMTP_SECURE` | No | `true` for implicit TLS (default: `false`; always on for port 465) |
| `SMTP_USER` | No | SMTP username |
| `SMTP_PASS` | No | SMTP password |
| `SMTP_FROM` | No | Sender address (default: `AnythingMCP <SMTP_USER>`) |
| `SMTP_REPLY_TO` | No | Reply-To address, for when `SMTP_FROM` is a noreply address |
| `COMPOSE_PROFILES` | No | Set to `proxy` to enable Caddy reverse proxy |
| `DOMAIN` | No | Domain for Caddy SSL certificate (e.g., `example.com`) |
| `ACME_EMAIL` | No | Email for Let's Encrypt certificate notifications |
Expand Down
Loading