Tool Profiles
OMEGA Pro registers about 134 MCP tools at session handshake. Each tool schema costs 50-200 tokens in the agent's system prompt, so the full surface spends roughly 13K tokens before the first user message. Most users only ever touch 25-30 of those tools. Tool profiles let you opt into a smaller surface that matches how you actually use OMEGA, and hand the saved tokens back to the agent for real work.
The three profiles
| Profile | Includes | Tool count |
|---|---|---|
solo (default) | core + dreaming + audit + typed | ~28 |
team | solo + coordination + federation | ~86 |
enterprise (alias all) | everything | ~134 |
The profile is read once at server start. Changing it requires a restart
because Claude Code does not honor MCP tools/list_changed
(anthropics/claude-code#13646),
so runtime gating would silently no-op. Restart-to-switch is the honest UX.
How to pick
- solo: single-agent coding sessions. No file claims, no peer messaging, no federation. Roughly 28 tools, ~4K schema tokens.
- team: multi-agent setups (parallel Claude Code sessions, federated peers exchanging signed manifests). Adds the coordination and federation modules. Roughly 86 tools.
- enterprise: admin-tier surfaces — router, knowledge base, oracle intelligence, entity management, ingest, secure profiles, mounted stores. Roughly 134 tools. The pre-profile default.
Syntax
Set OMEGA_MODE in your shell or your MCP launch config:
OMEGA_MODE=team # profile only
OMEGA_MODE=solo,federation,oracle # additive — base profile + extra modules
OMEGA_TOOLS_INCLUDE=tool_a,tool_b # force-include specific tools
OMEGA_TOOLS_EXCLUDE=tool_c # force-exclude specific tools
Resolution order (first wins):
OMEGA_TOOLS_EXCLUDEalways removes (even from the active profile).OMEGA_TOOLS_INCLUDEalways adds (even tools the profile would skip).OMEGA_MODEprofile + additive modules provide the baseline.- Default is
solo.
The syntax mirrors the GitHub MCP server toolset model so the same env-var muscle memory works across both.
Verify the active profile
Inside any agent session, call the always-loaded omega_mode tool:
omega_mode()
→ Active profile: solo
OMEGA_MODE=solo OMEGA_TOOLS_INCLUDE=- OMEGA_TOOLS_EXCLUDE=-
Loaded modules (11 tools): audit, dreaming, typed
Skipped modules (106 tools): coordination, entity, federation, ingest,
knowledge, oracle, profile, router, stores
To expand, restart the MCP server with one of:
OMEGA_MODE=team # solo + coordination + federation
OMEGA_MODE=enterprise # everything (alias: all)
OMEGA_MODE=solo,federation # additive — pick specific modules
From the shell, read the /health endpoint on the HTTP daemon:
curl -s http://127.0.0.1:8377/health | python3 -m json.tool
# expect: "mode": {"profile": "solo", "loaded_tool_count": 11, ...}
The omega_welcome session-start banner also surfaces the active mode
on the first line so you see what you got without having to ask.
Changing the profile
For Claude Code stdio MCP, set the env var in ~/.claude.json under
the omega-memory server entry:
{
"mcpServers": {
"omega-memory": {
"command": "python3",
"args": ["-m", "omega.server.mcp_server"],
"env": { "OMEGA_MODE": "team" }
}
}
}
For the OMEGA HTTP daemon (launchd on macOS), edit
~/Library/LaunchAgents/com.omega.mcp-daemon.plist and add the env var
under EnvironmentVariables, then reload:
launchctl unload ~/Library/LaunchAgents/com.omega.mcp-daemon.plist
launchctl load ~/Library/LaunchAgents/com.omega.mcp-daemon.plist
Restart Claude Code (or any open MCP client) after the daemon reload so it re-handshakes against the new tool surface.
Why not auto-detect?
We considered detecting multi-agent context (peer registered, federated keys present) and bumping the profile automatically. We rejected it for two reasons:
- No cross-framework convention exists for "I am part of a multi-agent
run." The Agent SDK exposes
CLAUDE_CODE_FORK_SUBAGENT=1for subagent forks, but that's not a "session is multi-agent" signal. - Auto-bumping the profile would change which tools the agent sees
mid-session, which Claude Code can't notify the agent about (the same
tools/list_changedbug). The agent would either keep using the old list or restart confused.
Explicit OMEGA_MODE keeps the behavior deterministic.