Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AGENT_MODELNoModel used by the child agent (agent worker). Defaults to `anthropic/claude-sonnet-5-5`. Only models present in the price table are allowed.anthropic/claude-sonnet-5-5
ALLOWED_ORGNoSlug of the org whose members are allowed to log in and call all tools. Members of child teams are also allowed. Set together with ALLOWED_TEAM (setting only one of the pair prevents login). Use either this pair or ALLOWED_USER_IDS.
ENVIRONMENTNoEnvironment name. Defaults to "production". Only when set to "test" are the GITHUB_OAUTH_BASE / GITHUB_API_BASE overrides allowed. Do NOT set to "test" in production (startup is rejected if overrides are specified in production).production
ALLOWED_TEAMNoSlug of the team whose members are allowed to log in and call all tools. Members of child teams are also allowed. Set together with ALLOWED_ORG (setting only one of the pair prevents login). Use either this pair or ALLOWED_USER_IDS.
PR_SHOW_COSTNoOnly when "true" is the cost included in the PR body (default: not included, since anyone can see it in public repositories).false
AI_GATEWAY_IDYesAI Gateway ID. Required for the agent and the web worker. On the agent, if empty `start` is rejected with `ai_gateway_not_configured`. On web, if empty neither `websearch` nor `AI.run` (Clef) is called and calls fail with a `misconfigured` error (fail closed).
GITHUB_APP_IDYesGitHub App App ID (not a secret). Used to issue Installation Access Tokens (JWT `iss`). If unset, tasks fail with `github_app_not_configured` (fail closed).
TOKEN_ENC_KEYYesKey used to encrypt GitHub tokens / Installation Tokens before storing them (UserDO, TaskDO and the agent's SandboxDO storage). base64 of 32 bytes (`openssl rand -base64 32`). The gateway and agent each have their own value; they may be the same or different. Changing it makes stored credentials undecryptable and forces everyone to log in again. If unset on the agent, `start` is rejected (fail closed).
TEST_FAKE_BASENoE2E only (web worker). When ENVIRONMENT=test, points AI (`run` / `websearch` / `toMarkdown`) and fetching at the fake server URL. Production must be `production`.
GITHUB_API_BASENoOverride for the GitHub API base URL. Only allowed when ENVIRONMENT=test; specifying it in production is rejected at startup.
PUBLIC_BASE_URLYesPublic URL of the gateway. Becomes the OAuth issuer, the /mcp resource, and the GitHub callback URL (<PUBLIC_BASE_URL>/callback). Must be https in production; only loopback http is allowed for local development.
TASK_BUDGET_USDNoBudget reserved per task from the monthly allowance (default $10). Values <= 0 or invalid fall back to 10. If insufficient, `task_start` fails with `budget_exceeded`.10
ALLOWED_USER_IDSNoComma-separated GitHub numeric user IDs allowed to log in and call all tools (find yours with `gh api user --jq .id`). Use this for personal accounts without a team. If both org/team and this are set, satisfying either is enough. If any element is invalid, the whole value is invalid and login is refused (fail closed).
DRAFT_PR_FALLBACKNoHow to handle repositories that cannot create Draft PRs (e.g. private repos on the Free plan). `fail` (default: fail the task with `draft_pr_unsupported`) or `ready` (create a normal PR prefixed with `[WIP]`, note it at the top of the body, and add the `draft_pr_unavailable` warning). Invalid values are treated as `fail`. Only applied for Draft-related 422 responses.fail
GITHUB_OAUTH_BASENoOverride for the GitHub OAuth base URL. Only allowed when ENVIRONMENT=test; specifying it in production is rejected at startup.
MONTHLY_BUDGET_USDNoMonthly budget allowance (default 100). When lowering the monthly allowance below 10, lower TASK_BUDGET_USD as well (useful for keeping acceptance testing to a few dollars).100
WEB_BROWSE_ENABLEDNoWhether `web_browse` is exposed. Only the worker whose env `WEB_BROWSE_ENABLED` is "true" enables it (set it on apps/web, apps/agent and apps/gateway). When disabled it does not appear in the parent's tools/list nor in the child Pi's tools. Defaults to "false". Read section 11 ("web_browse (gate before enabling)") of docs/specs/acceptance.md before enabling.false
WEB_SEARCH_PROVIDERNoSearch provider used by the web worker: `ceramic` / `exa` / `linkup`. Defaults to `ceramic`.ceramic
GITHUB_APP_CLIENT_IDYesGitHub App Client ID (not a secret).
SANDBOX_USD_PER_HOURNoEstimated Sandbox container cost per hour (default 0.0073, for `lite`: 1/16 vCPU, 256 MiB, 2 GB, assuming 100% CPU utilization). Override if you change `instance_type`. Unset or invalid values fall back to the default; 0 is allowed.0.0073
WEB_USD_PER_1K_FETCHNoEstimated cost per 1,000 `web_fetch` calls (default 0).0
WEB_FETCH_DAILY_LIMITNoParent `web_fetch` limit per user per UTC day (default 500). Exceeding it returns `quota_exceeded`.500
WEB_USD_PER_1K_BROWSENoEstimated cost per 1,000 `web_browse` calls (default 0.75, assuming up to 30 seconds of browser time per call).0.75
WEB_USD_PER_1K_SEARCHNoEstimated cost per 1,000 `web_search` calls (default 0.25, for the default ceramic provider). Override if you change `WEB_SEARCH_PROVIDER`.0.25
GITHUB_APP_PRIVATE_KEYYesGitHub App private key (PKCS#8 PEM). GitHub downloads PKCS#1 (BEGIN RSA PRIVATE KEY), so convert with `openssl pkcs8 -topk8 -nocrypt -in app.private-key.pem -out app.pkcs8.pem` and put it in with `wrangler secret put GITHUB_APP_PRIVATE_KEY < app.pkcs8.pem`. Never commit it to the repository.
SAFETY_BLOCK_THRESHOLDNoPolicy Engine threshold for the web worker (default 0.8). If the model score is at or above this, the verdict is `block`. Provisional value, tuned during acceptance testing.0.8
WEB_BROWSE_DAILY_LIMITNoParent `web_browse` limit per user per UTC day (default 50; counted separately).50
WEB_SEARCH_DAILY_LIMITNoParent `web_search` limit per user per UTC day (default 200). Exceeding it returns `quota_exceeded` (with `retry_after_seconds` until 00:00 UTC the next day).200
GITHUB_APP_CLIENT_SECRETYesGitHub App Client secret (secret).
SAFETY_CAUTION_THRESHOLDNoPolicy Engine threshold for the web worker (default 0.4). If the model score is at or above this, the verdict is `caution`. Provisional value, tuned during acceptance testing.0.4
WEB_FETCH_LIMIT_PER_TASKNoChild (agent) `web_fetch` limit per task (default 100). Non-negative integers only; invalid values fall back to the default.100
WEB_BROWSE_LIMIT_PER_TASKNoChild (agent) `web_browse` limit per task (default 20). Non-negative integers only; invalid values fall back to the default.20
WEB_SEARCH_LIMIT_PER_TASKNoChild (agent) `web_search` limit per task (default 50). Non-negative integers only; invalid values fall back to the default. Exceeding it returns a tool error.50

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