Capability Host Protocol

MCP serverDev tools

chp gives your AI working knowledge of CHP, the agentic web's open evidence layer. Once added, your AI can explain what CHP is and guide you through adopting it in your own projects. It is community-maintained and built with developers in mind.

Use Capability Host Protocol in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Capability Host Protocol and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use Capability Host Protocol to explain

Details

Available today. Use it from your connected AI after setup.

After adding chp, ask your AI what CHP is or how to start adopting it. The source is available at github.com/capabilityhostprotocol/chp-core if you want to dig deeper.

Capability Host ProtocolStart free

What your AI can do with it

  • Explain what CHP is and how it fits into the agentic web
  • Walk through the steps for adopting CHP
  • Answer questions about the open evidence layer as you build

Install Capability Host Protocol

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user capability-host-protocol 'https://capabilityhostprotocol.com/api/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://capabilityhostprotocol.com/api/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=capability-host-protocol&config=eyJ1cmwiOiJodHRwczovL2NhcGFiaWxpdHlob3N0cHJvdG9jb2wuY29tL2FwaS9tY3AifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://capabilityhostprotocol.com/api/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add capability-host-protocol --url 'https://capabilityhostprotocol.com/api/mcp'

    Run it once, then sign in with codex mcp login capability-host-protocol if the server asks for an account.

From the project's README

As published by capabilityhostprotocol/chp-core in README.md.

CHP is the open protocol for declaring, governing, and proving what agents, tools, and systems do — the single signed plane where a human approval, an agent's action, and a system call become the same governed, tamper-evident, replayable event.

The hook is simple:

See what your agents and tools actually did — and what governed it.

Try it in two minutes

Your coding agent reads files, runs commands, calls tools. This puts a governed boundary at the point of action — no application code changes:

pip install chp-core
chp hooks install                        # hooks Claude Code
chp hooks install --all-harnesses        # ...or Claude Code + Codex + Gemini CLI

Use your agent normally, then look at what it did:

chp session list
chp session tree <session_id>

Every tool call is a typed evidence event, hash-chained and stored locally in ~/.chp/evidence.sqlite. A denial is a first-class event with a reason code — not a swallowed exception — and the chain is tamper-evident, so someone who did not run the agent can still tell whether the record is intact.

Prefer to drive the protocol directly? chp serve-demo starts a governed host and prints a copy-pasteable first invocation.

Full guide: docs/quickstart.md · why it exists: docs/why-chp.md · docs site: docs.capabilityhostprotocol.com

What you get back

Replay is by correlation ID, and the record answers more than "what happened" — from examples/agent-operations-demo/:

[
  {"sequence": 1,  "event_type": "execution_started",   "capability_id": "trace_execution", "outcome": null},
  {"sequence": 3,  "event_type": "execution_completed", "capability_id": "trace_execution", "outcome": "success"},
  {"sequence": 7,  "event_type": "execution_started",   "capability_id": "tool.add",        "outcome": null},
  {"sequence": 12, "event_type": "execution_started",   "capability_id": "tool.multiply",   "outcome": null},
  {"sequence": 13, "event_type": "execution_completed", "capability_id": "tool.multiply",   "outcome": "success"}
]

You can also ask what a policy would have done to a run that already happened:

{
  "invariant": {"id": "deny_multiply_tool", "kind": "capability_id_matches"},
  "would_have_denied": true,
  "violating_events": [{"capability_id": "tool.multiply", "event_type": "execution_started"}]
}

Why a protocol, not a library

CHP is not another agent framework, tool protocol, or workflow engine. It is the governed evidence plane at the capability boundary: what ran and what governed it (policy, risk tier, safety checks, human approval, autonomy budgets, denial) emit onto one signed, correlated record. Observability tools split execution across separate, optional, unsigned signals and carry no governance; CHP unifies both and proves them.

Status: CHP is a pre-1.0 release candidate (v0.9.3) — a frozen, additive wire surface backed by two independent implementations (Python + TypeScript) that pass conformance. chp-core ships on PyPI.

What CHP Defines

  • Capability descriptors
  • Host descriptors
  • Invocation envelopes
  • Correlation context
  • Structured execution evidence
  • Outcome, error, and denial semantics
  • Replay queries and results
  • Replay by correlation ID
  • Minimal conformance requirements

Install

pip install chp-core                 # zero runtime dependencies
pip install 'chp-core[schema]'       # enforce declared input_schema
pip install 'chp-core[signing]'      # ed25519 — signed hosts, bundles, mandates
npm install @capabilityhostprotocol/sdk   # TypeScript client + verifier (alpha)

chp host verify smoke-tests the install in under a second and reports whether input-schema validation is enforced.

From this checkout: python -m pip install -e packages/python.

Minimal Capability

from chp_core import LocalCapabilityHost, capability

host = LocalCapabilityHost("example-host")

