Skip to content

Harness Protocol — the open standard for AI coding harnesses

License: Apache 2.0 Spec: schema v1 candidate harness-kit latest release Docs JSON Schema MCP compatible PRs welcome

An open specification for portable AI coding harnesses.
A vendor-neutral harness.yaml format that captures the complete operational context of an AI coding agent —
plugins, MCP servers, environment, instructions, and permissions.

What MCP is to tool communication, the Harness Protocol is to harness configuration.


The problem

AI coding tools — Claude Code, Cursor, GitHub Copilot — each have their own proprietary format for capturing agent context. A configuration tuned for one tool can't be shared with a teammate on another, published for a team to reuse, or carried when you switch tools.

The Harness Protocol defines a common format so harness configurations become portable, shareable artifacts — the same way MCP made tool communication portable.

harness.yaml at a glance

$schema: https://harnessprotocol.io/schema/v1/harness.schema.json
version: "1"
metadata:
  name: data-engineer
  description: Harness for data engineering work in Go and SQL.

plugins:
  - name: sql-explorer
    source: acme-org/sql-explorer
    version: "^1.2.0"

mcp-servers:
  filesystem:
    transport: stdio
    command: npx
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"]

permissions:
  tools:
    allow: [Read, Glob, Grep, Write, Edit]
    deny: ["mcp__*__drop_*"]

A profile is a YAML file validated against the Harness Protocol JSON Schema, which is the authoritative source for conformance.

Protocol layers

The specification is organized into three decoupled layers — a tool can implement Schema-layer validation today with no dependency on the others.

Layer What it covers Status
Schema The harness.yaml format, JSON Schema validation, security model, plugin manifest 🟢 v1 — current
Exchange Harness-to-harness sharing: publish, fetch, and compose across tools and teams ⚪ v2 — planned
Registry Hosted discovery at harnessprotocol.io: search, publish, version resolution, integrity ⚪ v2/v3 — planned

Repositories

Repository What it is Start here if you want to…
harness-kit The reference implementation — parser, validator, plugin loader, MCP lifecycle manager, and CLI Use the protocol today
harness-protocol The specification — JSON Schema, protocol prose, security model, and HEPs Read or contribute to the spec
homebrew-tap Homebrew tap for harness-kit brew install the CLI

Conformance doesn't require harness-kit — any implementation that correctly validates and applies harness.yaml per the spec is conformant.

Where to start

🛠️ Harness authors — writing harness.yaml for your project or team:

  1. Profile schema reference — every field, explained
  2. Example profiles — annotated configs to copy from
  3. harness-kit — validate and apply your file

⚙️ Tool implementers — building a conformant implementation or IDE integration:

  1. Overview — what the protocol is and how the layers fit
  2. Architecture — system model and trust boundaries
  3. Application pipeline — how a profile becomes effective configuration
  4. Security model — sensitive data, permissions, and the threat model

Contributing & governance

Normative spec changes go through the HEP (Harness Enhancement Proposal) process; editorial fixes can be submitted directly as pull requests. See CONTRIBUTING.md and GOVERNANCE.md.


Docs · Specification · Apache-2.0

Portable across tools. Shareable across teams.

Pinned Loading

  1. harness-kit harness-kit Public

    Your plugins, skills, MCP servers, hooks, conventions, and governance packaged into a single config

    TypeScript 8 2

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…