Local-first token, cost and cache observability for AWS
Kiro (kiro-cli).
Kiro's plugin-shaped concept — Powers — is IDE-only today (its own FAQ
says CLI support is planned) and publishes no manifest schema, so there is
nothing to package against. Kiro CLI's one documented extension surface is
its mcp.json, which makes this a config listing: the exact block
to paste.
Requires the observer binary already on your PATH. This is
wiring only — the block 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 daemonMerge this into ~/.kiro/settings/mcp.json (every workspace) or
<project>/.kiro/settings/mcp.json (one workspace). If the file already
has an mcpServers object, add the observer entry to
it rather than replacing it:
{
"mcpServers": {
"observer": {
"command": "observer",
"args": [
"serve"
]
}
}
}Kiro also documents a shell verb, kiro-cli mcp add --name … --scope global --command …,
which writes the same entry. It is not spelled out here as a one-liner: the
pages we grounded show --command taking a single command value and do
not document how the serve argument is
passed, and guessing a flag would be worse than pasting the JSON above.
| Key | Value |
|---|---|
command + args |
observer serve — the same launch observer init writes for every other client, resolved from PATH. |
Kiro documents env, disabled and disabledTools on an
entry as well. None is emitted: observer's server takes no environment, is
not disabled, and pre-disabling one of its own tools on your behalf would be
a decision this listing has no business making.
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.
Kiro capture is unaffected either way: observer's watcher reads Kiro's own session store whether or not this entry exists.
observer init writes no Kiro config today — internal/mcp
has no Kiro client row — so this hand-added entry cannot duplicate anything
observer wrote. Adding it at BOTH user and workspace scope loads the same
tool schema twice; pick one.
The automatic detect-and-skip observer init performs for the Claude Code
plugin is claude-code-only (internal/claudeplugin); no equivalent
probe exists for Kiro. Documented, not built.
- Docs: https://superbased.app/
- Source: https://github.com/superbasedapp/observer
- License: Apache-2.0