Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TOON_BINNoPath/command for toon_rust encoder (Node `toon` is rejected)tru
HTTP_HOSTNoBind host for HTTP transport127.0.0.1
HTTP_PATHNoPreferred MCP endpoint mount path (`/api` and `/mcp` aliases are also mounted)/mcp/
HTTP_PORTNoBind port for HTTP transport8765
LOG_LEVELNoServer log levelINFO
AGENT_NAMENoSet `AGENT_NAME` in your environment so the pre-commit guard can block commits that conflict with others' active exclusive file reservations.
TOON_STATSNoEmit TOON token stats (uses `tru --stats`)false
LLM_ENABLEDNoEnable LiteLLM for thread summaries and discoverytrue
DATABASE_URLNoSQLAlchemy async database URLsqlite+aiosqlite:///./storage.sqlite3
STORAGE_ROOTNoRoot for per-project repos and SQLite DB~/.mcp_agent_mail_git_mailbox_repo
TOON_TRU_BINNoExplicit path/command for the `tru` encoder (overrides `TOON_BIN`)
DATABASE_ECHONoEcho SQL statements for debuggingfalse
QUOTA_ENABLEDNoEnable quota enforcementfalse
AGENT_MAIL_URLNoServer URL for inbox check hookshttp://127.0.0.1:8765/mcp/
CONVERT_IMAGESNoConvert images to WebP (and optionally inline small ones)true
LLM_MAX_TOKENSNoMax tokens for LLM completions512
ACK_TTL_ENABLEDNoEnable overdue ACK scanning (logs/panels; see views/resources)false
ACK_TTL_SECONDSNoAge threshold (seconds) for overdue ACKs1800
APP_ENVIRONMENTNoEnvironment name (development/production)development
GIT_AUTHOR_NAMENoGit commit author namemcp-agent
HTTP_JWT_ISSUERNoExpected `iss` (optional)
HTTP_JWT_SECRETNoHMAC secret for HS* algorithms (dev)
LLM_TEMPERATURENoLLM temperature for text generation0.2
AGENT_MAIL_AGENTNoAgent name for inbox check hooks*required*
AGENT_MAIL_TOKENNoBearer token for inbox check hooks
GIT_AUTHOR_EMAILNoGit commit author emailmcp-agent@example.com
HTTP_JWT_ENABLEDNoEnable JWT validation middlewarefalse
LOG_JSON_ENABLEDNoOutput structlog JSON logsfalse
LOG_RICH_ENABLEDNoEnable Rich console loggingtrue
AGENT_MAIL_BYPASSNoEmergency bypass for the pre-commit guard (use sparingly)
HTTP_BEARER_TOKENNoStatic bearer token (only when JWT disabled)
HTTP_CORS_ENABLEDNoEnable CORS middleware when truefalse
HTTP_CORS_ORIGINSNoCSV of allowed origins (e.g., `https://app.example.com,https://ops.example.com`)
HTTP_JWT_AUDIENCENoExpected `aud` (optional)
HTTP_JWT_JWKS_URLNoJWKS URL for public key verification
HTTP_OTEL_ENABLEDNoEnable OpenTelemetry instrumentationfalse
HTTP_RBAC_ENABLEDNoEnforce read-only vs tools RBACtrue
LLM_CACHE_BACKENDNoLLM cache backend (`memory` or `redis`)memory
LLM_CACHE_ENABLEDNoEnable LLM response cachingtrue
LLM_DEFAULT_MODELNoDefault LiteLLM model identifiergpt-5-mini
LOG_INCLUDE_TRACENoInclude trace-level logsfalse
OTEL_SERVICE_NAMENoService name for telemetrymcp-agent-mail
TOOLS_LOG_ENABLEDNoLog tool invocations for debuggingtrue
WORKTREES_ENABLEDNoEnables git-based identity featuresfalse
AGENT_MAIL_PROJECTNoProject key (absolute path) for inbox check hooks*required*
DATABASE_POOL_SIZENoBase SQLAlchemy pool size (optional override)50 (sqlite) / 25 (other)
ACK_ESCALATION_MODENo`log` or `file_reservation` escalation modelog
AGENT_MAIL_INTERVALNoSeconds between inbox checks120
HTTP_JWT_ALGORITHMSNoCSV of allowed algsHS256
HTTP_JWT_ROLE_CLAIMNoJWT claim name containing role(s)role
LLM_CACHE_REDIS_URLNoRedis URL for LLM cache (if backend=redis)
TOON_DEFAULT_FORMATNoGlobal default output format fallback (`json` or `toon`)
GIT_IDENTITY_ENABLEDNoEnables git-based identity featuresfalse
KEEP_ORIGINAL_IMAGESNoAlso store original image bytes alongside WebP (attachments/originals/)false
DATABASE_MAX_OVERFLOWNoExtra connections allowed beyond pool_size4 (sqlite) / 25 (other)
DATABASE_POOL_TIMEOUTNoSeconds to wait for a pool connection before failing45 (sqlite) / 30 (other)
ACK_ESCALATION_ENABLEDNoEnable escalation for overdue ACKsfalse
HTTP_RBAC_DEFAULT_ROLENoRole used when none presentreader
HTTP_RBAC_READER_ROLESNoCSV of reader rolesreader,read,ro
HTTP_RBAC_WRITER_ROLESNoCSV of writer roleswriter,write,tools,rw
INLINE_IMAGE_MAX_BYTESNoThreshold (bytes) for inlining WebP images during send_message65536
RETENTION_MAX_AGE_DAYSNoMax age for retention policy reporting180
HTTP_CORS_ALLOW_HEADERSNoCSV of allowed headers or `*`*
HTTP_CORS_ALLOW_METHODSNoCSV of allowed methods or `*`*
HTTP_RATE_LIMIT_BACKENDNo`memory` or `redis`memory
HTTP_RATE_LIMIT_ENABLEDNoEnable token-bucket limiterfalse
QUOTA_INBOX_LIMIT_COUNTNoMax inbox messages per agent (0=unlimited)0
CONTACT_AUTO_TTL_SECONDSNoTTL for in-session auto-approved contact links and the "recent contact" recency window (1 day)86400
HTTP_RBAC_READONLY_TOOLSNoCSV of read-only tool nameshealth_check,fetch_inbox,whois,search_messages,summarize_thread
HTTP_REQUEST_LOG_ENABLEDNoPrint request logs (Rich + JSON)false
LLM_COST_LOGGING_ENABLEDNoLog LLM API costs and token usagetrue
RETENTION_REPORT_ENABLEDNoEnable retention/quota reportingfalse
HTTP_RATE_LIMIT_REDIS_URLNoRedis URL for multi-worker limits
TOOL_METRICS_EMIT_ENABLEDNoEmit periodic tool usage metricsfalse
CONTACT_AUTO_RETRY_ENABLEDNoAuto-retry contact requests on policy violationstrue
HTTP_RATE_LIMIT_PER_MINUTENoLegacy per-IP limit (fallback)60
AGENT_NAME_ENFORCEMENT_MODENoAgent naming policy: `strict` (reject invalid adjective+noun names), `coerce` (auto-generate if invalid), `always_auto` (always auto-generate)coerce
CONTACT_ENFORCEMENT_ENABLEDNoEnforce contact policy before messaging. When `false`, explicitly addressed cross-project recipients (`project:X#name` / `name@project`) also no longer require an approved contact link; `block_all` is still honoredtrue
CONTACT_PENDING_TTL_SECONDSNoTTL for the *pending* contact-request fallback created by `send_message(auto_contact_if_blocked=True)` when in-session auto-approval is not possible — i.e. how long an async human approver has to respond (7 days)604800
HTTP_CORS_ALLOW_CREDENTIALSNoAllow credentials on CORSfalse
HTTP_RATE_LIMIT_TOOLS_BURSTNoOptional burst for tools (0=auto=rpm)0
OTEL_EXPORTER_OTLP_ENDPOINTNoOTLP exporter endpoint URL
MCP_AGENT_MAIL_OUTPUT_FORMATNoDefault output format for tools/resources (`json` or `toon`)
ACK_TTL_SCAN_INTERVAL_SECONDSNoScan interval for overdue ACKs60
AGENT_MAIL_REGISTRATION_TOKENNoRegistration token used for authenticated tool calls and CLI commands.
QUOTA_ATTACHMENTS_LIMIT_BYTESNoMax attachment storage per project (0=unlimited)0
ACK_ESCALATION_CLAIM_EXCLUSIVENoMake escalation file reservation exclusivefalse
ALLOW_ABSOLUTE_ATTACHMENT_PATHSNoAllow absolute filesystem paths in attachments and markdown image references. Keep this disabled on networked deployments unless you explicitly want server-side file reads.false
HTTP_RATE_LIMIT_RESOURCES_BURSTNoOptional burst for resources (0=auto=rpm)0
ACK_ESCALATION_CLAIM_HOLDER_NAMENoOps agent name to own escalation file reservations
ACK_ESCALATION_CLAIM_TTL_SECONDSNoTTL for escalation file reservations3600
HTTP_RATE_LIMIT_TOOLS_PER_MINUTENoPer-minute for tools/call60
FILE_RESERVATIONS_CLEANUP_ENABLEDNoEnable background cleanup of expired file reservationsfalse
MESSAGING_AUTO_HANDSHAKE_ON_BLOCKNoWhen contact policy blocks delivery, attempt a contact handshake (auto-accept) and retrytrue
RETENTION_IGNORE_PROJECT_PATTERNSNoCSV of project patterns to ignore in retention/quota reportsdemo,test*,testproj*,testproject,backendproj*,frontendproj*
RETENTION_REPORT_INTERVAL_SECONDSNoInterval for retention reports (1 hour)3600
MESSAGING_AUTO_REGISTER_RECIPIENTSNoAutomatically create missing local recipients during `send_message` and retry routingtrue
TOOL_METRICS_EMIT_INTERVAL_SECONDSNoInterval for metrics emission60
FILE_RESERVATION_INACTIVITY_SECONDSNoInactivity threshold (seconds) before a reservation is considered stale1800
HTTP_ALLOW_LOCALHOST_UNAUTHENTICATEDNoAllow localhost UI without auth (dev convenience)true
HTTP_RATE_LIMIT_RESOURCES_PER_MINUTENoPer-minute for resources/read120
FILE_RESERVATIONS_ENFORCEMENT_ENABLEDNoBlock message writes on conflicting file reservations targeting mail archive paths (agents/, messages/, attachments/)true
FILE_RESERVATION_ACTIVITY_GRACE_SECONDSNoGrace window for recent mail/filesystem/git activity to keep a reservation active900
FILE_RESERVATIONS_CLEANUP_INTERVAL_SECONDSNoInterval for file reservations cleanup task60

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription

No tools

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources