inhold Book a call

Agent vendors

How do I put Inhold behind my agent?

Point your agent at Inhold over MCP or REST, run every call under one purpose, and your customer's reviewer gets one audit row per decision. The memory stays in their account.

Last checked 31 Oct 2026, written by Vivek Kumar

Inhold is being built. No customers yet. The AWS install's Terraform passes CI checks but has not been run in a real AWS account. Repo goes public 9 Nov 2026.

What you get

Six tools and a policy check outside the model

Six MCP tools

context_search, context_write, context_get, context_whoami, context_request_access and skill_list. The purpose is fixed when the session starts, so a prompt cannot change it.

Deny by default

Every read, write and delete is checked on caller, purpose and data label in Inhold's code, not in the model. A refused id and a missing id look the same.

One audit row per decision

Allowed or denied, hash-chained and anchored. Your customer's auditor exports the evidence pack; you point their reviewer at it.

Corrections become skills

A nurse's correction is stored with a diff and becomes a draft skill; a different person signs it off before any agent uses it.

Connect

Your SDK, a laptop, about 15 minutes

Claude Agent SDK

Connect a Claude agent over MCP, with the sign-in options and their limits.

LangGraph

Connect a LangGraph agent: read one allowed and one refused note, then the two audit rows.

OpenAI Agents SDK

Anything with HTTP

The quickstart uses curl against the REST API and ends with an exported pack.

In your deal

What changes when the reviewer asks

Where does the agent's memory live?

In the hospital's own account, on their key. The data map answers it line by line.

Who read it?

The audit log, and the reviewer can check it without trusting you or us. The 20 reviewer answers carry a status each.

What is not built

Vector search, an Azure install and an outside security review. The AWS install's Terraform passes CI checks but has not been run in a real AWS account. Everything else is on the gap list.