@capability(
    id="math.add",
    version="1.0.0",
    description="Add two numbers.",
)
def add(a: int, b: int):
    return {"sum": a + b}

host.register(add)

result = host.invoke(
    "math.add",
    {"a": 2, "b": 3},
    correlation_id="demo-correlation",
)

print(result.outcome)       # "success"
print(result.data)          # {"sum": 5}

for event in host.replay("demo-correlation"):
    print(event.event_type)  # execution_started, execution_completed

The host emits execution_started and execution_completed evidence for the invocation. If execution fails, it emits execution_failed. If the host denies invocation, it emits execution_denied.

Repository Map

  • spec/README.md: the specification index — core (v0.1), governance vocabulary, invocation pipeline, HTTP binding, evidence integrity + anchors (v0.2), reserved names, test vectors, changelog, proposal process
  • schemas/: JSON Schemas for protocol objects
  • packages/python/chp_core/: reference host (Python)
  • packages/chp-sdk/ + packages/chp-host-ts/: the second implementation (TypeScript)
  • examples/capability-host-endpoint-demo/: HTTP-served host demo
  • examples/agent-operations-demo/: agent/tool observability demo
  • examples/codex-self-observation-demo/: Codex dogfooding demo
  • examples/mcp-bridge-demo/: experimental MCP-style bridge prototype
  • conformance/: conformance runner
  • docs/quickstart.md: install, first run, serving, mesh
  • docs/why-chp.md: the problem and the thesis
  • docs/adapter-authoring.md: writing your own capability adapter
  • docs/production-runbook.md: operations, backup/restore, key compromise
  • docs/comparisons/chp-vs-mcp.md: precise MCP comparison
  • docs/comparisons/chp-and-opentelemetry.md: OpenTelemetry alignment note
  • docs/comparisons/landscape.md: adjacent framework comparison
  • docs/security/threat-model-v0.1.md: v0.1 threat model

Production Posture

The reference implementation is hardened for production operation: WAL multi-writer safety with hot backup (chp store backup --verify), SIGTERM drain (in-flight work completes before exit), a fail-loud auth flag (CHP_HOST_REQUIRE_AUTH=1), scheduled retention, and operator metrics (store size, witness-loop liveness, revocation counts, internal errors). Operations, backup/restore, rolling upgrades, and the key-compromise runbook: docs/production-runbook.md. Vulnerability reporting: SECURITY.md.

CHP vs MCP

MCP exposes tools and context to AI applications. CHP governs and evidences execution of capabilities.

They fit together. MCP can be a source of capability invocation, and CHP adds correlation, replay, evidence, denial semantics, and governance at the execution boundary.

Read more: docs/comparisons/chp-vs-mcp.md.

Contributing

Read CONTRIBUTING.md first. One thing to know before you open a pull request: this repository is a generated mirror of a private development repository. CI rejects pull requests that touch packages/, docs/, spec/, schemas/, or examples/ from a branch that is not sync/*, so a code PR against those paths will fail by construction no matter how good it is.

That is not a brush-off — it is the publishing model, and we would rather say so up front than let you find out from a red check. Issues, spec proposals, comparisons, and discussion are the highest-bandwidth way in today; open an issue and we will route the change through the internal flow with attribution.

Open Source Boundary

Open source should include local visibility:

  • spec and schemas
  • local host
  • SDK primitives
  • conformance
  • local replay
  • agent observability wrapper
  • experimental MCP bridge prototype

Commercial value can remain around production trust:

  • hosted capability graph
  • multi-host trace stitching
  • retention
  • team workspaces
  • advanced explanation
  • invariant libraries
  • assurance derivation
  • compliance exports
  • enterprise identity and RBAC

Guiding rule:

Local visibility should be free. Production trust should be paid.

License

CHP is dual-licensed by asset:

  • Code (packages/, conformance/, examples/, scripts/): Apache License 2.0 — see LICENSE.
  • Specification, schemas & docs (spec/, schemas/, docs/): Creative Commons Attribution 4.0 (CC BY 4.0) — see LICENSE-DOCS. Implementing the specification is additionally covered by a royalty-free patent grant — see PATENTS.
  • Trademarks: "CHP" and "CHP-Certified" — see TRADEMARK.md.

Contributions are accepted under the Contributor License Agreement; see CONTRIBUTING.md.

Copyright © 2026 Project Auxo, Inc. See NOTICE.

Tools it offers (9)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • explain
  • define
  • how_to_adopt
  • get_example
  • faq
  • list_capabilities
  • get_capability
  • list_adapters
  • search

Signals

GitHub stars
1
Last commit
Oct 2026
Advanced
Delivery
chp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-capabilityhostprotocol-chp
Source
github.com/capabilityhostprotocol/chp-core
Hosted endpoint
https://capabilityhostprotocol.com/api/mcp