Local-first token, cost and cache observability for
Open Interpreter
(interpreter).
Open Interpreter documents no plugin or extension mechanism at all — MCP config is its entire extension surface. So this is a config listing: the exact TOML table to paste.
Requires the observer binary already on your PATH. This is
wiring only — the table below declares an MCP server that runs
observer; it does not download or bundle it.
npm i -g @superbased/observer # or: pipx install superbased-observer
observer start # run the local daemonAppend this to ~/.openinterpreter/config.toml:
[mcp_servers.observer]
args = ["serve"]
command = "observer"Then check it with interpreter mcp list, or /mcp inside the
TUI.
(The indentation is the TOML writer's, not a typo — leading whitespace before a table header and its keys is legal TOML, and this block is reproduced exactly as observer's own writer emits it. See "Where this block comes from".)
| Key | Value |
|---|---|
command + args |
observer serve — the same launch observer init writes for every other client, resolved from PATH. |
Open Interpreter also documents env, enabled,
required, enabled_tools, disabled_tools,
startup_timeout_sec and tool_timeout_sec on a server table.
None is emitted: observer's server takes no environment, starts locally in
milliseconds, and pre-disabling one of its own tools on your behalf is not
this listing's decision to make.
The observer server exposes observer's project, session,
cost and cache queries as tools, reading the local
~/.observer/observer.db. It makes no network calls of its own.
Open Interpreter capture is unaffected either way: observer's watcher reads
its rollout JSONL under ~/.openinterpreter/sessions whether or not
this table exists.
It is not hand-typed. Open Interpreter is a rebadged Codex CLI build and
shares Codex's [mcp_servers.<name>] config format, so the text above
is the exact table observer's real Codex MCP registrar writes — lifted
verbatim out of a throwaway sandbox home and documented against
~/.openinterpreter/config.toml instead of ~/.codex/config.toml.
A changed launch argument reaches this page automatically.
The one difference from what observer init --codex writes is the file
it goes in: Open Interpreter keeps "product-only config and session state
local under ~/.openinterpreter", its own home. observer init
does not write that file — there is no Open Interpreter client row in
internal/mcp — which is why this is a paste rather than a command.
observer init writes no Open Interpreter config, so this
hand-added table cannot duplicate anything observer wrote. Note that
observer init --codex writes the SAME table into
~/.codex/config.toml for the Codex CLI — a different tool reading a
different file, not a duplicate.
The automatic detect-and-skip observer init performs for the Claude Code
plugin is claude-code-only (internal/claudeplugin); no equivalent
probe exists here. Documented, not built.
- Docs: https://superbased.app/
- Source: https://github.com/superbasedapp/observer
- License: Apache-2.0