Agent Harness vs Agent Framework vs MCP: Which Layer Owns the

Agent Harness vs Agent Framework vs MCP: Clearing Up the Confusion

Harness, framework, and MCP are often used interchangeably in agent architecture discussions. They are not the same thing. They sit at different layers, own different responsibilities, and increasingly overlap at the edges. This article separates the three with one question: Which layer owns the execution loop, state, tool transport, permissions, and recovery?

The Three Categories

  • Agent harness: The harness is the execution system that wraps a model and turns it into a working agent. OpenAI's Codex as a platform post (August 19, 2026) defines it directly. The harness manages conversation state, streams execution, and uses tools. It also enforces sandbox and approval policies and carries work across turns. Anthropic's Claude Code docs call the same thing an agentic harness. The Claude Agent SDK exposes 'the same tools, agent loop, and context management that power Claude Code.' A harness is opinionated. It ships a loop, a permission model, a sandbox, and a context strategy as one unit.
  • Agent framework: A framework is a library of primitives for composing agents. It covers model clients, tool abstractions, graph orchestration, memory interfaces, and observability hooks. Examples include LangGraph, the OpenAI Agents SDK, and Microsoft Agent Framework, which reached 1.0 GA in April 2026. A framework gives you the parts and the loop skeleton. You decide the policy.
  • MCP: The Model Context Protocol is a wire protocol, not a runtime. It standardizes how an LLM application (the host) discovers and calls capabilities exposed by servers: tools, resources, and prompts. MCP uses JSON-RPC 2.0 messages between hosts, clients, and servers. Since December 2025 the Linux Foundation's Agentic AI Foundation has governed it, alongside goose, AGENTS.md, and now A2A. MCP owns no loop and no agent state. It owns the contract between the agent and its tools.

Ownership Matrix

The table maps each responsibility to the layer that owns it by default. Owns means the layer defines and enforces the behavior. Exposes means the layer surfaces a hook but does not decide policy.

Responsibility Agent harness Agent framework MCP
Execution loop Owns Exposes None
Conversation state Owns Exposes None
Tool transport Exposes Exposes Owns
Permissions Owns Exposes None
Recovery & retries Owns Exposes None

Note: The table above is illustrative based on the definitions in this article. Specific implementations may vary, but the default ownership model remains consistent across the harness, framework, and MCP layers.

via MarkTechPost

Related