Skip to content

Client setup

Frigg supports stdio and stateful streamable HTTP. Use loopback HTTP for normal work so clients and subagents share one long-running local runtime.

Workflow Transport
One local client owns the Frigg process and no second client or subagent shares it Stdio
Multiple clients, subagents, long-running work, or built-in watch freshness HTTP

Stdio starts one Frigg process per client configuration. Its default runtime profile has watch disabled. HTTP keeps repository registration, caches, session state, and watch coordination in one service.

Start Frigg:

Terminal window
frigg serve

The default MCP endpoint is:

http://127.0.0.1:37444/mcp

Add it through supported client CLIs:

Terminal window
claude mcp add --transport http frigg http://127.0.0.1:37444/mcp
codex mcp add frigg --url http://127.0.0.1:37444/mcp

For JSON-based clients:

{
"mcpServers": {
"frigg": {
"transport": "streamable_http",
"url": "http://127.0.0.1:37444/mcp"
}
}
}

The service may start without repository roots. Clients can adopt repositories later with workspace. To preload initialized repositories, repeat --workspace-root:

Terminal window
frigg serve \
--workspace-root /absolute/path/to/repo-a \
--workspace-root /absolute/path/to/repo-b

Use stdio only when one client should launch and own Frigg directly. Initialize or index the repository before the client starts Frigg:

{
"mcpServers": {
"frigg": {
"command": "frigg",
"args": ["--workspace-root", "/absolute/path/to/repo"]
}
}
}

Do not put frigg serve in a stdio configuration. With no subcommand and no --mcp-http-port, frigg speaks MCP over stdio and reserves stdout for protocol messages.

Loopback HTTP needs no token. A non-loopback bind requires explicit remote permission and a nonblank bearer token:

Terminal window
frigg serve \
--mcp-http-host 0.0.0.0 \
--allow-remote-http \
--mcp-http-auth-token <TOKEN>

You may provide the token through FRIGG_MCP_HTTP_AUTH_TOKEN. There are no FRIGG_MCP_HTTP_HOST, FRIGG_MCP_HTTP_PORT, or FRIGG_ALLOW_REMOTE_HTTP environment variables.

Frigg applies bearer authentication to both /mcp and /stats/routing. When the bind address identifies a specific host, it also validates Host and Origin authorities. Remote HTTP resolves watch-mode=auto to disabled; pass --watch-mode on only when that remote service should watch adopted repositories.

frigg adopt writes HTTP MCP entries and managed agent instructions. It preserves a hand-written stdio entry unless you explicitly replace a diverged Frigg entry with --force.

See Project adoption for targets, policies, skill installation, drift checks, and uninstall behavior.

  1. Reload the MCP client after changing its configuration.
  2. Confirm Frigg appears in the client’s live tool list.
  3. Call workspace and inspect the session default, adopted repositories, runtime tasks, and freshness state.
  4. If needed, call workspace with an absolute repository path.
  • ../frigg/README.md
  • ../frigg/crates/cli/src/cli_args.rs
  • ../frigg/crates/cli/src/cli_dispatch.rs
  • ../frigg/crates/cli/src/http_runtime.rs
  • ../frigg/crates/cli/src/settings/runtime_profile.rs
  • ../frigg/crates/cli/src/settings/watch.rs
  • ../frigg/crates/cli/src/cli_runtime/commands/adopt/json_merge.rs