# Harness Context Protocol > Skills teach. MCP connects. HCP installs. Harness Context Protocol is the open standard for installing capabilities into any agent harness: a pack of three files a runtime lints, authorises and runs. Protocol version: HCP/1.1 (Draft). Vendor-neutral open specification. Use this site when an agent authors or installs a Harness Pack, implements a runtime, adopts HCP in a host, or reads the normative specification. Read the Markdown twins (`.md` URLs or `Accept: text/markdown`) or the MCP server instead of scraping HTML. This site is documentation, not a hosted product API. Run the HCP CLI as `hcpx` (it also installs as `hcp`, a name another tool uses too) and check it with `hcpx doctor --json` (expect `"protocol": "hcp"`). When `hcpx` is missing, install it from source as /docs/quickstart#install-the-cli shows; the npm packages are a private preview on GitHub Packages. Hosts still get one MCP tool named `hcp`. ## Do it - [Set up HCP in this repository](https://harnesscontextprotocol.io/setup.md): Agent runbook. Install the CLI, activate packs, adopt into your host, verify. - [Wrap a CLI as a pack](https://harnesscontextprotocol.io/wrap.md): Agent runbook. Turn a command-line tool into a lint-clean, proven Harness Pack. ## Start here - [Documentation](https://harnesscontextprotocol.io/docs.md): Entry to the docs. - [What is HCP](https://harnesscontextprotocol.io/docs/introduction/what-is-hcp.md): The one-page answer. - [Quickstart](https://harnesscontextprotocol.io/docs/quickstart.md): Create a pack, implement a runtime, adopt a host. - [Share a pack](https://harnesscontextprotocol.io/docs/packs/share.md): Find packs in the catalog and publish your own. - [Specification](https://harnesscontextprotocol.io/docs/specification.md): Normative HCP/1.1. - [Glossary](https://harnesscontextprotocol.io/docs/reference/glossary.md): Terms defined once. - [JSON Schemas](https://harnesscontextprotocol.io/docs/reference/schemas.md): Manifest, Policy, envelopes, availability and eval cases, each live at its $id under https://harnesscontextprotocol.io/schemas/1/. - [API docs](https://harnesscontextprotocol.io/docs/reference/http-api.md): HTTP, OpenAPI, MCP, versioning. - [MCP server](https://harnesscontextprotocol.io/mcp): list_pages, search, get_page. - [Pack catalog](https://harnesscontextprotocol.io/api/v1/packs): Search Harness Packs. - [OpenAPI](https://harnesscontextprotocol.io/openapi.json): HTTP surface. - [Full text](https://harnesscontextprotocol.io/llms-full.txt): Every page concatenated. - [GitHub](https://github.com/harnesscontextprotocol): Source repositories. ## Introduction - [What is HCP?](https://harnesscontextprotocol.io/docs/introduction/what-is-hcp.md): The open standard for installing a capability into any agent harness as a portable pack, and the integration problems it removes. - [Design principles](https://harnesscontextprotocol.io/docs/introduction/design-principles.md): Twelve laws every conforming pack, runtime and host follows, the failure each one prevents, and what HCP/1.x leaves out on purpose. - [Landscape](https://harnesscontextprotocol.io/docs/introduction/landscape.md): Where HCP sits beside Agent Skills, MCP, Agent Plugins, A2UI and A2A, the question each one answers, and how they fit together in one stack. - [Versioning](https://harnesscontextprotocol.io/docs/introduction/versioning.md): How the protocol, each pack and the reference SDK are versioned apart, what each version promises about compatibility, and how deprecation works. ## Quickstart - [Quickstart](https://harnesscontextprotocol.io/docs/quickstart.md): Hand setup to your agent or install the CLI yourself, then follow the path for what you build until a read runs and an unconfirmed write is refused. ## Build packs - [Build a pack](https://harnesscontextprotocol.io/docs/packs.md): Wrap a CLI you already ship in about ten minutes, then prove it installs, answers on both faces and refuses a gated write until confirmed. - [Best practices](https://harnesscontextprotocol.io/docs/packs/best-practices.md): Pick one of five pack shapes, then hold the pack to the habits for scope, naming, Policy, Skill, Binding, wrapping and Sense that review checks. - [Examples](https://harnesscontextprotocol.io/docs/packs/examples.md): What the four gold packs in the reference implementation prove (transit, ledger, echo and the hcp-cli bootstrap), with the commands to run each. - [Manifest](https://harnesscontextprotocol.io/docs/packs/manifest.md): Each `surface.json` field with its type and default: identity, adapter, where the CLI runs, Binding, commands, triggers and the `hcp` metadata object. - [Wrap a CLI](https://harnesscontextprotocol.io/docs/packs/wrap-a-cli.md): Bring a CLI with a login, setup, several accounts or an admin face under HCP: the setup family, connect, doctor, gated writes, entities, the control split. - [Check and evaluate](https://harnesscontextprotocol.io/docs/packs/check.md): Lint, 61 review rules, live CLI probes, eval cases and the proof script every pack ships, with the exit codes and score that CI and review read. - [Share a pack](https://harnesscontextprotocol.io/docs/packs/share.md): Find packs with `hcpx search`, add yours to the catalog by pull request, publish one as an npm package or extract a gold pack into its own repository. ## Specification - [Specification](https://harnesscontextprotocol.io/docs/specification.md): Harness Context Protocol HCP/1.1, the normative requirements for packs, runtimes, and hosts. Status, conformance language, and table of contents. - [§1 Terminology](https://harnesscontextprotocol.io/docs/specification/terminology.md): Normative definitions of every object in the protocol, and what each is explicitly not. - [§2 Pack model](https://harnesscontextprotocol.io/docs/specification/pack-model.md): Normative requirements for the pack directory, its three files, identity, planes, and the invariants every pack satisfies. - [§3 Manifest](https://harnesscontextprotocol.io/docs/specification/manifest.md): Normative schema for surface.json (identity, adapter, Binding, commands, triggers, protocol metadata) and the validation a runtime performs. - [§4 Policy](https://harnesscontextprotocol.io/docs/specification/policy.md): Normative schema for policy.json (operation, land, confirm), with coverage rules and the semantics runtimes must enforce. - [§5 Skill](https://harnesscontextprotocol.io/docs/specification/skill.md): Normative requirements for HARNESS.md: presence, content constraints, the copy on activate, and drift with the manifest. - [§6 Execute](https://harnesscontextprotocol.io/docs/specification/execute.md): Normative definition of the inbound loop: the exec envelope, the fail-closed pipeline, wrap argv rendering, the result envelope, and the twin face. - [§7 Sense](https://harnesscontextprotocol.io/docs/specification/sense.md): Normative definition of the outbound loop: trigger declaration, isolation from Execute, the sense.enable grant, activation, and what a runtime may and may not deliver. - [§8 Binding](https://harnesscontextprotocol.io/docs/specification/binding.md): Normative rules for credential binding: one mode per pack, hubs, families, fail-closed mint, explicit mock, connect, and health. - [§9 Authorization](https://harnesscontextprotocol.io/docs/specification/authorization.md): Normative authorisation model: Principal, scope, the five capabilities, evaluation order, denial reasons, and audit attribution. - [§10 Sandbox](https://harnesscontextprotocol.io/docs/specification/sandbox.md): Normative execution posture. Sandbox by default with bin allow-list, cwd jail, and no ambient credentials; native-local only by explicit opt-in. - [§11 Lifecycle](https://harnesscontextprotocol.io/docs/specification/lifecycle.md): Normative pack lifecycle (lint, install, activate, connect, exec), the four availability flags, and the store. - [§12 Projections](https://harnesscontextprotocol.io/docs/specification/projections.md): Normative rules for how a pack appears on other surfaces: CLI grammar, the two host tool shapes, the four-faces rule, and export to MCP or A2UI. - [§13 Versioning](https://harnesscontextprotocol.io/docs/specification/versioning.md): Normative versioning: the protocol version, the manifest's protocol pin, compatibility promises, and deprecation. - [§14 Conformance](https://harnesscontextprotocol.io/docs/specification/conformance.md): What it means to conform to HCP/1.1 as a pack, a runtime, or a host, and the executable vectors that back the claims. ## Reference - [CLI](https://harnesscontextprotocol.io/docs/reference/cli.md): Look up any `hcpx` command with its arguments, JSON output and exit codes, plus the access commands, the store layout and environment variables. - [SDK](https://harnesscontextprotocol.io/docs/reference/sdk.md): Every export of the TypeScript reference SDK, from the `Hcp` facade and runtime drivers to lints, grants, access, check, host adoption and HarnessAgent. - [API docs](https://harnesscontextprotocol.io/docs/reference/http-api.md): How agents read this site by machine: the `/api/v1` HTTP API with its OpenAPI file, Markdown twins of every page and a read-only MCP server. - [Schemas](https://harnesscontextprotocol.io/docs/reference/schemas.md): Seven JSON Schemas, each live at its `$id`, for validating `surface.json`, `policy.json`, the envelopes, grants, availability and `hcp.eval.json`. - [Errors](https://harnesscontextprotocol.io/docs/reference/errors.md): The lint issue kinds, error codes and runtime error strings the reference implementation emits, each with its cause and the fix. - [Glossary](https://harnesscontextprotocol.io/docs/reference/glossary.md): Each HCP term in one line, from Harness Pack and Binding to Sense, land and the four faces, with a link to the page that explains it. - [FAQ](https://harnesscontextprotocol.io/docs/reference/faq.md): Short answers to the first questions about HCP, from MCP and Skills to secrets, runtimes, Sense and hosts, each linking to the page that settles it. ## Documentation - [Start here](https://harnesscontextprotocol.io/docs.md): One page per reader, whether you write a pack, build a runtime, adopt packs in a host or are weighing HCP, plus one-step setup for your agent. ## Optional ## Concepts - [How HCP works](https://harnesscontextprotocol.io/docs/concepts.md): The path every command and trigger takes through a pack, the runtime and a host, and the page that explains each HCP object. - [Pack](https://harnesscontextprotocol.io/docs/concepts/pack.md): What the three files of a pack hold, what never goes in them, where packs live, and the gold packs to copy when you start a new one. - [Command](https://harnesscontextprotocol.io/docs/concepts/command.md): What a command is made of, how to name it, how its CLI face renders from JSON args, and the rules that keep it safe for an agent to call. - [Policy](https://harnesscontextprotocol.io/docs/concepts/policy.md): Every policy.json field, how to choose each command's operation, land and confirm gate, and the coverage rules lint enforces against the manifest. - [Access](https://harnesscontextprotocol.io/docs/concepts/access.md): Grants decide who may act at all, and access decides what runs without asking, through modes, rules, approvals, the approval card and an audit log. - [Binding](https://harnesscontextprotocol.io/docs/concepts/binding.md): Who acts on each exec and which credentials the runtime mints for it, so a pack reaches a protected system without ever holding a secret. - [Sense](https://harnesscontextprotocol.io/docs/concepts/sense.md): How a pack announces that the world changed and how the runtime delivers it, under Policy and a separate grant, with no power to mint or act. - [Skill](https://harnesscontextprotocol.io/docs/concepts/skill.md): How to write the one screen of HARNESS.md an agent gets right on the first try, what lint checks in it, and where hosts pick it up on activate. - [Adapter](https://harnesscontextprotocol.io/docs/concepts/adapter.md): When to use wrap, composite, openapi or sense_only, the fields and safety rules of a wrap, and how a pack grows from pass-through to composite. - [Lifecycle](https://harnesscontextprotocol.io/docs/concepts/lifecycle.md): The six steps from lint to exec that every pack passes before a command runs, how to read availability, and where the store keeps its state. ## Build runtimes - [Build a runtime](https://harnesscontextprotocol.io/docs/runtimes.md): Start a runtime on the reference SDK or in any language, meet the ten-point contract, and keep catalog, hub and RBAC private behind the open pack format. - [Execution](https://harnesscontextprotocol.io/docs/runtimes/execution.md): Who may call a command and what the runtime does with the call, from the exec envelope through the fail-closed pipeline and wrap argv to the result. - [Sandbox](https://harnesscontextprotocol.io/docs/runtimes/sandbox.md): The default execution posture, with a bin allow-list, a cwd jail and no ambient credentials, and why native-local is a trust decision you opt into. - [Runtime conformance](https://harnesscontextprotocol.io/docs/runtimes/conformance.md): The executable vectors a runtime must pass, the checklist behind them, what the suite does not cover yet, and how to run it against your driver. ## Adopt in hosts - [Adopt in a host](https://harnesscontextprotocol.io/docs/hosts.md): One command gives a coding agent the HCP Skill, the `hcpx` binary and one MCP tool, and an in-process loop gets one typed tool per command. - [Coding agents](https://harnesscontextprotocol.io/docs/hosts/coding-agents.md): The adopt command, the files and the quirks for Claude Code, Cursor, Codex, OpenCode and Grok Bot, so every activated pack reaches your agent. - [MCP export](https://harnesscontextprotocol.io/docs/hosts/mcp.md): A host that can only add an MCP server gets one tool, `hcp`, that runs `hcpx` commands in process while the pack stays the unit you install. - [AI SDK](https://harnesscontextprotocol.io/docs/hosts/ai-sdk.md): `HarnessAgent` builds a Vercel AI SDK ToolLoopAgent from activated packs, with grant-filtered tools, approvals on writes and Skills loaded on demand. ## Community - [Governance](https://harnesscontextprotocol.io/docs/community/governance.md): Who owns each HCP repository, who decides, how a normative change moves from RFC idea to release, and when you may say you implement HCP. - [Roadmap](https://harnesscontextprotocol.io/docs/community/roadmap.md): Which RFCs HCP/1.1 holds, which drafts the reference SDK already runs on trial, what is proposed for 1.2 and reserved for 2.0, and which gaps remain. - [Implementations](https://harnesscontextprotocol.io/docs/community/implementations.md): The runtimes, hosts, SDKs and packs known to implement HCP, with the protocol version and conformance target each one claims. - [Security](https://harnesscontextprotocol.io/docs/community/security.md): Where to report an HCP vulnerability, which threats the protocol defends against, what it guarantees, what it leaves to runtimes and each role's rules.