atlasent-mcp
OfficialThis MCP server provides execution-time authorization for AI-agent actions via AtlaSent, letting agents evaluate actions, obtain bounded permits, and verify them at the execution boundary before sensitive effects run.
Gate sensitive actions:
evaluatereturns allow/deny/hold; on allow,verify_permitmust confirm the permit before executing.Protected deployment demo:
deploy_serviceshows an end-to-end gated flow that blocks denied/unverified deploys.Use canonical action types:
atlasent_lookup_actiondiscovers governed actions likeproduction.deployandagent.tool.invoke.Remote/hosted authorization:
atlasent_evaluate,atlasent_verify_permit,atlasent_permit,atlasent_revoke_permit, andatlasent_evaluate_many/atlasent_evaluate_streamfor batch/streamed decisions.Manage policies: create, get, update, delete, and list constraint bundles/policies.
Handle approvals: create and resolve approval requests for held actions.
Track evidence and audit: list audit events, record execution outcomes, and run integrity audits (
atlasent_integrity_audit).Verify agent trajectories:
atlasent_trajectory_verifychecks each step against an authorized plan and fails closed.Administer identity: SCIM 2.0 user/group provisioning and management.
Integrate with security/compliance tooling: webhooks, SIEM configuration/testing, compliance evidence exports (SOC 2/HIPAA/GDPR), and VQP snapshot generation/verification/audit.
Query the knowledge graph: read-only GraphQL queries and canonical AtlaSent concept lookups (
atlasent_atlas_lookup).Support local and remote modes: local in-process engine for dev/demo, remote mode for the hosted API, with an optional read-only mode for live demos.
Provides a guard decorator for LangChain agents to enforce authorization policies on tool invocations.
@atlasent/mcp-server
MCP server that enforces authorize-before-execute for any MCP-compatible AI agent.
Authorization for consequential AI-agent actions at the execution boundary.
AtlaSent performs execution-time authorization: determine whether a specific consequential Action is authorized now, issue a bounded Permit on allow, verify that Permit at the execution Gate, and only then allow the governed native effect.
A plausible request is not organizational authority.
This MCP server exposes AtlaSent authorization primitives to Model Context Protocol hosts and includes a protected deployment demo that proves the ordering end to end.
The invariant
For an enforced protected path:
Action proposed
→ current organizational Authority + Policy + Context evaluated
→ Decision
deny / hold / escalate → STOP
allow → bounded Permit
→ Permit Verification at the execution Gate
invalid / expired / replayed / mismatched / error → STOP
verified → native effect may execute
→ execution/native-effect Evidence recorded where the integration supplies itEvaluation is not execution. A positive Decision is not the Gate. Permit Verification happens before the protected side effect.
Related MCP server: SentinelMCP
Install
npm install @atlasent/mcp-serverOr run the local demo:
git clone https://github.com/AtlaSent-Systems-Inc/atlasent-mcp-server.git
cd atlasent-mcp-server
npm install
npm run build
npm run demoLocal mode is a development/demo convenience. Its in-process policy engine and local Permit format are not a substitute for a deployed, accepted customer enforcement topology.
Canon-backed Actions
AtlaSent does not treat every ad-hoc tool string as a new governed Action Type.
Use the Protected Action Canon for stable Action identity. Two important examples are:
production.deploy
agent.tool.invokeFor a generic AI tool invocation, use agent.tool.invoke as the public Canon-backed Action Type and carry tool-specific facts—tool name, target, environment, arguments/payload digest, resource state, and other required context—in the authorization context or binding fields supported by the selected integration path.
Use the read-only atlasent_lookup_action tool to discover Canon-backed Action Types instead of inventing a parallel taxonomy.
Authority is not Approval
Keep the concepts separate:
Authority — standing, scoped organizational right to cause a class of change.
Authorization — per-request determination whether this exact Action may proceed now.
Policy — versioned conditions applied to the determination.
Approval — verified input that may satisfy a Policy condition; not standing Authority and not the final Authorization result.
Decision —
allow | deny | hold | escalateat the platform boundary.Permit — bounded positive-Authorization artifact.
Verification — execution-boundary check of the Permit and applicable bindings.
Execution / native effect — what the underlying tool or system actually does.
Evidence / Proof — durable evidence of the authorization and, where observed, the effect/result.
A human Approval, favorable risk signal, policy match, deployment ticket, or workflow status does not by itself become organizational Authority.
Protected-tool demo
deploy_service is intentionally small. It demonstrates a two-layer protected path:
agent requests deploy_service
→ authorize internal agent-tool compatibility gate
→ verify outer Permit
→ authorize production.deploy
→ verify production.deploy Permit
→ simulated deployment effectThe internal outer gate uses the Canon-backed agent.tool.invoke Action (CANON-000026 / ACT-0029) — the same public identifier documented throughout the AtlaSent ecosystem as the canonical generic AI-agent tool invocation. It previously used a legacy, uncatalogued identity, model.agent.execute_tool, which had no corresponding action_classes provisioning path in the runtime (no seed/migration anywhere creates a row with that slug) — so against a real, unmodified AtlaSent org the outer gate could only ever return NO_ACTION_CLASS deny, regardless of the tool-specific inner gate's own decision. Migrating the outer gate onto agent.tool.invoke gives it the real "AI Agent Safeguard" provisioning path (atlasent-api's seed_ai_agent_safeguard_fn.sql / provision-agent-pilot-org.sql) that already exists for exactly this purpose. See AtlaSent-Systems-Inc/atlasent-mcp-server#121 for the full investigation and decision record.
If either Decision is non-allow or either Permit fails Verification, no deployment result is produced.
The protected-tool response includes the action-specific Verification result alongside the simulated native result:
{
"decision": "allow",
"permit_token": "...",
"verification": {
"outcome": "verified",
"valid": true
},
"result": {
"status": "deployed",
"service": "billing-api"
}
}The returned Permit has already been consumed by the execution-boundary Verification. Verifying it again should be treated as a replay, not as a step required after deployment.
Self-gating agent pattern
For an agent or MCP host that owns its own native tool boundary, the safe pattern is:
const decision = await evaluate({
action_type: "agent.tool.invoke",
actor_id: "agent:research-bot",
environment: "production",
});
if (decision.decision !== "allow") {
throw new Error("Action is not authorized");
}
const verification = await verify_permit({
permit_token: decision.permit_token,
action_type: "agent.tool.invoke",
actor_id: "agent:research-bot",
environment: "production",
// Present target_id / payload_hash when the selected authorization path
// binds those fields.
});
if (!verification.valid) {
throw new Error("Permit did not verify");
}
// Only now may the protected native effect occur.
const result = await runProtectedTool();A wrapper, decorator, prompt, or MCP tool definition is not automatically a non-bypassable Gate. The enforcement claim belongs to the actual topology: the native effect must be unreachable through the claimed protected path unless required Authorization and Permit Verification succeeded.
Core tools
evaluate
Simple local/remote authorization helper for MCP hosts.
Input: { action_type, actor_id, environment, approvals?, change_window? }
Output: { decision: "allow" | "deny" | "hold", permit_token?, ... }On allow, do not execute yet. Present the Permit to verify_permit at the execution boundary first.
verify_permit
Execution-boundary verification helper.
Input: {
permit_token,
action_type,
actor_id,
environment,
approvals?,
change_window?,
target_id?,
payload_hash?
}
Output: { outcome: "verified" | "expired" | "invalid" | "error", valid, ... }Proceed only when valid === true. Successful Verification consumes a single-use Permit where that contract applies.
deploy_service
Protected deployment demonstration. It performs the necessary Authorization and Verification internally before producing its simulated deployment result.
atlasent_evaluate / atlasent_verify_permit
Hosted V1 API-facing tools. Use the richer remote evaluation path when you need additional context beyond the small evaluate demo envelope. Verification remains an execution-boundary operation.
atlasent_lookup_action
Read-only Canon lookup for Action Types, gate flags, authorization patterns, evidence requirements, and graph relationships.
atlasent_atlas_lookup
Read-only lookup of canonical AtlaSent concepts such as Authority, Policy, Decision, Permit, Verification, Evidence, Gate, and Trust Root.
atlasent_integrity_audit
Read-only audit of the organization's Authority graph for internal inconsistency. Hosted mode only; the organization is derived server-side from the API key.
Input: { decision_window_days? } // 1-3650; omit to let the server choose
Output: the integrity report, verbatimThis is not a pass/fail health check, and the tool adds no verdict of its own. Each finding carries a three-way classification:
| How to read it |
| A genuine inconsistency in the Authority graph. |
| Frequently the correct, healthy state — e.g. an expired grant that is supposed to be expired. Not a failure. |
| The proposition could not be verified. Never treat it as clean; "could not check" and "checked and found nothing" are different facts. |
Read summary.audited_scope before concluding anything from an empty findings list — a short decision window is not an absence of findings. If the audit cannot complete, the server refuses rather than returning a partial report, and this tool surfaces that as an error rather than an empty report.
The server also exposes policy, permit, approval, evidence, compliance, trajectory, and VQP tools. Use MCP tools/list for the exact tool inventory supported by the installed version.
Approval workflow
Approval can be required, but resolving an Approval is not equivalent to executing the protected Action.
Approval / Assertion collected
→ current Authorization / reevaluation path
→ Decision
→ Permit on allow
→ Verification
→ native effectUse atlasent_create_approval_request and atlasent_resolve_approval_request to manage approval inputs. The protected Action must still satisfy the current authorization path and execution-boundary Verification before proceeding.
Execution evidence
atlasent_record_execution_evaluation records an observed execution outcome after the native effect. That evidence function does not replace pre-execution Permit Verification.
Keep these statements distinct:
an
allowDecision proves a positive authorization determination was made;a verified Permit proves the bounded authorization artifact passed its Gate checks at that point in time;
execution/native-effect evidence is what supports a claim that the underlying action actually occurred.
Local vs remote mode
Mode | Purpose |
| Development/demo/CI using the small in-process rules engine. |
| Calls the configured AtlaSent hosted/runtime API. |
Remote example:
ATLASENT_MODE=remote \
ATLASENT_API_KEY=ask_live_xxx \
ATLASENT_BASE_URL=https://api.atlasent.io/functions/v1 \
ATLASENT_MCP_READONLY=1 \
npx @atlasent/mcp-serverATLASENT_BASE_URL defaults to https://api.atlasent.io/functions/v1 — this is the
correct base for the core evaluate / verify_permit / atlasent_evaluate path and
for other dash-form direct endpoints (/v1-evaluate, /v1-verify-permit,
/v1-authority-intelligence/...). The generic REST tools (policies, permits, audit
events, webhooks, SCIM, SIEM, evidence exports, approval requests) are served at the
gateway/API domain root under slash-form paths (/v1/policies, /v1/permits, ...);
the server automatically strips the /functions/v1 suffix for those calls, so a
single ATLASENT_BASE_URL value works for both families — no separate configuration
needed.
Read-only mode for live demos
Set:
ATLASENT_MCP_READONLY=1to prevent registration of mutating administrative tools during a live-API demo. Read-only mode does not turn the server into a universal security boundary; it reduces the exposed mutation surface. The protected execution path still depends on the Authorization and Verification topology described above.
Fail-closed behavior
For a path that is configured to require AtlaSent Authorization and Permit Verification, treat these as block conditions:
non-allow Decision;
missing required Permit;
authentication/API failure;
invalid, expired, revoked, replayed, or binding-mismatched Permit;
Verification error;
missing required execution binding.
Shadow/advisory evaluation is useful for observation, but it is not the same as enforced execution protection.
Claude Desktop
{
"mcpServers": {
"atlasent": {
"command": "npx",
"args": ["-y", "@atlasent/mcp-server"],
"env": {
"ATLASENT_MODE": "remote",
"ATLASENT_API_KEY": "ask_live_xxxxxxxxxxxxxxxx",
"ATLASENT_BASE_URL": "https://api.atlasent.io/functions/v1",
"ATLASENT_MCP_READONLY": "1"
}
}
}
}Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"atlasent": {
"command": "npx",
"args": ["-y", "@atlasent/mcp-server"],
"env": {
"ATLASENT_MODE": "remote",
"ATLASENT_API_KEY": "ask_live_xxxxxxxxxxxxxxxx",
"ATLASENT_BASE_URL": "https://api.atlasent.io/functions/v1",
"ATLASENT_MCP_READONLY": "1"
}
}
}
}Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"atlasent": {
"command": "npx",
"args": ["-y", "@atlasent/mcp-server"],
"env": {
"ATLASENT_MODE": "remote",
"ATLASENT_API_KEY": "ask_live_xxxxxxxxxxxxxxxx",
"ATLASENT_BASE_URL": "https://api.atlasent.io/functions/v1",
"ATLASENT_MCP_READONLY": "1"
}
}
}
}Other MCP clients
The same server can be configured in any other MCP-compatible host using its normal MCP server configuration mechanism (command: npx, args: ["-y", "@atlasent/mcp-server"], and the same env block shown above).
This server is also distributed via the official MCP Registry (io.github.atlasent-systems-inc/mcp-server, manifest at server.json) and Smithery (config at smithery.yaml) — a registry- or Smithery-aware host can discover and install it without a hand-written config block.
Development
npm install
npm run typecheck
npm test
npm run build
npm run demonpm test includes regression tests proving that the protected deployment demo does not produce a native result when either the outer agent-tool Permit or the action-specific deployment Permit fails Verification.
Security
Do not place API keys, signing material, customer secrets, or production credentials in source control. Limit authorization context to facts required by the selected policy and bindings.
Security-sensitive integrations must place the actual side effect after the required Authorization and Verification checks in control flow. Logging a Decision and then executing anyway is not enforcement.
Related public components
atlasent-sdk— language SDKsatlasent-action— GitHub Actions integrationatlasent-verify— offline evidence verifieratlasent-keys— public verification material
License
Licensed under the Apache License, Version 2.0.
Available Tools
40 toolsatlasent_create_approval_requestAtlaSent — Create Approval RequestA
Create an approval request for a held action. The request ID is returned in the evaluate response when decision is 'hold'. Submit resolution via atlasent_resolve_approval_request.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The action requiring approval (e.g. 'delete:production-db'). | |
| org_id | Yes | Organization ID that owns the policy. | |
| context | No | Context from the original evaluate call. | |
| subject | Yes | The actor requesting the approval (e.g. 'user:alice'). | |
| resource | Yes | The resource the action targets (e.g. 'db:prod-postgres'). | |
| justification | No | Human-readable justification for why the action is needed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, meaning it's a mutation but not destructive. The description adds context about the request ID coming from evaluate but doesn't disclose additional behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. The first sentence states purpose, the second gives workflow context. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool creates an approval request with 6 parameters and no output schema, the description covers the essential workflow but doesn't explain the tool's return value or the follow-up process beyond resolution. Still sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description does not add extra meaning beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an approval request for a held action and ties it to the evaluate response, distinguishing it from the sibling tool atlasent_resolve_approval_request that resolves it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use: after an evaluate response with decision 'hold'. It also directs the agent to the resolution tool, providing good context, though it could explicitly state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_create_evidence_exportAtlaSent — Create Evidence ExportA
Generate a compliance evidence bundle for audit regimes (SOC 2 Type II, HIPAA, GDPR). Enterprise plan required. Returns SHA-256 for tamper verification. Default window is the past 90 days; use date_from/date_to to narrow it.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID. | |
| regime | Yes | Compliance regime: soc2_type_ii (SOC 2 Type II), hipaa (HIPAA), gdpr (GDPR). | |
| date_to | No | ISO-8601 or YYYY-MM-DD end of the evidence window. | |
| date_from | No | ISO-8601 or YYYY-MM-DD start of the evidence window. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false) indicate a non-destructive mutation. The description adds behavioral details: returns SHA-256 for tamper verification and default 90-day window. However, it omits other important behaviors like synchronous/asynchronous nature, idempotency, or side effects. Given annotations, the extra context is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with no wasted words. The first sentence states the purpose and key output, the second explains the default window and parameter usage. It is front-loaded with the most critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and annotations present, the description covers the core use case, constraints, and behavior. It mentions the SHA-256 return. However, it does not describe the full response structure or error cases. For a creation tool, this is largely sufficient but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the default window (past 90 days) and how to narrow it using date_from/date_to, which is not in the schema. It also mentions the enterprise plan requirement implicitly linking to org_id. This goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: generating a compliance evidence bundle for specific audit regimes. It uses a specific verb ('Generate') and resource ('compliance evidence bundle'), and distinguishes itself from siblings like 'get_evidence_export' (retrieve) and 'list_evidence_exports' (list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions a prerequisite ('Enterprise plan required') and provides guidance on default window and narrowing with parameters. However, it does not explicitly state when not to use or compare to alternatives, but the context is clear enough for selection vs sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_create_policyAtlaSent — Create PolicyA
Create a new constraint bundle for an action. The bundle starts in 'draft' status — call update_policy to publish it.
| Name | Required | Description | Default |
|---|---|---|---|
| rules | Yes | Ordered list of rules — first match wins. | |
| title | Yes | Human-readable policy title. | |
| org_id | Yes | Organization ID that will own the policy. | |
| actions | No | Action-specific configuration. | |
| version | No | Semantic version string (e.g. '1.0.0'). | |
| priority | No | Evaluation priority (lower number = higher priority). | |
| policy_id | Yes | Client-assigned unique ID for this policy bundle (e.g. 'deploy-gate'). | |
| applies_to | No | Scope selector controlling which requests this policy applies to. | |
| expires_at | No | ISO-8601 timestamp when the policy expires. | |
| description | No | Optional human-readable description. | |
| policy_type | Yes | Policy type (e.g. 'access_control', 'approval_gate'). | |
| effective_at | No | ISO-8601 timestamp when the policy becomes effective. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only, non-destructive operation. The description adds that the bundle starts as a draft, a key behavioral detail. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with core purpose and a critical follow-up instruction. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite schema completeness, the description is minimal for a tool with 12 parameters and nested objects. It lacks broader context about actions or constraint bundles, making it adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description does not add additional semantics beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create a new constraint bundle for an action', clearly identifying the verb and resource. It distinguishes from siblings by mentioning the draft status and directing to update_policy for publishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (create new policy) and what to do after (update_policy to publish). It does not explicitly exclude other use cases but provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_create_scim_userAtlaSent — Create SCIM UserA
Provision a new user via SCIM 2.0. Adds the user to the AtlaSent directory and makes them available for policy evaluation.
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether the account is active (default true). | |
| emails | No | Email addresses. | |
| groups | No | Group IDs to assign the user to. | |
| org_id | Yes | Organization ID. | |
| userName | Yes | SCIM userName — typically the user's email address. | |
| externalId | No | External IdP identifier for correlation. | |
| displayName | No | Human-readable display name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only and non-destructive. The description adds that the user becomes available for policy evaluation, but no additional behavioral traits like idempotency or error handling are disclosed. Minimal added value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and no wasteful content. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a creation tool with 7 parameters and no output schema, the description does not explain what the tool returns. However, it covers the essential purpose and implications (availability for policy evaluation). Minor gap in return value context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description. The description does not add extra meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provisions a new SCIM user and adds to the directory for policy evaluation. The verb 'Provision' and resource 'SCIM user' are specific, and it distinguishes from sibling tools like delete, patch, and get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not specify when to use this tool versus alternatives, nor does it mention prerequisites like an existing org. Usage is implied but not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_create_webhookAtlaSent — Create WebhookA
Register a webhook URL to receive evaluation events.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The HTTPS URL to deliver events to. | |
| events | Yes | Event types to subscribe to (e.g. ['evaluation.deny', 'permit.issued']). | |
| org_id | Yes | Organization ID to register the webhook for. | |
| secret | No | Signing secret for HMAC verification of payloads. | |
| description | No | Optional human-readable description of this webhook. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it's a mutable (readOnlyHint=false) but non-destructive operation. The description merely says 'register', which aligns but adds no extra behavioral details such as idempotency, side effects, or requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence. No wasted words, and it conveys the core purpose directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 5 parameters and no output schema, the description lacks critical context about return values, activation behavior, or verification steps. It is minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have full schema descriptions (100% coverage). The tool description adds no additional meaning beyond what is already in the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (register), the resource (webhook URL), and the purpose (to receive evaluation events). It distinguishes well from sibling tools like delete_webhook or list_audit_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or conditions. The description is too terse to help an agent decide contextually.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_delete_policyAtlaSent — Delete PolicyADestructive
Permanently delete a constraint bundle. Prefer archiving over deleting.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID that owns the policy. | |
| policy_id | Yes | ID of the bundle to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the annotations by stating 'Permanently delete' and 'Prefer archiving', which warns of irreversibility and suggests caution. Annotations already have destructiveHint=true, so the description reinforces this. No behavioral contradictions. Some missing details (e.g., what happens if dependencies exist) but acceptable for the destructiveHint flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. The first sentence immediately states the action, and the second provides a usage preference. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (2 required parameters, no output schema) and annotations covering destructive behavior, the description is nearly complete. It could mention auth requirements or the irreversible nature more explicitly, but the 'permanently delete' phrase covers that. Lacks details on success/error responses, but no output schema exists to justify that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both org_id and policy_id already described in the input schema. The description adds no additional parameter details. Baseline score of 3 is appropriate since the schema itself is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Permanently delete a constraint bundle' uses a specific verb+resource, clearly stating the action and object. It distinguishes from sibling deletion tools like atlasent_delete_scim_user and atlasent_delete_webhook by specifying 'constraint bundle'. The additional note 'Prefer archiving over deleting' adds further clarity on the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends archiving over deleting, providing implicit guidance on when not to use this tool. However, it does not directly mention specific alternatives (e.g., atlasent_update_policy) or detailed context for when deletion is appropriate beyond permanence. This is good but could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_delete_scim_userAtlaSent — Delete SCIM UserADestructive
Deprovision a SCIM user. Removes them from the AtlaSent directory. This is irreversible — prefer disabling (patch active=false) over deleting.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID. | |
| user_id | Yes | SCIM user ID to deprovision. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint=true, so the description's 'irreversible' adds minimal extra. No additional behavioral details (e.g., permissions required) are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are concise and front-loaded with the core action. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema and annotations covering destructiveness, the description is complete enough. It includes irreversibility warning and usage alternative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The description adds no extra meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state the action 'Delete SCIM User' and resource 'AtlaSent directory'. It distinguishes from sibling tools like atlasent_patch_scim_user which disables instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises preferring disable over delete, mentioning the alternative 'patch active=false'. This helps the agent choose the correct action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_delete_webhookAtlaSent — Delete WebhookBDestructive
Remove a registered webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID that owns the webhook. | |
| webhook_id | Yes | ID of the webhook to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint to true, so the agent knows this is destructive. The description adds 'Remove' which aligns. No additional behavioral traits (e.g., cascading effects, reversibility) are disclosed. With annotations covering the main safety concern, a 3 is reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence 'Remove a registered webhook.' is highly concise and front-loaded. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion by ID, the description is adequate but minimal. No output schema exists, and no context about effects or confirmation is provided. Given the tool's simplicity, it meets the minimum viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully documented in the schema. The description does not add any extra meaning beyond the schema's property descriptions. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Remove a registered webhook.' which clearly identifies the action (remove) and resource (webhook). However, it does not distinguish from sibling tools like 'atlasent_create_webhook' or 'atlasent_delete_policy', so a 4 is appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With siblings like 'atlasent_create_webhook' and other delete tools, the description does not specify when deletion is appropriate or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_evaluateAtlaSent — Evaluate (Remote API)A
Evaluate an action against your published AtlaSent policies. Returns allow/deny/hold/escalate with a permitToken on allow. Use this when ATLASENT_MODE=remote and you need to gate an action against your hosted policy engine.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | What action is being performed (e.g. 'production.deploy', 'records.delete'). | |
| org_id | Yes | Organization ID that owns the policy. | |
| context | No | Key-value context matched against constraint rules. | |
| explain | No | When true, populates risk_envelope.factors with a per-factor score breakdown | |
| subject | Yes | The actor performing the action (e.g. 'user:alice', 'service:deploy-bot'). | |
| resource | Yes | The resource being acted on (e.g. 'env:prod', 'db:customers'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=false and destructiveHint=false. The description adds that it returns a permitToken on allow, but does not disclose potential side effects like logging, auth requirements, or error handling. With annotations present, the description adds moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with purpose and return behavior. Every sentence adds value; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters and no output schema. The description explains the return type and usage condition, but lacks details on error scenarios, network requirements, or typical response structure. While adequate for a simple tool, there are notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add significant meaning beyond the schema; it contextualizes parameters (e.g., 'action against policies') but doesn't elaborate on formats or additional constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'evaluate' and the resource 'action against AtlaSent policies', and specifies the return values (allow/deny/hold/escalate with permitToken). It distinguishes from siblings like atlasent_evaluate_many and atlasent_evaluate_stream by focusing on single action evaluation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this when ATLASENT_MODE=remote and you need to gate an action against your hosted policy engine.' This provides clear context for when to choose this tool, though it does not explicitly mention when not to use it or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_evaluate_manyAtlaSent — Evaluate Many (batch)A
Evaluate up to 100 actions in a single request against your published AtlaSent policies. Returns decisions in input order. Optional batch_id (UUID) provides idempotency. Closed-by-default: 404 surfaces as a feature_not_enabled error tagged with the v2_batch tenant flag.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Items to evaluate (1-100). Decisions returned in input order. | |
| batch_id | No | Optional UUID for idempotency. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, destructiveHint=false), description adds that results are returned in input order, batch_id provides idempotency, and closed-by-default errors are tagged with feature_not_enabled. This gives useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no wasted words. Purpose is front-loaded, then returns order, idempotency, and error behavior are efficiently stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so description should ideally explain return format. It says 'returns decisions in input order' but lacks details on decision structure, batch status, or potential errors. Adequate for basic understanding but incomplete for complex use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds value by clarifying the items array returns decisions in input order and batch_id provides idempotency, which is not evident from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it evaluates up to 100 actions against AtlaSent policies, returning decisions in input order. The verb 'evaluate' and resource 'many actions' are specific, and it implicitly differentiates from siblings like atlasent_evaluate (singular) and atlasent_evaluate_stream (streaming).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies batch usage by stating 'up to 100 actions' and 'single request', but does not explicitly say when to use this vs. atlasent_evaluate or atlasent_evaluate_stream. No when-not or alternatives given, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_evaluate_streamAtlaSent — Evaluate (streamed, buffered)A
Evaluate up to 100 actions via the streaming endpoint. The tool buffers the SSE stream and returns the complete result set (same shape as atlasent_evaluate_many). Per-item RPC failures surface in the items array with { error }; the stream continues. Closed-by-default: 404 surfaces as a feature_not_enabled error tagged with the v2_streaming tenant flag.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Items to evaluate (1-100). Decisions returned in input order. | |
| batch_id | No | Optional UUID for idempotency. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds valuable behavioral context: per-item RPC failures return {error} and stream continues, and closed-by-default 404 surfaces as feature_not_enabled error. Annotations are minimal, so description carries the burden well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences: purpose, error handling, special case. No wasted words, front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects (max items, error handling, special 404 error) and references sibling's return shape. Missing explicit return schema is offset by 'same shape' reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions. The description adds no further parameter details beyond 'same shape as atlasent_evaluate_many', which is implicit for the items array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool evaluates up to 100 actions via streaming, distinguishing itself from synchronous evaluate variants with 'streaming endpoint' and 'same shape as atlasent_evaluate_many'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this streaming version versus atlasent_evaluate or atlasent_evaluate_many. The 100-item cap is mentioned but not as a decision criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_get_evidence_exportAtlaSent — Get Evidence ExportARead-only
Retrieve a specific compliance evidence bundle by ID. Includes status, SHA-256 hash for tamper verification, and download URL when complete.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID. | |
| export_id | Yes | Evidence export ID from list_evidence_exports or create_evidence_export. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds behavioral details: response includes status, SHA-256 hash, and download URL when complete. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key action, no unnecessary words. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description adequately specifies return fields (status, hash, URL) and condition ('when complete'). Lacks error scenarios but sufficient for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. Description only adds marginal context ('by ID') but does not significantly enhance understanding beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Retrieve a specific compliance evidence bundle by ID' with verb+resource clarity. Differentiates from sibling tools like 'list_evidence_exports' and 'create_evidence_export'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is clear: use when you have an export ID. Does not explicitly state when not to use or provide alternative comparisons, but context signals and tool name make it obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_get_policyAtlaSent — Get PolicyARead-only
Retrieve a single constraint bundle / policy by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID that owns the policy. | |
| policy_id | Yes | The bundle ID returned by list_policies or create_policy. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds no additional behavioral context (e.g., authentication, rate limits, idempotency). Adequate but not additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 9 words, no unnecessary information. Extremely concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with two well-documented parameters and annotations present, the description is sufficient. It could mention the return value, but not required as there is no output schema. Nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters having clear descriptions. The tool description adds no further parameter semantics. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'retrieve', the resource 'constraint bundle / policy', and the method 'by ID'. It distinguishes from sibling tools like atlasent_list_policies, which lists multiple policies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Usage is implied (retrieve a single policy by ID), but no exclusion criteria or context provided. Siblings like atlasent_list_policies and atlasent_create_policy exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_get_scim_userAtlaSent — Get SCIM UserARead-only
Retrieve a single provisioned SCIM user by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID. | |
| user_id | Yes | SCIM user ID returned by list_scim_users or create_scim_user. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's 'retrieve' aligns. No additional behavioral traits (e.g., authentication, rate limits) are disclosed beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, zero waste, front-loaded with the key action and resource. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with only two parameters and clear annotations, the description is complete and sufficient. No missing information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description does not add any meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('retrieve') and resource ('provisioned SCIM user') with a clear method ('by ID'), clearly distinguishing it from sibling tools like list_scim_users or create_scim_user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as list_scim_users. The description only states the retrieval method (by ID) but does not explain prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_get_siem_configAtlaSent — Get SIEM ConfigARead-only
Retrieve the SIEM export configuration for an organization. Enterprise plan required. The credential field is never returned.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint: true and destructiveHint: false. The description adds behavioral context: the enterprise plan requirement and that the credential field is never returned, which is beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, no redundant words. The purpose is front-loaded in the first sentence, making it immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with one parameter and no output schema, the description covers the core purpose and two important caveats. It could mention that the response is the config object, but this is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for org_id, with a brief description 'Organization ID.' The description adds no further semantic detail, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Retrieve the SIEM export configuration for an organization,' using a specific verb and resource. It distinguishes from siblings like atlasent_upsert_siem_config and atlasent_test_siem_delivery, which handle create/update and testing respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Enterprise plan required,' providing a clear prerequisite. It does not explicitly state when to use vs. alternatives, but the sibling list and name imply this is for reading. The credential warning also guides expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_list_audit_eventsAtlaSent — List Audit EventsBRead-only
Retrieve recent evaluation events from the audit log.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO-8601 end timestamp for the query window. | |
| from | No | ISO-8601 start timestamp for the query window. | |
| limit | No | Max number of events to return (default 20, max 100). | |
| org_id | Yes | Organization ID to fetch audit events for. | |
| evaluation_id | No | Filter to events for a specific evaluation ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds 'recent' but this is vague and potentially misleading since the to/from parameters allow arbitrary time windows. No mention of ordering, pagination behavior (beyond limit), or what happens when the window is empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy. However, it could be front-loaded with key differentiators (e.g., 'audit log' specificity) and still remain concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should compensate by explaining return structure or field examples. It does not. Also lacks information on event ordering, time zone handling, or filtering effects. For a tool with 5 parameters and many siblings, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter descriptions exist and are clear (ISO-8601, limit range, required org_id). The description adds no additional parameter context; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve') and the resource ('evaluation events from the audit log'). This is distinct from sibling list tools like list_evidence_exports or list_policies, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., list_evidence_exports for different event types). The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_list_evidence_exportsAtlaSent — List Evidence ExportsARead-only
List compliance evidence bundles for an organization. Enterprise plan required. Each record includes status and SHA-256 hash.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID. | |
| regime | No | Filter by compliance regime. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and non-destructive. The description adds that each record includes status and SHA-256 hash, and the enterprise plan requirement, but does not disclose additional behavioral traits such as pagination or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences with the purpose front-loaded. No redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, plan requirement, and return record fields. Missing details like pagination or default filter are minor given the tool's simplicity and existing annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters (org_id, regime). The description does not add new meaning beyond the schema, maintaining the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'list' and identifies the resource as 'compliance evidence bundles' for an organization. It clearly differentiates from sibling tools like 'atlasent_create_evidence_export' and 'atlasent_get_evidence_export'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states 'Enterprise plan required' as a prerequisite but does not explicitly guide when to use this tool versus alternatives like 'get_evidence_export'. Usage is implied from the verb but lacks explicit when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_list_permitsAtlaSent — List PermitsARead-only
List issued permit tokens for audit and monitoring.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO-8601 end timestamp filter. | |
| from | No | ISO-8601 start timestamp filter. | |
| limit | No | Max number of permits to return (default 20). | |
| cursor | No | Pagination cursor from a previous response. | |
| org_id | Yes | Organization ID to list permits for. | |
| status | No | Filter by permit status. | |
| actor_id | No | Filter to permits issued for this actor. | |
| action_type | No | Filter to permits for this action type. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds no new behavioral traits beyond stating the listing purpose, which is consistent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Efficiently communicates the tool's core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of pagination parameters (cursor, limit) and filters, the description is minimal but adequate. It does not mention pagination behavior or output format, but these are not strictly required given the schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add additional meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists issued permit tokens, with a specific use case (audit and monitoring). This distinguishes it from sibling tools that create, revoke, or verify permits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for audit/monitoring but does not explicitly state when not to use or provide alternatives among sibling tools like atlasent_revoke_permit or atlasent_verify_permit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_list_policiesAtlaSent — List PoliciesARead-only
List all constraint bundles / policies for this organization.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID to list policies for. | |
| status | No | Filter by status (e.g. 'draft', 'published', 'archived'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that it lists 'all' policies for the organization, but does not elaborate on pagination, ordering, or other behavioral traits. Minimal additional context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the action and scope. No wasted words; front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two parameters and no output schema, the description is nearly complete. It could optionally mention pagination or ordering, but these are not critical for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters (org_id and status). The description does not add extra meaning beyond what the schema already provides, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'List' and resource 'constraint bundles / policies', scoped to 'this organization'. It clearly distinguishes from siblings like 'atlasent_get_policy' (singular) and 'atlasent_list_evidence_exports'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The usage is implied by the tool's name and context, but no alternatives or exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_list_scim_groupsAtlaSent — List SCIM GroupsBRead-only
List provisioned groups via SCIM 2.0 for an organization.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Max results per page. | |
| filter | No | SCIM filter expression (e.g. 'displayName eq "engineers"'). | |
| org_id | Yes | Organization ID. | |
| startIndex | No | 1-based result offset. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the description adds little behavioral context. It mentions SCIM 2.0 protocol and organization scope, which is useful but minimal. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the key action. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could mention return values (e.g., list of group objects) or pagination behavior. The schema covers parameters, but the description is minimal for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions. The description does not add further semantic detail beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists provisioned groups via SCIM 2.0 for an organization. It specifies the protocol (SCIM 2.0) and scope (organization), but does not explicitly differentiate from sibling tools like atlasent_list_scim_users beyond the resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The name and resource type imply distinction, but the description lacks direct context for selection, e.g., when to use list_scim_groups vs list_scim_users.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_list_scim_usersAtlaSent — List SCIM UsersARead-only
List provisioned users via SCIM 2.0 (RFC 7643) for an organization. Supports filter expressions (e.g. 'userName eq "alice"') and startIndex/count pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Max results per page (default 20, max 200). | |
| filter | No | SCIM filter expression (e.g. 'userName eq "alice"'). | |
| org_id | Yes | Organization ID. | |
| startIndex | No | 1-based result offset for pagination (default 1). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds valuable behavioral context: compliance with SCIM 2.0, support for filter expressions and pagination (startIndex/count). No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the core purpose and add essential details. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, standard, and parameters well. However, it does not mention the return format (e.g., list of user objects in SCIM format). Given no output schema, describing the response structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters are well-described in the schema (100% coverage). The description adds value by providing examples of SCIM filter syntax and mentioning pagination behavior, enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists SCIM users for an organization, referencing the SCIM 2.0 standard and RFC 7643. It distinguishes from sibling tools like get_scim_user (single user), create/delete/patch, and list_scim_groups by specifying it's for listing provisioned users with filtering and pagination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (listing provisioned users) and hints at syntax (filters, pagination). However, it does not explicitly mention when not to use it or alternatives like get_scim_user for single user retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_lookup_actionLookup Canonical Action SpecARead-only
Look up canonical action specifications from the Authorization Intelligence Library. Returns gate flags (requires_human_approval, requires_mfa, requires_verified_actor, requires_state_snapshot), authorization patterns, risk posture, AI risk classification, regulatory mappings, and evidence requirements for any of the 17 governed action types. Use slug for an exact match (e.g. 'production.deploy') or query for a substring search across slug, display_name, and description. Omit both to list all 17 canonical actions.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Exact canonical action slug (e.g. 'production.deploy', 'access.grant'). | |
| query | No | Substring search across slug, display_name, and description. Case-insensitive. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, but the description adds valuable detail about the return fields (gate flags, authorization patterns, etc.) and search behavior. It does not contradict annotations and provides behavioral context beyond what annotations offer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of three sentences that are front-loaded with the main purpose. Every sentence adds value without redundancy or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description fully explains the return values (gate flags, authorization patterns, etc.) and the extent of the data (17 actions). It covers the two parameters and the behavior when they are omitted, making the tool's functionality complete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both parameters have descriptions). The description adds meaning by clarifying the use of 'slug' for exact match and 'query' for substring search, and that omitting both lists all actions. This goes beyond the schema descriptions, justifying a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Look up canonical action specifications from the Authorization Intelligence Library.' It specifies what is returned (gate flags, authorization patterns, etc.) and the scope (17 governed action types), distinguishing it from sibling tools that perform create, delete, or update operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool ('for any of the 17 governed action types') and how to use the parameters (exact slug match, substring query, or omit to list all). However, it does not explicitly mention when not to use it or suggest alternative tools, though the context of sibling tools makes the usage relatively clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_patch_scim_userAtlaSent — Patch SCIM UserA
Update a provisioned user using RFC 7644 SCIM PatchOp operations. Each operation has op (add/remove/replace), an optional path, and a value.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID. | |
| user_id | Yes | SCIM user ID to update. | |
| operations | Yes | PatchOp operations per RFC 7644 §3.5.2 (e.g. { op: 'replace', path: 'active', value: false }). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, indicating a non-destructive mutation. The description adds that it uses SCIM PatchOp but does not disclose additional behavioral traits such as idempotency, rate limits, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. It front-loads the core purpose and briefly explains operation format with no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core functionality but lacks context about return values, permissions, or error cases. For a mutation tool with no output schema, more details would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters. The description summarizes the operation structure but does not add new semantics beyond what is in the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a provisioned user using SCIM PatchOp operations, specifying the verb 'update', resource 'user', and protocol. It is distinct from sibling tools like create_scim_user and delete_scim_user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for partial updates via PatchOp but provides no explicit guidance on when to use this tool vs alternatives (e.g., create, delete). It lacks context like prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_permitAtlaSent — Issue PermitA
Manually issue a permit token for an action. Use for pre-authorized operations where a full evaluate call is not practical.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The action being permitted (e.g. 'production.deploy'). | |
| org_id | Yes | Organization ID that owns the policy. | |
| context | No | Optional context to bind to the permit. | |
| subject | Yes | The actor the permit is issued for (e.g. 'user:alice'). | |
| resource | Yes | The resource the permit applies to (e.g. 'env:prod'). | |
| ttl_seconds | No | How long the permit is valid in seconds (default 300, max 86400). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only and non-destructive. Description adds no behavioral context beyond 'issue a permit token' – no mention of permissions, side effects, or limits. With annotations present, description carries minimal extra value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose. No wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters (4 required), nested objects, no output schema, and sibling tools like verify/revoke permit, the description is adequate but minimal. It explains the high-level purpose but lacks workflow context or return value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 6 parameters. Description does not elaborate on parameters beyond the schema, so baseline score of 3 applies. No additional semantic value from description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'issue a permit token for an action' with specific verb and resource. It distinguishes from evaluate siblings by mentioning 'pre-authorized operations where a full evaluate call is not practical.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use for pre-authorized operations instead of evaluate, providing clear context. Lacks explicit when-not-to-use or alternatives beyond evaluate, but the guidance is sufficient for typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_queryAtlaSent — GraphQL Query (read-only)ARead-only
Run a read-only GraphQL query against the AtlaSent V2 GraphQL endpoint. Wave A schema: recentEvaluations(limit), activeBundle. Body limit 1MB, depth limit 8, one operation per request (enforced server-side). Closed-by-default: 404 surfaces as a feature_not_enabled error tagged with the v2_graphql tenant flag.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | GraphQL query string. The Wave A schema is read-only. | |
| variables | No | Optional GraphQL variables object. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, etc. The description adds behavioral details beyond annotations: body limit 1MB, depth limit 8, single operation enforced server-side, and error behavior for 404. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with three sentences that are front-loaded: purpose, technical limits, and error behavior. Every sentence adds essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only GraphQL query tool with no output schema, the description covers purpose, schema fields, limits, and error behavior. Missing details like authentication or rate limiting are partially addressed by annotations (openWorldHint). Adequately complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents the query and variables parameters. The description provides context about the endpoint and available schema fields (recentEvaluations, activeBundle) but does not add parameter-specific semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a read-only GraphQL query against the AtlaSent V2 endpoint, specifying the schema and distinguishing it from sibling tools that handle mutations or other data retrieval methods. The title reinforces 'read-only'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for read-only GraphQL queries and warns about the 'closed-by-default' feature availability error, but does not explicitly state when to avoid this tool or mention specific alternatives among the extensive sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_record_execution_evaluationAtlaSent — Record Execution EvaluationA
Record the outcome of an execution that was permitted by a prior evaluate call. Closes the audit loop with the actual execution result.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID that owns the evaluation. | |
| details | No | Optional details about what was executed and the result. | |
| outcome | Yes | The actual outcome of the execution. | |
| executed_at | No | ISO-8601 timestamp when the execution completed. | |
| evaluation_id | Yes | The evaluation_id from the prior evaluate call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it is a write operation (readOnlyHint=false) and not destructive. The description adds that it 'closes the audit loop', giving behavioral context beyond annotations. However, it does not discuss idempotency or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, immediately conveys the core purpose and linkage to the evaluate tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters including a nested object and no output schema, the description provides essential context for the tool's role but omits details about return values or prerequisites like valid evaluation_id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description. The tool description does not add parameter-specific information beyond the schema, which is acceptable. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'record' and the resource 'execution evaluation', and distinguishes this tool as the counterpart to a prior evaluate call. This sets it apart from sibling tools like atlasent_evaluate or atlasent_permit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this after a prior evaluate call that permitted an execution. It provides clear context but does not include explicit when-not-to-use scenarios or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_resolve_approval_requestAtlaSent — Resolve Approval RequestA
Approve or deny an approval request. On approval, the held evaluation may proceed; on denial, it stays blocked.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID that owns the approval request. | |
| comment | No | Optional comment explaining the resolution. | |
| resolution | Yes | Whether to approve or deny the request. | |
| resolver_id | Yes | Identity of the person or system resolving the request. | |
| approval_request_id | Yes | The approval_request_id from atlasent_create_approval_request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only, non-destructive operation. The description adds context by stating the effect of each resolution: 'on approval, the held evaluation may proceed; on denial, it stays blocked.' This helps the agent understand the tool's impact beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two short sentences that efficiently convey the core functionality and consequences. No extraneous information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description provides the key behavioral outcome. However, it does not mention return values or potential errors. Given the tool's moderate complexity, this is adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters with descriptions. The tool description adds no additional parameter information, meeting the baseline expectation of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Approve or deny an approval request.' It specifies the two possible resolutions and their consequences, effectively distinguishing it from sibling tools like create_approval_request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides basic usage context but lacks explicit guidance on when to use this tool versus alternatives or mention of prerequisites. It does not explain when approval versus denial is appropriate or that a prior approval request must exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_revoke_permitAtlaSent — Revoke PermitA
Revoke a permit before it expires. The permit immediately becomes invalid for verify_permit calls.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID that owns the permit. | |
| reasons | No | Human-readable reasons for revocation. | |
| permitToken | Yes | The permit token to revoke. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description states the permit becomes invalid, indicating a destructive operation. But annotations have destructiveHint: false, contradicting the description. Therefore score is 1 due to contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each adding value. First sentence states purpose, second adds behavioral detail. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple revocation tool, the description covers main purpose and effect. Could include more about error conditions or prerequisites, but overall adequate given low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add any additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'revoke', the resource 'permit', and the effect (immediately invalid for verify_permit). It distinguishes from siblings like atlasent_permit and atlasent_verify_permit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description says 'Revoke a permit before it expires', providing context for when to use it. However, it does not explicitly mention when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_test_siem_deliveryAtlaSent — Test SIEM DeliveryA
Send a test event to the configured SIEM destination and report the result. Returns { success, statusCode, durationMs, error? }. Returns 409 if SIEM is not configured or is disabled.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint=false) and not destructive. The description adds return structure and error condition (409), but does not detail side effects of sending a test event.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the action and return info with no unnecessary words. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-param test tool, the description is quite complete: action, return format, error case. Missing details about test event content are acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers org_id with 100% description coverage. The tool description does not add any additional parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sends a test event to the SIEM destination and reports the result, with specific verb and resource. It is distinct from sibling SIEM tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool vs alternatives like atlasent_get_siem_config. The 409 return code hints at post-configuration use, but no direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_trajectory_verifyAtlaSent — Trajectory VerifyARead-only
Verify that the agent's current execution step is on an authorized trajectory. Call this at each step to ensure the agent has not deviated from the permitted plan. Returns on_trajectory=true to continue or on_trajectory=false (with a deviation reason) to halt. Fail-closed: network errors return on_trajectory=false.
| Name | Required | Description | Default |
|---|---|---|---|
| current_step | Yes | The current execution step the agent is about to perform. | |
| permit_token | Yes | The permit_token from a prior evaluate call that authorized this trajectory. | |
| completed_steps | No | Steps already completed in this trajectory, in execution order. | |
| execution_context | No | Additional context about the current execution environment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds critical behavioral info: fail-closed on network errors (returns on_trajectory=false) and the exact return format (boolean plus deviation reason). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: purpose, usage instruction, and return/error behavior. No redundancy. Information is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, description fully explains the return value (on_trajectory with deviation reason) and error handling. Covers all essential aspects for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
100% schema coverage means parameters are well-documented. The description adds value by explaining that permit_token comes from a prior evaluate call, providing context beyond schema. No further parameter details needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool verifies that the agent's current step is on an authorized trajectory. Distinct from sibling tools like atlasent_verify_permit, which verify permits, not trajectories. The verb 'verify' and resource 'trajectory' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to 'call this at each step' to ensure no deviation from the permitted plan. Describes the return values and fail-closed behavior, providing clear guidance on when and how to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_update_policyAtlaSent — Update PolicyA
Update a constraint bundle — change rules, title, or publish/archive it. Only fields you provide are updated; omitted fields are unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| rules | No | Replacement rules array (replaces all existing rules). | |
| title | No | New title for the policy. | |
| org_id | Yes | Organization ID that owns the policy. | |
| status | No | New lifecycle status (e.g. 'draft', 'published', 'archived', 'enforce'). | |
| actions | No | Updated action-specific configuration. | |
| version | No | New semantic version string. | |
| priority | No | New evaluation priority (lower number = higher priority). | |
| policy_id | Yes | ID of the bundle to update. | |
| applies_to | No | Updated scope selector. | |
| expires_at | No | Updated ISO-8601 expiry timestamp. | |
| description | No | New description. | |
| effective_at | No | Updated ISO-8601 effective timestamp. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and non-destructive behavior. The description adds important detail about partial updates and lifecycle transitions (publish/archive), which is beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences totaling 20 words, front-loaded with verb and resource. No redundant information. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 12 parameters and no output schema, the description covers the core purpose and partial update behavior. However, it lacks details on required parameters (policy_id, org_id) and expected return format, though schema provides parameter details. Adequate for a simple update tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description mentions parameters generically (rules, title, publish/archive) but doesn't add meaning beyond schema descriptions. No extra semantics for individual fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a constraint bundle, with specific actions like changing rules, title, or publishing/archiving. It distinguishes from sibling tools like create, delete, and get by focusing on modification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes partial update semantics ('Only fields you provide are updated; omitted fields are unchanged.'), which is crucial for correct usage. While it doesn't explicitly list when not to use, the context of sibling tools implies it's for modifying existing policies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_upsert_siem_configAtlaSent — Upsert SIEM ConfigA
Create or update the SIEM export configuration for an organization. Enterprise plan required. destinationUrl must be HTTPS. The credential field is stored securely and never returned by GET.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | Payload format: splunk_hec (HEC wrapper), elastic_ecs (ECS envelope), qradar_cef (CEF text), json (raw JSON). | |
| org_id | Yes | Organization ID. | |
| enabled | No | Whether delivery is active (default true). | |
| authType | No | Auth method: bearer (Authorization: Bearer), basic (Authorization: Basic), api_key (X-API-Key), none. Default: bearer. | |
| batchSize | No | Events per batch (default 100). | |
| credential | No | Auth credential. Stored securely; omit to keep the existing credential. | |
| retryCount | No | Retry attempts on delivery failure (default 3). | |
| destinationUrl | Yes | HTTPS URL of the SIEM endpoint to deliver events to. | |
| includedEventTypes | No | Event types to include (default: permit, deny, override, governance). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds key behavioral details: 'destinationUrl must be HTTPS' (constraint) and 'credential is stored securely and never returned by GET' (security). This enriches beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences. First sentence states purpose, second adds requirement, third adds constraints and security. No wasted words, front-loaded with the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema, the description covers plan requirements, URL constraints, and credential security. It does not describe return behavior (which an upsert might provide), but given no output schema, this is acceptable. Overall complete for an upsert tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning by specifying 'Enterprise plan required' (global context), 'destinationUrl must be HTTPS' (specific constraint), and 'credential stored securely...' (security semantics). These go beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Create or update') and resource ('SIEM export configuration') with scope ('for an organization'). It effectively distinguishes from sibling tools like 'atlasent_get_siem_config' (read-only) and 'atlasent_test_siem_delivery' (test only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions the prerequisite ('Enterprise plan required'). It does not provide explicit when-not-to-use or alternatives, but the context is clear for creating or updating SIEM config. No direct comparison with siblings is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_verify_permitAtlaSent — Verify Permit (V1)ARead-only
Verify a permit token with full binding inputs against the V1 endpoint. Use this for production verification — under-specified verification is a bypass vector.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action to verify the permit against. | |
| org_id | Yes | Organization ID that issued the permit. | |
| resource | No | Resource to verify the permit against. | |
| permit_token | Yes | The permit_token from a prior evaluate call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description adds behavioral context by emphasizing 'full binding inputs' and the security risk of under-specification, which goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Each sentence provides unique information: purpose and usage guidance. Perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not mention return values or response structure. For a verification tool, knowing the output type (e.g., boolean, object) would be helpful. The security warning is important, but the absence of output details is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter descriptions are clear. The description does not add new parameter-level details but reinforces the importance of completeness, which marginally adds value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies a permit token with full binding inputs against the V1 endpoint. It distinguishes itself from siblings like evaluate or permit by emphasizing production verification and warning against under-specification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use for production verification and warns that under-specified verification is a bypass vector, setting a clear usage context. However, it does not name alternative tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_vqp_audit_summaryAtlaSent — VQP Audit SummaryARead-only
Retrieve a summary of VQP audit activity — hash match rates, drift event counts, and verdict changes — from the BCCAE compliance report. Use for SOC 2 evidence collection and monitoring dashboards.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO-8601 end of the reporting window. | |
| from | No | ISO-8601 start of the reporting window. | |
| org_id | Yes | Organization ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it specifies the data source ('BCCAE compliance report') and the included data elements, which is valuable for understanding what the tool returns. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no unnecessary words. The first sentence states the purpose, the second provides a use case. Information is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description hints at return values (hash match rates, drift event counts, verdict changes), which is helpful. The tool is simple with 3 parameters, and the description adequately covers purpose and usage. However, for complete coverage, more detail on the return format could be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description does not add new semantics to the parameters beyond their names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'retrieve' and the resource 'summary of VQP audit activity' with explicit data points (hash match rates, drift event counts, verdict changes). It distinguishes itself from sibling tools like atlasent_vqp_drift_events by indicating this is a summary from the BCCAE compliance report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case ('SOC 2 evidence collection and monitoring dashboards'), implying when to use. However, it does not explicitly state when not to use or compare to alternatives like atlasent_vqp_drift_events or atlasent_list_audit_events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_vqp_drift_eventsAtlaSent — VQP Drift EventsARead-only
List VQP snapshots where the re-run AI score drifted by ≥10 points or the verdict changed (e.g. qualified → not_qualified). Use for compliance investigation and QA-VQP-002 § 7 deviation reporting.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO-8601 end of the reporting window. | |
| from | No | ISO-8601 start of the reporting window. | |
| limit | No | Max events to return (default 20, max 100). | |
| org_id | Yes | Organization ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's statement of listing snapshots adds behavioral context. It discloses the drift criteria beyond annotations, which is useful, though no extra details on auth or rate limits are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action and resource, followed by purpose. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a read-only listing with 4 parameters (all documented) and no output schema, the description adequately specifies what it returns and the criteria. It mentions the specific drift thresholds and usage context, which is complete for such a tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully documented. The description adds no additional parameter details beyond the schema; it implies filter criteria (drift/verdict change) but doesn't explain how parameters relate to these criteria.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists VQP snapshots with specific drift criteria (≥10 points or verdict change), distinguishing it from sibling tools like atlasent_vqp_generate or atlasent_vqp_audit_summary by focusing on drift events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly mentions use for compliance investigation and QA-VQP-002 §7 deviation reporting, providing clear context. It does not explicitly exclude other uses or compare to alternatives, but the purpose is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_vqp_generateAtlaSent — VQP Generate SnapshotB
Score a constraint bundle against the 6 VQP criteria (access_control CC6.1, audit_coverage CC7.2, escalation_paths CC7.4, deny_specificity CC8.1, hold_conditions CC6.3, override_governance CC5.2). Stores a tamper-evident snapshot with a SHA-256 prompt_hash in vqp_snapshots. Verdicts: qualified (≥85, no fails), conditionally_qualified (≥60), not_qualified. Requires ATLASENT_SUPABASE_URL and ATLASENT_SUPABASE_SERVICE_ROLE_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | Yes | Organization ID that owns the bundle. | |
| bundle_id | Yes | Constraint bundle ID to score. | |
| vqp_context | No | Additional context embedded in the VQP prompt for this snapshot. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and non-destructive behavior. The description adds context by stating that a snapshot is stored and requires specific environment variables. However, it does not elaborate on potential side effects, idempotency, or data retention policies, leaving some behavioral aspects undisclosed beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the primary action. Every sentence provides necessary information with no extraneous content. The format is efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the core action and verdicts but lacks detail on the output format or return value. It does not document the vqp_context parameter's usage. Given moderate complexity and no output schema, the description is adequate but leaves gaps that could hinder an agent's correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds overarching context about VQP criteria and verdict thresholds but does not provide additional parameter-specific meaning beyond the schema. It does not explain how vqp_context is used or what values it should contain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scores a constraint bundle against six specific VQP criteria and stores a tamper-evident snapshot. It uses specific verbs ('Score', 'Stores') and identifies the resource ('constraint bundle', 'vqp_snapshots'). However, it does not differentiate this tool from sibling VQP tools like atlasent_vqp_audit_summary or atlasent_vqp_verify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lacks explicit context for when the tool is appropriate, prerequisites beyond environment variables, and does not mention any exclusionary or comparative criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlasent_vqp_verifyAtlaSent — VQP Verify SnapshotA
Re-derive the VQP prompt from current bundle data and verify it matches the stored SHA-256 prompt_hash. Detects tampering (hash_match: false) and optionally re-runs the AI model to detect score drift (score_delta, verdict_changed). Writes a vqp_audit_log row for SOC 2 CC7.2 / 21 CFR Part 11 evidence. Requires ATLASENT_SUPABASE_URL and ATLASENT_SUPABASE_SERVICE_ROLE_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| rerun | No | Re-call the AI model with the re-derived prompt to detect score drift. Populates rerun_score, rerun_verdict, score_delta. Slower (10–20 s AI call). | |
| snapshot_id | Yes | Snapshot ID from atlasent_vqp_generate or a stored vqp_snapshots row. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false but are generic. The description adds significant transparency: it discloses that the tool writes an audit log, optionally makes an AI call (10-20s slower), and detects tampering and drift. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences, all essential. The main action is stated first, followed by detection capabilities, optional behavior, logging, and requirements. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description mentions key outputs (hash_match, score_delta, verdict_changed, audit log row). It covers auth requirements and optional behavior. Could explicitly state return format but is sufficient for an agent to understand outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for both parameters. The description reinforces the optional AI re-run (rerun) and the source of snapshot_id, adding context beyond the schema (e.g., '10–20 s AI call' for rerun). This warrants a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('re-derive', 'verify', 'detects', 'writes') and clearly identifies the resource (VQP snapshot). It explains the core verification of hash_match and optional drift detection, distinguishing it from sibling tools like atlasent_vqp_generate and atlasent_vqp_audit_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the required environment variables and implies use for tampering detection and SOC2/CFR compliance. It does not explicitly list when not to use or compare to alternatives, but the context is clear enough for a specialist tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_serviceDeploy Service (authorization-gated)ADestructive
Example protected tool. Every call is authorized by AtlaSent BEFORE the deploy runs. Denied or held calls are blocked and never touch the target system. On allow, the deploy executes and a permit_token is returned.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | Identifier for the user or service account the agent is acting on behalf of. | |
| approvals | No | Approval identifiers already obtained for this action (e.g. ticket IDs, reviewer handles). | |
| environment | Yes | Target environment for the action (e.g. production, staging, development). | |
| service_name | Yes | Name of the service to deploy. | |
| change_window | No | ISO-8601 time window during which the change is permitted (e.g. 2025-01-15T02:00:00Z/PT4H). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations by detailing the authorization process (AtlaSent check before deploy) and the result (permit_token on allow). This complements the destructiveHint and readOnlyHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct with three sentences that front-load the key info (authorization-gated deploy). Every sentence adds value without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters and no output schema. The description explains the authorization flow and return of a permit_token, but lacks details about the token format or how parameters like change_window affect behavior. Agents may need more context for proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 5 parameters (100% coverage), so the description does not add additional semantic information. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it deploys a service with authorization gating via AtlaSent. It distinguishes from sibling tools which are about authorization management rather than deployment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that calls are authorized before execution and denied calls are blocked, providing context for when the tool is appropriate. However, it does not explicitly state when not to use the tool or suggest alternative tools for authorization-related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluateAtlaSent — Evaluate ActionARead-only
Call this BEFORE performing any sensitive action. Returns a Decision: allow (use the permit_token and proceed), deny (you MUST NOT proceed), or hold (action is queued for human review — do not proceed, inform the user).
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | Identifier for the user or service account the agent is acting on behalf of. | |
| approvals | No | Approval identifiers already obtained for this action (e.g. ticket IDs, reviewer handles). | |
| action_type | Yes | The action the agent is about to perform (e.g. deploy, delete, merge, execute_query, send_email). | |
| environment | Yes | Target environment for the action (e.g. production, staging, development). | |
| change_window | No | ISO-8601 time window during which the change is permitted (e.g. 2025-01-15T02:00:00Z/PT4H). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the decision outcomes and required actions, which is valuable context beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that says everything needed. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations and schema richness, the description is complete enough. It describes the return behavior (decisions) despite no output schema, which is adequate for this guardrail tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the description does not need to explain parameters. It adds no extra meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for evaluating sensitive actions before proceeding, and it distinguishes the purpose by specifying the outcome decisions (allow, deny, hold).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this BEFORE performing any sensitive action' and provides precise instructions for each outcome: allow (use permit_token), deny (must not proceed), hold (inform user).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_permitAtlaSent — Verify PermitARead-only
Call this AFTER completing an authorized action. Confirms the permit issued by evaluate is still valid. Outcome is verified, expired, invalid, or error. If valid is false, the action should be flagged for review.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | Identifier for the user or service account the agent is acting on behalf of. | |
| approvals | No | Approval identifiers already obtained for this action (e.g. ticket IDs, reviewer handles). | |
| action_type | Yes | The action the agent is about to perform (e.g. deploy, delete, merge, execute_query, send_email). | |
| environment | Yes | Target environment for the action (e.g. production, staging, development). | |
| permit_token | Yes | The permit_token returned by a prior evaluate call. | |
| change_window | No | ISO-8601 time window during which the change is permitted (e.g. 2025-01-15T02:00:00Z/PT4H). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, non-destructive. Description adds outcome values and post-action guidance, consistent with annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, all essential. No extraneous information. Efficiently conveys purpose, timing, and outcome.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, description explains return values and action on false. Covers key aspects for a verification tool given parameter count and schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters (100% coverage). Description does not add new parameter details beyond schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'verify' and resource 'permit', specifies it follows an authorized action and uses the token from 'evaluate'. Distinguishes from sibling tools like atlasent_evaluate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this AFTER completing an authorized action' and ties to evaluate. Provides outcome interpretation. Lacks explicit when-not-to-use but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
40 tool updates
v2.11.0- First observed
atlasent_create_approval_request - First observed
atlasent_create_evidence_export - First observed
atlasent_create_policy - First observed
atlasent_create_scim_user - First observed
atlasent_create_webhook - First observed
atlasent_delete_policy - First observed
atlasent_delete_scim_user - First observed
atlasent_delete_webhook - First observed
atlasent_evaluate - First observed
atlasent_evaluate_many - First observed
atlasent_evaluate_stream - First observed
atlasent_get_evidence_export - First observed
atlasent_get_policy - First observed
atlasent_get_scim_user - First observed
atlasent_get_siem_config - First observed
atlasent_list_audit_events - First observed
atlasent_list_evidence_exports - First observed
atlasent_list_permits - First observed
atlasent_list_policies - First observed
atlasent_list_scim_groups - First observed
atlasent_list_scim_users - First observed
atlasent_lookup_action - First observed
atlasent_patch_scim_user - First observed
atlasent_permit - First observed
atlasent_query - First observed
atlasent_record_execution_evaluation - First observed
atlasent_resolve_approval_request - First observed
atlasent_revoke_permit - First observed
atlasent_test_siem_delivery - First observed
atlasent_trajectory_verify - First observed
atlasent_update_policy - First observed
atlasent_upsert_siem_config - First observed
atlasent_verify_permit - First observed
atlasent_vqp_audit_summary - First observed
atlasent_vqp_drift_events - First observed
atlasent_vqp_generate - First observed
atlasent_vqp_verify - First observed
deploy_service - First observed
evaluate - First observed
verify_permit
TDQS
Most tools have distinct purposes, but the presence of both `evaluate` and `atlasent_evaluate` (and similarly `verify_permit` and `atlasent_verify_permit`) creates potential ambiguity between V1 endpoints and prefixed versions. Descriptions help differentiate, but the overlap is notable.
The majority of tools follow the `atlasent_verb_noun` pattern, but there are clear exceptions like `deploy_service`, `evaluate`, and `verify_permit`. Additionally, the verb order varies (e.g., `trajectory_verify` vs `create_policy`), and the `vqp_*` prefix adds another subcategory. This mix reduces overall consistency.
With 40 tools, the server is on the heavy side for an MCP server. While each tool covers a specific aspect of the AtlaSent platform (policy evaluation, compliance, SCIM, webhooks, etc.), the high number may overwhelm agents and suggests possible over-fragmentation.
The tool set covers a wide range of operations: CRUD for policies, SCIM users, and webhooks; multiple evaluation modes; compliance evidence; SIEM configuration; VQP tools; audit logs; and permit management. Missing group management (beyond listing) and minor gaps, but overall the core functionality is well-covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Runtime permission, approval, and audit layer for AI agent tool execution.
MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceWraps your existing MCP servers and checks each tool call against policy and live state before it runs. Allow, block, or require a refresh, with a reason the agent can act on.5-
- AlicenseNot gradedqualityCmaintenanceStateless enterprise policy firewall & token-cost proxy for MCP. It enforces identity, policy, and budget on every tool call.1MIT
- AlicenseNot gradedqualityCmaintenanceGates agent tool execution with human approval, audit trails, and replay-resistant permits, enabling safe use of tools in agent loops.MIT
- AlicenseNot gradedqualityCmaintenanceGoverns AI agent tool calls by checking them against Agentic Control Plane policies, returning allow/deny/ask decisions with audit logging and identity attribution for MCP clients like Claude and ChatGPT. Exposes acp_check and acp_status tools for policy enforcement and connection verification.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AtlaSent-Systems-Inc/atlasent-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server