~/.meepagateway/config.yaml. Specify a custom path with --config:
File format
The config is YAML. Top-level sections:Resolution order
Settings are resolved with this priority (first match wins):- Agent-level setting (under
agents) - Agent defaults (
agent_defaults) - Built-in default
providers
| Field | Type | Required | Description |
|---|---|---|---|
primary | string | yes | Name of the primary provider. Must match a key under providers.providers. |
fallback | list | no | Ordered list of fallback provider names tried when primary is unhealthy. |
health_check_interval | duration | yes | How often to poll provider health (e.g. 30s, 5m). |
providers.providers.<name>):
| Field | Type | Required | Description |
|---|---|---|---|
api_key_env | string | yes | Environment variable holding the API key. |
model | string | yes | Default model for this provider. |
base_url | string | no | Override the provider’s API base URL. Useful for proxies or OpenAI-compatible endpoints. |
max_tokens | integer | no | Maximum tokens per response. |
captain
| Field | Type | Default | Description |
|---|---|---|---|
enabled | bool | true | Enable the Captain Dashboard. |
bind | string | 127.0.0.1 | IP address to bind the dashboard listener. |
port | integer | 63372 | Port for the dashboard. |
exposure | string | local | How the dashboard is exposed. See below. |
password_hash | string | — | Argon2-hashed password. Set via setup wizard, not by hand. |
public_url | string | — | Public URL (for cloudflare_tunnel or reverse_proxy exposure). |
cloudflare_token | string | — | Cloudflare tunnel token (for cloudflare_tunnel exposure). |
| Value | Behavior |
|---|---|
local | Bind 127.0.0.1 — localhost only (default) |
lan | Bind 0.0.0.0 — local network |
tailscale_private | Bind 127.0.0.1, tailscale serve proxies |
cloudflare_tunnel | Bind 127.0.0.1, Cloudflare tunnel routes to captain port |
tailscale_funnel | Bind 0.0.0.0, Tailscale Funnel |
reverse_proxy | Bind 0.0.0.0, user-managed reverse proxy |
cron
| Field | Type | Default | Description |
|---|---|---|---|
enabled | bool | true | Enable the cron subsystem. |
max_concurrent_runs | integer | 3 | Maximum concurrent cron jobs across all agents. |
agents[].cron_jobs. See Cron.
agent_defaults
Defaults inherited by all agents. Any field can be overridden per-agent.
| Field | Type | Default | Description |
|---|---|---|---|
provider | string | providers.primary | Default LLM provider for all agents. |
max_iterations | integer | 10 | Maximum agent loop iterations per message. |
max_tool_failures | integer | 3 | Maximum consecutive failures of the same tool before the agent is nudged to try something else. |
allowed_dirs | list | [] | Directories read_file/write_file tools can access. Empty means unrestricted. |
image_config | object | disabled | Sandbox image configuration. Alias: sandbox. |
isolation | object | null | Isolation configuration. |
agents
Each item in the agents list defines one agent.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | Unique identifier. Used in API paths and logs. |
name | string | yes | Display name. |
default | bool | no | Mark as the default agent. Exactly one agent must be default. |
provider | string | no | Override provider for this agent. |
model | string | no | Override model for this agent. |
max_iterations | integer | no | Override max loop iterations. |
max_tool_failures | integer | no | Override max tool failures before nudge. |
allowed_dirs | list | no | Override allowed directories for file tools. |
~/.meepagateway/agents/{id}/. Files in the workspace (SOUL.md, MEMORY.md, USER.md, memory.db, skills/, .mcp.json) are not configured here.
Connectors
webhook: true on any connector to use the centralized webhook system instead of per-connector polling or WebSocket.
Cron jobs
Tool filtering
allow is an allowlist — only listed tools are available. deny removes specific tools. The two are mutually exclusive.
Sandbox
MCP servers
MCP servers are not configured in the main config file. Each agent has a.mcp.json file at ~/.meepagateway/agents/{id}/.mcp.json:
meepagateway agent mcp <id>
Environment variables
| Variable | Description |
|---|---|
ANTHROPIC_API_KEY | API key for the Anthropic provider |
OPENAI_API_KEY | API key for the OpenAI provider |
MEEPA_URL | Default gateway URL for CLI management commands |
MEEPA_API_KEY | API key for CLI authentication |
RUST_LOG | Log level (e.g. info, debug, meepa_gateway=debug) |
api_key_env pointing to an environment variable.
