Skip to main content

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

ProfileIncludesTool count
solo (default)core + dreaming + audit + typed~28
teamsolo + 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):

  1. OMEGA_TOOLS_EXCLUDE always removes (even from the active profile).
  2. OMEGA_TOOLS_INCLUDE always adds (even tools the profile would skip).
  3. OMEGA_MODE profile + additive modules provide the baseline.
  4. 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=1 for 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_changed bug). The agent would either keep using the old list or restart confused.

Explicit OMEGA_MODE keeps the behavior deterministic.