Configuration¶
Every setting is optional; the defaults work for local development. Settings
are read from environment variables prefixed MANNA_, or from a .env file
in the working directory. Unknown MANNA_* variables are ignored. The source
of truth is src/manna/config.py.
Variable |
Default |
What it does |
|---|---|---|
|
|
HTTP bind address (HTTP mode only) |
|
|
HTTP listen port (HTTP mode only) |
|
|
|
|
(unset) |
Comma-separated archive short names to activate; unset means every non-paused archive (Archives) |
|
(unset) |
Comma-separated hostnames the server may fetch (exact or subdomain match). Unset allows any public host; private, loopback, and link-local targets are refused regardless (Security) |
|
|
Client timeout for a TAP |
|
|
|
|
|
Interval between those polls |
|
|
How long |
|
|
Ceiling applied to any caller-supplied |
|
|
Max rows returned inline before a TAP result is promoted to async or a cone/SIA result is truncated |
|
|
Same, in bytes of the serialized envelope (48 KiB) |
|
|
Above this, |
Presets by model backend¶
The inline caps default to sizes that suit a small-context local model, roughly 64K to 128K tokens. Raise them for a frontier model:
Backend |
|
|
|---|---|---|
Small local model (e.g. gpt-oss-120b on vLLM) |
|
|
Claude (200K+) |
|
|
Transport¶
There is one transport flag, on the command line rather than in the
environment: manna --stdio serves MCP over stdio for clients that launch the
server themselves. Without it the server binds MANNA_HOST:MANNA_PORT and
serves Streamable HTTP at /mcp/, plus /health and /ready.
Example .env¶
The repository ships .env.example with every variable and a comment. Copy it
to .env and edit.