Tool registry
Generated from the live registry at build time. It cannot describe a capability the gateway does not enforce.
The complete set of 28 tools an agent can call. Nothing callable exists outside this registry, and nothing in it is reachable except through the gateway.
Generated
This table is read from
TOOLS in gateway.mjs at build time. If a tool is added, removed or re-gated, this page changes with it. Which permission atom gates which tool is in the Atom catalog, which requires a session.#Every tool
| Tool | Effect | PHI out | Floor | Human gate |
|---|---|---|---|---|
payer_supports_278 | none | none | L1 | read |
fetch_payer_rules | none | none | L1 | read |
validate_service_review | none | none | L1 | read |
search_service_reviews | none | masked | L1 | read |
get_service_review | none | phi-view | L1 | read |
submit_service_review | external | phi-view | L3 | gated |
update_service_review | external | phi-view | L3 | gated |
void_service_review | external | none | L3 | gated |
which_codes_need_auth | none | none | L1 | read |
documentation_requirements | none | masked | L1 | read |
payer_question_set | none | masked | L1 | read |
submission_readiness | none | masked | L1 | read |
upload_document | write | none | L1 | open |
list_documents | none | masked | L1 | read |
read_document_text | none | phi-view | L1 | read |
request_document_download | none | phi-view | L1 | read |
list_cases | none | masked | L1 | read |
get_case | none | phi-view | L1 | read |
schedule_for_request | none | masked | L1 | read |
create_service_review | write | masked | L1 | open |
comment_on_case | write | none | L1 | open |
ehr_find_encounters | none | masked | L1 | read |
ehr_get_encounter | none | phi-view | L1 | read |
ehr_write_comment | write | none | L2 | conditional |
ehr_create_task | write | none | L2 | open |
ehr_attach_referral | write | none | L3 | gated |
check_auth_requirement | external_read | none | L1 | bounded |
cms_posture | none | none | L1 | read |
#What the effect column means
none- An internal read. Nothing leaves the platform and nothing changes. Never gated.
external_read- Crosses the boundary and may disclose a patient to a payer, but asserts nothing and creates no obligation - an eligibility question leaves the payer's state identical. Not gated, because a human approving every lookup buys nothing and pushes the work back to the fax machine it replaced. Bounded and audited instead: the risk here is disclosure VOLUME, not any single call.
write- Changes something. If the something belongs to us it may be ungated; if it belongs to a practice - a chart - it is gated or explicitly bounded.
external- Asserts something to a payer. Always gated, at every autonomy level, with no exception and no configuration that removes it.
#Tools that always stop for a human
| Tool | Why |
|---|---|
submit_service_review | Transmit an X12 278 prior authorization to the payer. |
update_service_review | Amend a submitted authorization. |
void_service_review | Void an authorization at the payer. |
ehr_attach_referral | Attach an authorization to an appointment as a referral. |
#Tools gated conditionally
A conditional gate is a function of the arguments and the practice's configuration, evaluated per call. It is not a default that a caller can pass a flag to skip.
| Tool | Condition |
|---|---|
ehr_write_comment | Write a note into the chart. A factual payer-status note may be autonomous if the practice enables it; a clinical assertion is always released by a human. |
#Rate-limited tools
An ungated tool that can flood something is bounded instead. Creating a task asks a human to act rather than acting, so gating it would mean a human approving the act of asking a human - but burying a worklist is its own harm, so it is capped.
| Tool | Limit |
|---|---|
ehr_create_task | per_practice_per_hour: 40 |
check_auth_requirement | per_practice_per_hour: 300 |