User Guides
Configuration
Full runtime configuration reference with practical production guidance.
Core runtime variables
| Variable | Default | Required | Notes |
|---|---|---|---|
OUTLINE_API_KEY | none | Yes | Required for MCP server calls to Outline |
OUTLINE_BASE_URL | https://app.getoutline.com | No | Set to self-hosted endpoint when needed |
OUTLINE_ALLOWED_ACTIONS | read,write,delete | No | Supported values: read, write, delete, admin |
OUTLINE_REQUEST_TIMEOUT_MS | 15000 | No | Request timeout in milliseconds |
OUTLINE_RETRY_COUNT | 2 | No | Retries for transient upstream errors |
OUTLINE_ENABLE_CAPABILITY_PROBE | true | No | Probes optional endpoints on startup |
Lease variables
| Variable | Default | Required | Notes |
|---|---|---|---|
OUTLINE_LEASE_STRATEGY | auto | No | auto, memory, data_attribute |
OUTLINE_LEASE_ATTRIBUTE_ID | none | Conditional | Required when strategy is data_attribute |
OUTLINE_LEASE_DEFAULT_TTL_SECONDS | 600 | No | Default lease TTL |
OUTLINE_LEASE_MAX_TTL_SECONDS | 7200 | No | Max lease TTL |
E2E-related variables
These are mainly used by pnpm e2e:mcp and CI E2E jobs.
| Variable | Default | Notes |
|---|---|---|
OUTLINE_E2E_RUN_WRITE | true (script default) | Set false for read-focused CI |
OUTLINE_E2E_COLLECTION_ID | empty | Fixed test collection; if empty, temporary collection may be created |
OUTLINE_E2E_EXPORT_COLLECTION_ID | empty | Export scenario target |
OUTLINE_E2E_MEMBER_COLLECTION_ID | empty | Membership scenario target |
OUTLINE_E2E_MEMBER_USER_ID | empty | Membership user scenario |
OUTLINE_E2E_MEMBER_GROUP_ID | empty | Membership group scenario |
OUTLINE_E2E_EXPORT_ALL | false | Enables export-all scenario |
Practical production presets
Reader preset
OUTLINE_ALLOWED_ACTIONS=readWriter preset
OUTLINE_ALLOWED_ACTIONS=read,writeOperator preset
OUTLINE_ALLOWED_ACTIONS=read,write,deleteMulti-process lease preset
OUTLINE_LEASE_STRATEGY=data_attribute
OUTLINE_LEASE_ATTRIBUTE_ID=your_data_attribute_idConfiguration recommendations
- Keep one profile per client role and do not mix responsibilities casually.
- Treat delete access as an operational capability, not a default capability.
- Use capability probe in most environments so optional tools are gated correctly.
Next step
Continue to Permission Model.