{
  "query": "how does CHP work",
  "answer": {
    "type": "concept",
    "title": "CHP and MCP",
    "text": "MCP answers “what can the model call” (a stateful connect-and-invoke protocol). CHP answers “what actually happened, who was denied, and can I replay it.” They are complementary layers: an MCP server can be wrapped as a CHP host so its tool calls emit evidence; a CHP capability can be exposed through an MCP tool surface. CHP does not replace MCP.",
    "learnMore": "https://capabilityhostprotocol.com/blog/chp-and-mcp"
  },
  "related": {
    "concepts": [
      {
        "id": "chp-vs-mcp",
        "title": "CHP and MCP"
      },
      {
        "id": "what-is-chp",
        "title": "What is CHP?"
      },
      {
        "id": "agentic-web",
        "title": "CHP and the agentic web"
      },
      {
        "id": "evidence-vs-telemetry",
        "title": "Evidence is not telemetry"
      }
    ],
    "terms": [
      "host",
      "capability",
      "denial",
      "replay",
      "adapter"
    ],
    "faqs": [
      "Why not just use an agent framework tool schema?",
      "Who should implement CHP?",
      "Why not just use OpenAPI?"
    ],
    "capabilities": [
      {
        "id": "chp.adapters.github.list_workflow_runs",
        "description": "List recent GitHub Actions workflow runs (CI status)."
      },
      {
        "id": "chp.adapters.radicle.issue_show",
        "description": "Show a Radicle issue: title, state, comment count. Body never in evidence."
      },
      {
        "id": "chp.adapters.workflow.cancel",
        "description": "Cancel a running workflow. No-op if already in a terminal state."
      },
      {
        "id": "chp.adapters.workflow.get_status",
        "description": "Get the current status and step history of a workflow."
      },
      {
        "id": "chp.adapters.workflow.list",
        "description": "List workflow executions with optional status and type filters."
      },
      {
        "id": "chp.adapters.workflow.record_step",
        "description": "Record a step outcome against a running workflow."
      },
      {
        "id": "chp.adapters.workflow.submit",
        "description": "Submit a new workflow execution. Returns a workflow_id."
      },
      {
        "id": "chp.adapters.composition.define",
        "description": "Register a named workflow (sequence of capability invocations)."
      }
    ]
  },
  "adopt": "Start with agents — the real-today wedge: run `chp hooks install` to capture every tool call (Claude Code, Codex, Gemini CLI, or any Python host) as replayable, tamper-evident evidence. No application code changes.",
  "sources": {
    "mcp": "https://capabilityhostprotocol.com/api/mcp",
    "docs": "https://docs.capabilityhostprotocol.com",
    "agenticWeb": "https://capabilityhostprotocol.com/agentic-web"
  }
}