Skip to main content

OmniCoreAgent

OmniCoreAgent is the main entry point for the harness. It wraps a model with the runtime pieces needed to execute real tasks: a reasoning loop, tool routing, parallel tool batches, structured observations, memory, workspace files, guardrails, events, and production harness extensions. Use it when you want one agent object that starts small and grows into a production runtime without rebuilding the application around a different API. For the full implementation-backed map of what OmniCoreAgent adds around the model, read Agent Harness.

Minimal Agent

This gives you the core harness loop, session memory, workspace files, guardrails, events, metrics, and cleanup lifecycle. Heavier capabilities are enabled explicitly through agent_config or installable extras.

What The Harness Owns


Defaults And Opt-In Capabilities

OmniCoreAgent keeps the default path light. Production features are enabled by configuration or installed as extras when the workload needs them.
When dynamic subagents are enabled, workspace files are enabled automatically. Subagents need a shared file surface for outputs, todos, notes, and task artifacts that the lead agent reads back.

Parameters


Full Harness Configuration


Core Methods

run()

Execute a task with the agent. Pass a session_id when you want continuity across calls.
run() returns a dictionary with the response, session ID, agent name, and request metrics.

connect_mcp_servers()

Connect all configured MCP tool servers.

list_all_available_tools()

Return all currently available tools from MCP, local tools, skills, workspace tools, and harness tools.

cleanup()

Close MCP connections and release runtime state.

Session Management


Runtime Switching

Switch configured memory backends without rebuilding the agent object:

Best Practices

  • Use await agent.cleanup() when the application shuts down, especially if MCP tools are connected.
  • Use stable session_id values, such as your user or task IDs, when you need continuity.
  • Enable context management and tool offloading for long tasks, research agents, coding agents, and agents that call large-output tools.
  • Enable BM25 retrieval when your tool list is too large to place fully in the prompt.
  • Enable subagents when a task naturally splits into focused work units whose outputs belong in the workspace for lead-agent synthesis.