Guardrails
Guardrails
| Tool | Description | Permission |
|---|---|---|
list_ | List held messages as JSON: {"messages":[{"message_id":"id","expires_at":"ISO-8601"}]}. | None |
read_ | Return a held message as text, or refusal feedback with remedy offers. | None |
get_ | Read a saved OpenAPPA report from the current organization, including its originating user or service account. | log:read |
resolve_ | Mark an OpenAPPA yell resolved, or reopen it with resolved=false. | log:read |
list_ | List the organization's saved OpenAPPA yells, newest first, with each one's id, session, tool call, kind (agent, or approval_waived / block_waived for a call the Break the glass settings let throug... | log:read |
list_ | List the external consults OpenAPPA recorded for one session, newest first: every annotator, context provider, authority, sanitizer and audience source it asked, with the outcome, the HTTP status, ... | log:read |
create_ | Create a private policy repository from the OpenAPPA configuration template, seed it with the current policy and battery declarations, and start Git sync. | organizationSettings:update |
connect_ | Make a policy file in an existing GitHub repository or GitLab project the organization's OpenAPPA policy source, pull it now, and keep it in sync. | organizationSettings:update |
sync_ | Pull the policy file from the connected Git repository now instead of waiting for the next scheduled sync, so a merged policy or validation pull request takes effect. | organizationSettings:update |
yell | Send feedback about OpenAPPA, with a diagnostic archive for review in the Guardrails Yells tab. | None |
get_ | Read organization.appa.toml and its revision before changing guardrails. | guardrailsPolicy:read |
inspect_ | Inspect one caller-readable MCP catalog's stored tools and current policy coverage. | guardrailsPolicy:read |
list_ | List the batteries that fit the MCP servers you can see and are not declared yet, or only those fitting one server when mcpServerId is a catalog ID. | guardrailsPolicy:read |
validate_ | Validate proposed organization.appa.toml without applying changes. | guardrailsPolicy:read |
preview_ | Validate a proposed change to organization.appa.toml and return its unified diff and changed line counts. | guardrailsPolicy:read |
update_ | Publish a change to organization.appa.toml. | guardrailsPolicy:update |
bind_ | Bind one battery credential variable to a runtime credential key, or pass key null to unbind it. | guardrailsPolicy:update |
get_ | Read the authoritative .appa validation files, their version, configured directory and accepted Git commit. | guardrailsPolicy:read |
run_ | Replay saved validations against the current policy and record the result in validation run history. | guardrailsPolicy:update |
preview_ | Validate a proposed change to the .appa validation files and replay it. | guardrailsPolicy:read |
update_ | Save a change to the .appa validation files. | guardrailsPolicy:update |
get_ | Check the review state of an OpenAPPA policy pull request and whether Git sync has processed the merged policy. | guardrailsPolicy:read |
get_ | Read why the organization's guardrails policy blocked a tool call, and which remedy plans the policy offers. | None |
execute_ | Apply a remedy plan that the organization's guardrails policy offers for a blocked call. | None |
list_ | List reusable credential definitions visible to the caller, including whether a personal or organization connection is configured. | credential:read |
get_ | Read one reusable credential definition and its usage. | credential:read |
create_ | Create credential metadata. | credential:create |
update_ | Update metadata for an existing credential. | update on the credential (granted per item) |
delete_ | Delete an unused credential and its connection. | delete on the credential (granted per item) |
request_ | Ask the person to create and connect a GitHub App through the native chat dialog. | credential:create |
request_ | Show the person one card in Archestra chat for the tokens these batteries need: what each battery adds, how to make its token, and a picker of the organization's credentials with an option to add a... | credential:create |
list_peer_messages
Required RBAC permission: None
This tool takes no arguments.
read_peer_message
Required RBAC permission: None
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
message_ | string | Yes |
get_openappa_yell
Required RBAC permission: log:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
resolve_openappa_yell
Required RBAC permission: log:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
resolved | boolean | No | false reopens a resolved yell |
list_openappa_yells
Required RBAC permission: log:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
status | "unresolved" | "resolved" | "all" | No | Only unresolved or resolved yells; all by default. |
sessionId | string | No | Only the yells of this session. |
search | string | No | Only yells whose message contains this text. |
cursor | string | No | The nextCursor of the previous call, with the same filters, for the next page. |
list_openappa_consults
Required RBAC permission: log:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
sessionId | string | Yes | The session to read, such as the sessionId of a yell. |
outcome | "answered" | "unregistered" | "unreachable" | "dismissed" | "non_success" | "timeout" | "transport" | "malformed" | "oversized" | "unsupported_version" | "module_error" | "module_panicked" | No | Only consults with this outcome, such as non_success. |
externalName | string | No | Only consults of this external, such as github.repository-visibility. |
role | "authority" | "sanitizer" | "annotator" | "audience_source" | "input" | "context_provider" | No | Only consults of externals in this role, such as annotator. |
cursor | string | No | The nextCursor of the previous call, with the same filters, for the next page. |
create_guardrails_repository
Required RBAC permission: organizationSettings:update
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | |
name | string | Yes | |
githubAppConfigId | string | No | |
gitlabTokenId | string | No | |
interval | "15m" | "1h" | "1d" | No |
connect_guardrails_repository
Required RBAC permission: organizationSettings:update
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
repo | string | Yes | The existing repository, as owner/name (GitLab: group/subgroup/project). |
path | string | No | Repository-relative path of the policy file. |
ref | string | null | No | Branch, tag, or commit to follow. Omit to follow the default branch. |
githubAppConfigId | string | No | An organization GitHub App, for a GitHub repository. |
gitlabTokenId | string | No | A GitLab access token, for a GitLab project. |
interval | "15m" | "1h" | "1d" | No |
sync_guardrails_repository
Required RBAC permission: organizationSettings:update
This tool takes no arguments.
yell
Required RBAC permission: None
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
message | string | Yes | |
with_ | boolean | Yes |
get_guardrails_policy
Required RBAC permission: guardrailsPolicy:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
composed | boolean | null | No | Also return effective.content, the composed policy text. Omit it unless you need the included batteries' rules. |
inspect_guardrails_server
Required RBAC permission: guardrailsPolicy:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
mcpServerId | string | Yes | The exact MCP catalog ID to inspect. |
detail | "summary" | "full" | No | summary for a coverage overview; full adds input schemas, full descriptions and rule details. |
tools | string[] | No | Only these tools, by name or full name (<prefix>__<name>). Empty or omitted means every tool. |
offset | integer | No | The first row to return; pass the previous nextOffset. |
list_guardrails_battery_fits
Required RBAC permission: guardrailsPolicy:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
mcpServerId | string | null | No | The catalog ID of one MCP server. Omit it for every server you can see. |
validate_guardrails_policy
Required RBAC permission: guardrailsPolicy:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | Yes |
preview_guardrails_policy_change
Required RBAC permission: guardrailsPolicy:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | null | No | The complete policy text. Use it only for a first policy or a full rewrite. Leave it empty when you send edits. |
edits | object[] | null | No | Exact-text replacements applied in order to the current policy, each to the result of the one before. Use them to change an existing policy. To insert rules, replace an anchor line with the new rules followed by that same anchor line. |
edits[].oldText | string | Yes | Exact text copied from the current policy, including whitespace and line breaks. It must match one place unless replaceAll is true. |
edits[].newText | string | Yes | The text that replaces oldText. Empty deletes oldText. |
edits[].replaceAll | boolean | null | No | Replace every match of oldText instead of exactly one. |
expectedRevision | integer | Yes | The revision get_guardrails_policy returned. |
update_guardrails_policy
Required RBAC permission: guardrailsPolicy:update
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | null | No | The complete policy text. Use it only for a first policy or a full rewrite. Leave it empty when you send edits. |
edits | object[] | null | No | Exact-text replacements applied in order to the current policy, each to the result of the one before. Use them to change an existing policy. To insert rules, replace an anchor line with the new rules followed by that same anchor line. |
edits[].oldText | string | Yes | Exact text copied from the current policy, including whitespace and line breaks. It must match one place unless replaceAll is true. |
edits[].newText | string | Yes | The text that replaces oldText. Empty deletes oldText. |
edits[].replaceAll | boolean | null | No | Replace every match of oldText instead of exactly one. |
expectedRevision | integer | Yes | The revision get_guardrails_policy returned. |
title | string | No | |
summary | string | No |
bind_guardrails_credential
Required RBAC permission: guardrailsPolicy:update
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
variable | string | Yes | The battery's credential variable, e.g. APPA_PROVIDER_GITHUB_TOKEN. |
key | string | null | Yes | The runtime credential key to bind, or null to unbind. |
get_openappa_policy_tests
Required RBAC permission: guardrailsPolicy:read
This tool takes no arguments.
run_openappa_policy_tests
Required RBAC permission: guardrailsPolicy:update
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | No | A saved validation file's path, as get_openappa_policy_tests lists it. Omit to run every saved validation. |
preview_guardrails_validation_change
Required RBAC permission: guardrailsPolicy:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
expectedRevision | integer | Yes | |
expectedVersion | string | Yes | |
changes | object | No | |
changes.upsert | object[] | No | |
changes.upsert[].path | string | Yes | |
changes.upsert[].content | string | Yes | |
changes.delete | string[] | No |
update_guardrails_validation
Required RBAC permission: guardrailsPolicy:update
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
expectedRevision | integer | Yes | |
expectedVersion | string | Yes | |
changes | object | No | |
changes.upsert | object[] | No | |
changes.upsert[].path | string | Yes | |
changes.upsert[].content | string | Yes | |
changes.delete | string[] | No | |
title | string | No | |
summary | string | No |
get_guardrails_policy_change_status
Required RBAC permission: guardrailsPolicy:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
number | integer | Yes |
get_remedy_plans
Required RBAC permission: None
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
tool | string | Yes | |
arguments | string | object | Yes | |
ruling | string | Yes | |
notice | object | Yes | |
notice.v | 1 | Yes | |
notice.call_id | string | Yes | |
notice.namespace | string | No | |
notice.custom | true | No |
execute_remedy_plan
Required RBAC permission: None
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
offer_ | string | No | |
plan | string | No | |
label | object | No | |
label.trust | string | No | |
label.audience | string[] | No | |
return_ | object | No |
list_runtime_credentials
Required RBAC permission: credential:read
This tool takes no arguments.
get_runtime_credential
Required RBAC permission: credential:read
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes |
create_runtime_credential
Required RBAC permission: credential:create
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | |
name | string | Yes | |
kind | "secret" | "github_app" | "github_app_user" | "gitlab_token" | No | |
githubUrl | string | null | No | |
appId | string | null | No | |
installationId | string | null | No | |
githubClientId | string | null | No | |
githubAppCredentialKey | string | null | No | |
gitlabUrl | string | null | No | |
description | string | No | |
icon | string | null | No | |
allowPersonal | boolean | No | |
allowOrganization | boolean | No |
update_runtime_credential
Required RBAC permission: update on the credential (granted per item)
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | |
changes | object | Yes | |
changes.name | string | No | |
changes.githubUrl | string | null | No | |
changes.gitlabUrl | string | null | No | |
changes.appId | string | null | No | |
changes.installationId | string | null | No | |
changes.githubClientId | string | null | No | |
changes.githubAppCredentialKey | string | null | No | |
changes.description | string | No | |
changes.icon | string | null | No |
delete_runtime_credential
Required RBAC permission: delete on the credential (granted per item)
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes |
request_runtime_credential_setup
Required RBAC permission: credential:create
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
kind | "github_app" | Yes |
request_battery_credentials
Required RBAC permission: credential:create
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
batteries | string[] | Yes | The battery names, e.g. slack or github. |
Output
| Field | Type | Required | Description |
|---|---|---|---|
batteries | object[] | Yes | |
batteries[].name | string | Yes | |
batteries[].title | string | Yes | |
batteries[].benefit | string | null | Yes | |
batteries[].setup | string[] | Yes | |
batteries[].credentials | string[] | Yes |