Skip to content

Support Oh My Pi (omp) as a first-class MCP client #3

Description

@asuan-dev

Context

Oh My Pi (omp) is a local-first coding agent framework (TUI + CLI). It is a full MCP client: ~/.omp/agent/mcp.json holds a standard {"mcpServers": {...}} map supporting both stdio and HTTP transports (currently running codebase-memory-mcp over stdio and donut-browser/cloudflare over HTTP in my setup).

Compartment already works with it through the generic stdio route (any MCP client), but it is missing from clients.py (compartment integrate), so there is no one-command wiring, no integrate --all coverage, and no docs.

Requests

  1. Add omp to CLIENTS in src/compartment/clients.py — config paths:

    • ~/.omp/agent/mcp.json (agent-level, currently the live one)
    • ~/.omp/mcp.json (additional)
      Standard mcpServers root key, plain {"command", "args"} entries — same shape as Cursor/codex entries.
  2. Document manual wiring for omp in INTEGRATIONS.md (stdio compartment serve, --vault/--caller args).

  3. Optional deeper integration ideas (happy to elaborate):

    • omp has an extension system (~/.omp/agent/extensions/, npm-style packages with an on(event, handler) API subscribing to agent lifecycle events, e.g. beforeAgentStart) — a natural write-path capture hook equivalent to the Claude Code PostToolUse hook.
    • The /compartmentalize skill already uses the standard Agent Skills layout; omp loads skills from ~/.agents/skills/, so it can be installed there manually today.
    • omp ships a local SQLite memory backend (Mnemopi) with memory:// URLs — a potential import source (similar to import-claude) for migrating existing memories into the vault.

Manual config that already works

{
  "mcpServers": {
    "compartment": { "command": "compartment", "args": ["serve"] }
  }
}

Why it matters

omp users get the encrypted vault + deterministic retrieval, but currently lose the deterministic write path (no hook, model-discretion only) and have no documented integration. Adding omp to the client table is a few lines (same pattern as the existing 27 clients) and unlocks integrate omp + --all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions