DCL Trust Oracle — AI/LLM Output Audit (x402 MCP)
Server Details
AI/LLM agent output audit MCP: policy eval, tamper-evident chain, AI safety, x402 USDC on Base.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Fronesis-Labs/dcl-webhook
- GitHub Stars
- 1
- Server Listing
- DCL Trust Oracle
Available Tools
18 toolsdcl_audit_decodeBasic Audit DecodeARead-onlyIdempotentInspect
POST-ACTION Basic Audit ($0.10). Retrieves a record from the tamper-evident chain by tx_hash.
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | Transaction hash of the audit chain record to retrieve. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Set if tx_hash was not found; other fields are omitted. |
| reason | No | Explanation recorded for the verdict. |
| tx_hash | No | Hash of the audit chain record. |
| verdict | No | COMMIT or NO_COMMIT. |
| agent_id | No | Identifier of the agent tied to this record. |
| prev_hash | No | Hash of the preceding record in the chain. |
| seal_text | No | Human-readable Leibniz Layer verification seal. |
| task_type | No | Task type tag recorded with this entry. |
| timestamp | No | Unix timestamp when the record was created. |
| confidence | No | Confidence score recorded for the verdict. |
| verify_url | No | Public URL to independently verify this seal. |
| chain_index | No | Sequential index of the record in the chain. |
| chain_integrity | No | True if the full chain verifies as intact. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful context beyond the annotations by noting the $0.10 cost and the 'tamper-evident chain,' which conveys integrity and append-only behavior. This is meaningful supplemental information for an agent deciding whether to invoke the tool.
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 short clauses with no wasted words. The cost and action type are front-loaded, followed immediately by the core operation and lookup key. Every part 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?
For a simple single-parameter retrieval with a rich output schema and safety annotations, the description is largely complete. The missing sibling differentiation and explicit usage context keep it from a 5, but an agent can correctly invoke the tool with the information provided.
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 baseline is 3. The description's mention of 'by tx_hash' and 'retrieves a record' adds no meaning beyond the schema, which already describes tx_hash as the 'Transaction hash of the audit chain record to retrieve.'
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 a clear verb and resource: it 'Retrieves a record from the tamper-evident chain by tx_hash.' This is specific and actionable. However, it does not explicitly distinguish itself from the sibling tool dcl_audit_decode_deep, relying only on the word 'Basic' in the title for differentiation.
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?
There is no explicit guidance on when to use this tool versus alternatives like dcl_audit_decode_deep. The 'POST-ACTION' and 'Basic' labels provide only a weak implied context, with no when-to-use or when-not-to-use direction, and no sibling is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_audit_decode_deepDeep Forensic Audit DecodeCRead-onlyIdempotentInspect
POST-ACTION Deep Forensic Audit ($0.50). Extended output with drift_context and full chain integrity verification.
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | Transaction hash of the audit chain record to retrieve. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Set if tx_hash was not found; other fields are omitted. |
| reason | No | Explanation recorded for the verdict. |
| tx_hash | No | Hash of the audit chain record. |
| verdict | No | COMMIT or NO_COMMIT. |
| agent_id | No | Identifier of the agent tied to this record. |
| prev_hash | No | Hash of the preceding record in the chain. |
| seal_text | No | Human-readable Leibniz Layer verification seal. |
| task_type | No | Task type tag recorded with this entry. |
| timestamp | No | Unix timestamp when the record was created. |
| confidence | No | Confidence score recorded for the verdict. |
| verify_url | No | Public URL to independently verify this seal. |
| chain_index | No | Sequential index of the record in the chain. |
| drift_context | No | Extended forensic metadata captured at evaluation time. |
| tamper_reason | No | Why chain_integrity is False — a broken prev_hash link or an edited row whose stored tx_hash no longer matches its recomputed content hash. |
| chain_integrity | No | True if the full chain verifies as intact. |
| tampered_at_index | No | Index where chain integrity broke, if any tampering was detected. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value by noting the $0.50 cost, the extended output fields (drift_context), and chain integrity verification, which are behavioral details not in the annotations. However, it does not disclose any additional operational constraints or response characteristics beyond these mentions.
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 (two sentences) and directly conveys the key differentiator ('extended output') and cost. It is not front-loaded with the most critical action verb, but it is efficient and free of fluff. The placement of 'POST-ACTION' first is somewhat ambiguous but not verbose.
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 an output schema present, the description need not explain return values, and annotations cover safety. The description provides enough to understand it's a deeper audit decode, but it lacks explicit guidance on when to choose it over dcl_audit_decode, and it does not clarify what 'POST-ACTION' means operationally. This leaves some gaps for an agent to make a fully informed decision.
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 single parameter tx_hash is fully documented in the schema. The description adds no parameter-specific semantics; it only mentions output features. Baseline of 3 is appropriate since the schema already carries the burden.
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 labels the tool as 'Deep Forensic Audit' and mentions 'Extended output with drift_context and full chain integrity verification,' which implies it decodes an audit record in greater detail, but it does not explicitly state the action (e.g., 'retrieve' or 'decode') or the resource (tx_hash). It distinguishes from the sibling dcl_audit_decode only by the word 'Deep' and 'Extended output,' which is suggestive but not definitive.
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 says 'POST-ACTION' which hints at a usage context but does not explain when to use this deep variant versus the basic dcl_audit_decode or other audit tools. There is no explicit when-to-use, when-not-to-use, or alternative guidance, leaving the agent to infer that 'deep' means more detailed without clear criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_commitLeibniz Layer Crypto CommitAInspect
FINAL-STEP Leibniz Layer Crypto Commit ($0.01). Writes a trading/agent decision to the append-only Leibniz Layer audit chain and returns a Merkle-proof-style receipt: tx_hash (proof of this specific commit), chain_hash (the previous commit's hash, linking this one into the chain), and chain_depth (this commit's position in the chain). Unlike the evaluate_* tools, this call has no pass/fail verdict of its own — it always succeeds and simply seals the decision. Passing prior_checks is optional but recommended: it records which earlier pipeline steps (firewall/wallet/trade/MEV) this specific commit is downstream of, in one auditable record. Always run this LAST, after every other crypto-suite check has passed.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent whose decision is being committed. | |
| decision | Yes | The final trading/agent decision text to commit to the audit chain. | |
| prior_checks | No | Optional dict of tx_hashes from earlier pipeline steps (e.g. {'prompt_firewall_tx_hash': ..., 'trade_verifier_tx_hash': ..., 'mev_compliance_tx_hash': ...}), linking this commit to the specific checks that passed before it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tx_hash | Yes | Tamper-evident proof of this specific commit. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| chain_hash | Yes | Hash of the previous commit in the append-only chain that this one links to. |
| input_hash | Yes | Hash of the committed decision text (raw content is never stored). |
| chain_depth | Yes | This commit's position (index) in the chain. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral detail beyond the annotations: the write goes to an append-only chain, the call always succeeds, it has no verdict of its own, and it returns a Merkle-proof-style receipt. The $0.01 cost is also disclosed up front. This gives the agent an accurate model of side effects and guarantees.
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 information-dense and every sentence contributes operational meaning. There is minor redundancy between 'FINAL-STEP' and 'Always run this LAST', but the repetition reinforces the most critical usage constraint. Overall it is well organized and front-loaded with the most important context.
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 output schema exists, the description covers everything else needed for correct invocation: when to call it, how it differs from siblings, what the receipt contains, and how prior_checks should be populated. No critical operational detail is missing for an agent deciding whether and how to call this 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 schema already documents all three parameters with 100% coverage, so the baseline is 3. The description adds extra value by explaining prior_checks as a record of downstream pipeline hashes, emphasizing that it is optional but recommended, and framing decision as the final trading/agent decision text. Only agent_id is left entirely to the schema, which 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 names a specific action — committing a decision to the append-only audit chain — and clearly distinguishes itself from the evaluate_* sibling tools. It also spells out the concrete receipt fields (tx_hash, chain_hash, chain_depth), so an agent can immediately recognize this as the final sealing step rather than an 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 states 'Always run this LAST, after every other crypto-suite check has passed', giving unambiguous pipeline ordering. It also contrasts this tool with evaluate_* tools by noting it has no pass/fail verdict, and it explains that prior_checks is optional but recommended for linking earlier pipeline steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_batchBatch EvaluationAInspect
PRE-ACTION Bulk Processing ($0.10). Evaluates a list of items in one call; each item is a dict shaped {"response": str, "policy"?: str}, where policy defaults to "default" if omitted and may be any built-in policy name (default, strict, anti_jailbreak, safety, content_quality). Each item gets its own independent COMMIT/NO_COMMIT verdict via the same logic as the matching single-item evaluate_* tool; results are returned in input order under results, plus a shared batch_id. Capped at 200 items per call — oversized batches are rejected. Use this instead of multiple single-item evaluate_* calls when checking several responses — optionally against different policies — in one priced call rather than paying per item separately.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | List of items to evaluate, each shaped like {'response': str, 'policy'?: str}. | |
| agent_id | Yes | Identifier of the agent that produced the responses. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of items evaluated in this batch. |
| results | Yes | Per-item evaluation results, in input order. |
| agent_id | Yes | Identifier of the agent whose responses were evaluated. |
| batch_id | Yes | Unique identifier for this batch run. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only assert false hints, so the description carries the transparency burden and delivers: it discloses per-item independent COMMIT/NO_COMMIT verdicts, input-order result mapping, a shared batch_id, a 200-item cap with rejection behavior, and a $0.10 price. It also explains that each item follows the same logic as the corresponding single-item evaluate_* tool, which is useful behavioral context beyond the schema.
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 front-loaded with the cost and bulk nature, then uses compact, purposeful clauses to cover item shape, policy options, verdict behavior, result order, output field names, cap, and usage compared to alternatives. Every sentence adds information; there is no filler or repetition of the title/schema verbatim.
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's moderate complexity, the description supplies everything an agent needs to call it correctly: when to use it, item schema, policy defaults/options, per-item result semantics, output naming, and batch size limit. With an output schema also present, the absence of more detailed return documentation is not 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%, so the baseline is 3, but the description adds meaningful detail: the exact expected dict shape, the policy default of 'default', the allowed policy names, and the 200-item limit. It does not add anything for agent_id beyond the schema's own description, but the extra semantics on items clearly exceeds the bare 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 states a specific action ('Evaluates a list of items in one call'), defines the item shape and verdict type, and explicitly distinguishes itself from the single-item evaluate_* tools by being the batch variant. It also names the output (`results` plus `batch_id`) and the 200-item cap, so an agent can identify its role among the many sibling evaluate 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?
It provides an explicit usage rule: 'Use this instead of multiple single-item evaluate_* calls when checking several responses... in one priced call rather than paying per item separately.' The cap ('oversized batches are rejected') also states a hard limit, and the ability to mix policies clarifies when this batch tool is a better fit than policy-specific single-item siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_fastFast Pre-Action AuditAInspect
FAST Pre-Action Audit ($0.01). Runs the response through the server's "default" policy: a substring check against 3 forbidden phrases ("ignore previous instructions", "jailbreak", "bypass safety") with a 0.7 minimum-confidence threshold. Each forbidden match found costs 0.4 confidence; if confidence falls below 0.7, or any match is found, the verdict is NO_COMMIT and reason lists which phrase triggered it. Otherwise COMMIT. Use this as the default low-cost first-pass gate before a risky agent action; switch to dcl_evaluate_strict for a broader, higher-bar check, or to dcl_evaluate_jailbreak / dcl_evaluate_safety / dcl_evaluate_quality for a narrower, single-topic check instead of the general-purpose default policy.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The agent or LLM response text to audit. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of why the verdict was reached. |
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if the response passed policy checks, otherwise NO_COMMIT. |
| seal_text | Yes | Human-readable Leibniz Layer verification seal. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| drift_mode | Yes | Current drift status: NORMAL, WARNING, ESCALATION, or BLOCK. |
| input_hash | Yes | Hash of the evaluated response (raw content is never stored). |
| verify_url | Yes | Public URL to independently verify this seal. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| drift_score | Yes | Z-score measuring deviation of the recent commit rate from baseline. |
| policy_version | Yes | Version of the policy that was applied. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations providing no positive safety hints (all false), the description carries the full burden and fully delivers: it discloses the $0.01 cost, the exact forbidden phrases, the 0.4 confidence penalty per match, the 0.7 threshold, and the precise verdict/reason behavior. This is far more behavioral detail than annotations alone 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 front-loads the purpose and cost, then gives the decision algorithm, and ends with routing guidance. Every sentence carries essential operational information and none is filler, so the length is justified by the complexity.
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 two-parameter tool with an output schema, the description covers the policy details, cost, verdict semantics, and when to prefer sibling tools. There is no obvious gap that would prevent an agent from selecting and invoking this tool 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?
The input schema already documents both parameters (response and agent_id) at 100% coverage, so the description does not need to add parameter-level semantics. The description adds no new meaning beyond the schema for these two parameters, hence 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 opens with a precise verb and resource: it runs the response through the server's default policy, and specifies the output verdicts (COMMIT vs NO_COMMIT) and triggering conditions. It also differentiates itself from named siblings (dcl_evaluate_strict, dcl_evaluate_jailbreak, etc.), so an agent can reliably pick it among the many dcl_evaluate_* 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?
It explicitly instructs to use this as the default low-cost first-pass gate before risky agent actions, and tells exactly when to switch to dcl_evaluate_strict or to the narrower single-topic evaluators. No other tool in the set is given such direct selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_jailbreakJailbreak Detection CheckAInspect
PRE-ACTION Instruction Adherence Check ($0.02). Runs the "anti_jailbreak" policy: a substring check against 6 forbidden phrases ("ignore previous instructions", "jailbreak", "bypass safety", "pretend you are", "act as if", "DAN") with a 0.8 minimum-confidence threshold — each match costs 0.4 confidence. Returns COMMIT if no phrase matches and confidence stays at or above 0.8, otherwise NO_COMMIT with reason listing the matched phrase(s). Use this as a targeted, cheaper check when the concern is specifically prompt-injection / persona-hijack risk; use dcl_evaluate_strict instead when you also want safety- and default-policy phrases covered in the same call.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The agent or LLM response text to check for jailbreak attempts. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of why the verdict was reached. |
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if the response passed policy checks, otherwise NO_COMMIT. |
| seal_text | Yes | Human-readable Leibniz Layer verification seal. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| drift_mode | Yes | Current drift status: NORMAL, WARNING, ESCALATION, or BLOCK. |
| input_hash | Yes | Hash of the evaluated response (raw content is never stored). |
| verify_url | Yes | Public URL to independently verify this seal. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| drift_score | Yes | Z-score measuring deviation of the recent commit rate from baseline. |
| policy_version | Yes | Version of the policy that was applied. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the exact mechanism: substring check, the six forbidden phrases, the 0.8 confidence threshold, the 0.4 per-match cost, and the COMMIT/NO_COMMIT outcomes with a reason. This far exceeds what the annotations provide and leaves no ambiguity about behavior.
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?
Dense but every clause earns its place: cost, policy, threshold, phrases, outcomes, and routing to the sibling alternative are all present without fluff. The core action is front-loaded, so an agent immediately understands what the tool does.
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 decision criteria, alternative tool routing, return outcomes, and pricing. With an output schema present, nothing an agent needs in order to invoke this correctly is missing.
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 baseline is 3. The description adds algorithmic context but does not enrich the meaning of the two parameters beyond what their schema descriptions already state.
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 ('Runs the anti_jailbreak policy') and names the exact detection scope: a substring check against six forbidden phrases. It explicitly distinguishes itself from dcl_evaluate_strict, so an agent can tell the tools apart without opening either schema.
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 states when to use this tool ('when the concern is specifically prompt-injection / persona-hijack risk') and names the alternative for broader coverage (dcl_evaluate_strict). This is textbook usage guidance with both a condition and an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_jailbreak_cryptoCrypto Jailbreak & Injection DetectionAInspect
PRE-ACTION Crypto Jailbreak & Injection Detection ($0.02). Crypto-specialized instruction-override/jailbreak/injection screen: standard role-switch and instruction-override patterns, plus crypto-specific drain-wallet injection (e.g. "transfer all funds to...", fake "test transaction" requesting full balance) and unlimited-approval injection (e.g. type(uint256).max, "approve unlimited allowance", skip-slippage-confirmation framing). Any match returns NO_COMMIT with reason and findings naming the matched category/categories; run this FIRST in the DCL crypto pipeline, before wallet/trade/MEV checks, since it screens the input itself rather than a decision built on top of it.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced or received the text. | |
| response | Yes | The incoming prompt or agent response to screen for crypto-specialized jailbreak/injection attempts. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of the verdict. |
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if no injection pattern matched, otherwise NO_COMMIT. |
| findings | Yes | All matched patterns. Empty list if verdict is COMMIT. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| input_hash | Yes | Hash of the screened text (raw content is never stored). |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| policy_version | Yes | Version of the crypto jailbreak policy that was applied. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover mutation/destructive intent, but the description adds valuable behavioral detail: on a match it returns NO_COMMIT with `reason` and `findings` naming the matched categories. It also discloses the cost point ($0.02) and the fact that it is a pre-action gate. No contradiction with annotations exists, though it does not explicitly state the non-match return path.
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 dense but each clause adds functional value: the pre-action positioning, the category/examples, the return behavior, and the pipeline ordering. It could be slightly tightened, but it avoids fluff and front-loads the most important identification ('Crypto Jailbreak & Injection Detection') and operational context.
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 complex classifier with an output schema, the description covers what patterns are detected, what a match returns, and how it fits into the pipeline. It could be more explicit about how this differs from the generic dcl_evaluate_jailbreak sibling, but it names the relevant adjacent checks and gives enough context for 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 description coverage is 100%, so the schema already explains both `response` and `agent_id`. The tool description adds no new parameter-level detail beyond restating that `response` is the input to screen. The baseline of 3 is appropriate; the description does not harm but also does not carry additional parameter semantics.
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 identifies this as a specialized crypto jailbreak/injection detection screen, with a specific verb ('Detect'/'screens') and explicit resource (input prompts in the crypto pipeline). It differentiates itself from generic jailbreak detection by naming crypto-specific injection categories and examples, so an agent can distinguish it from siblings like dcl_evaluate_jailbreak, dcl_evaluate_wallet, and dcl_evaluate_mev.
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 gives explicit placement: 'run this FIRST in the DCL crypto pipeline, before wallet/trade/MEV checks.' It also explains why, noting this tool 'screens the input itself rather than a decision built on top of it.' This is concrete, actionable guidance that tells the agent when to use it relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_mevMEV & Market-Abuse Compliance ScreenAInspect
POST-ACTION MEV & Market-Abuse Compliance Screen ($0.03). Text-level screen (not a mempool/transaction analyzer) for front-running/sandwich-attack language, wash trading/layering/spoofing, KYC/AML red flags (mixers, structuring, obscuring fund origin), and pump-and-dump/rug-pull language. Any critical-severity finding, or two or more major-severity findings, returns NO_COMMIT; a single major-severity finding is also returned as NO_COMMIT but with a distinctly higher confidence (~0.55 vs ~0.05-0.2 for harder violations) so downstream callers can tell a soft single flag apart from a hard multi-finding block. Each finding includes an illustrative regulatory_reference tag (MiFID II, FCA, or an EU AI Act article).
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The agent or LLM response text describing or proposing an on-chain/trading action, to screen for MEV and market-abuse language. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if the response passed the MEV/compliance screen, otherwise NO_COMMIT. |
| findings | Yes | All matched patterns. Empty list if verdict is COMMIT. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| input_hash | Yes | Hash of the screened text (raw content is never stored). |
| chain_index | Yes | Sequential index of this record in the audit chain. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the sparse all-false annotations: it discloses the exact decision thresholds (NO_COMMIT for any critical, or two+ major), the confidence asymmetry (~0.55 vs ~0.05-0.2), and the presence of regulatory_reference tags. It also clarifies the textual nature of the screen and its post-action role.
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 packs purpose, exclusions, severity thresholds, confidence values, and regulatory tags into three dense sentences with no filler. The core purpose is front-loaded, and every clause contributes actionable 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 two-parameter screen with an output schema, the description fully explains what gets screened, how findings are classified, and how downstream callers should interpret the NO_COMMIT results. No critical call-time information appears missing.
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 fully documents both params. The description adds no extra parameter-level detail; it only reinforces that 'response' is the text to be screened. Baseline 3 is appropriate because the schema carries the burden.
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 names a specific verb ('Screen'), a resource ('MEV & Market-Abuse Compliance'), and a concrete scope: text-level analysis of responses proposing on-chain/trading actions. It enumerates specific violation categories and explicitly distinguishes itself from a mempool/transaction analyzer, making it easy to tell apart from the many evaluate_* siblings.
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 clearly states when to use: post-action text screening for front-running, wash trading, KYC/AML red flags, and pump-and-dump/rug-pull language. It provides one exclusion (not a mempool/transaction analyzer), but does not explicitly name sibling tools or state when to prefer dcl_evaluate_trade or other compliance variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_output_sanitizerOutput Sanitizer — Final GateAInspect
FINAL-GATE Output Sanitizer ($0.02). Post-processing checkpoint that strips secrets/credentials, PII, crypto material (seed phrases, private keys, wallet addresses), internal network details (private IPs, MAC addresses, .internal/.local/.corp hostnames), and unsafe shell/SQL/path-traversal fragments from a raw model response — plus a narrow, high-precision safety net for direct self-harm-instruction-seeking and targeted-harassment phrasing (not a general toxicity classifier). Returns a single sanitized_output with every match replaced by [REDACTED]; use that instead of the original whenever verdict is NO_COMMIT. Run this as the LAST gate before a response reaches its destination — after dcl_evaluate_jailbreak_crypto/other input-side checks have already run, and immediately before dcl_commit seals the final decision. Internally re-uses the same detection tables as dcl_evaluate_secrets/dcl_evaluate_pii for the secrets/PII categories, so results stay consistent with those tools.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The raw LLM/agent response to sanitize before it is delivered to a user, downstream agent, or external system. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if the response was clean, otherwise NO_COMMIT. |
| findings | Yes | All matches found, with position/severity/category detail. Empty list if verdict is COMMIT. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| input_hash | Yes | Hash of the sanitized text (raw content is never stored). |
| risk_score | Yes | 0.0-1.0 composite severity score. |
| violations | Yes | Distinct finding types matched (e.g. ['api_key', 'internal_ip']). Empty list if verdict is COMMIT. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| redaction_count | Yes | Total number of items redacted. |
| sanitized_output | No | Input text with every match replaced by [REDACTED]. Null if verdict is COMMIT. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses the transformation behavior: "every match replaced by [REDACTED]" and "Returns a single sanitized_output." It also adds consistency context by noting it re-uses the same detection tables as dcl_evaluate_secrets/dcl_evaluate_pii. No contradiction exists with the provided 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 dense yet scannable: it front-loads the gate role, then lists redaction categories, output behavior, pipeline position, and sibling-tool consistency in compact clauses. Every sentence contributes actionable information with no filler.
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 what is redacted, how the output is shaped, where the tool sits in the pipeline, and how it relates to sibling tools. With an output schema already present, there is no missing material an agent needs to select and invoke this tool 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?
Schema description coverage is 100%, so the schema already fully documents both `response` and `agent_id`. The description reinforces that `response` means the raw model response and that the returned value should replace it, but adds no new parameter-level constraints or formatting details.
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 a precise verb-resource pair: it "strips secrets/credentials, PII, crypto material..." from "a raw model response." It also lists specific categories and explicitly says it is "not a general toxicity classifier," which sharply distinguishes it from sibling evaluate 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 gives explicit placement advice: "Run this as the LAST gate" and "after dcl_evaluate_jailbreak_crypto/other input-side checks have already run, and immediately before dcl_commit." It also tells the agent when to consume the result: "use that instead of the original whenever verdict is NO_COMMIT."
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_piiPII Detection ScanAInspect
POST-ACTION PII Detection Scan ($0.02). Regex-based scan across 8 personal-data categories, with a Luhn checksum on card numbers to reduce false positives. Any finding results in NO_COMMIT.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The text to scan for personal data: emails, phone numbers, national IDs, bank cards, IBANs, crypto addresses, IP addresses, passport numbers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if nothing was found, otherwise NO_COMMIT. |
| findings | Yes | All matches found. Empty list if verdict is COMMIT. |
| seal_text | Yes | Human-readable Leibniz Layer verification seal. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| input_hash | Yes | Hash of the scanned text (raw content is never stored). |
| risk_score | Yes | 0.0-1.0 risk score based on number and severity of findings. |
| verify_url | Yes | Public URL to independently verify this seal. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| detection_count | Yes | Number of findings. |
| categories_clear | Yes | Categories with no findings. |
| categories_checked | Yes | All checklist categories that were scanned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With all annotations false, the description carries the transparency burden and does meaningful work: it discloses that the scan is regex-based, covers 8 categories, applies a Luhn checksum for card numbers, and reports NO_COMMIT on any finding. It does not describe the output shape, but an output schema exists and there is no annotation 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?
Three short sentences front-load the action, cost, mechanism, and the critical NO_COMMIT consequence. There is no filler or repetition of schema 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?
For a simple two-parameter scan with a complete input schema and an output schema, the description provides cost, method, category scope, and the effect of findings. It is slightly incomplete in not routing the agent away from adjacent evaluate tools, but no fundamental calling detail is missing.
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 because both parameters are already fully documented. The description adds processing context such as regex categories and Luhn validation, but it does not add new meaning about agent_id or the input format 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 description clearly identifies an 8-category PII scan with regex methodology and a NO_COMMIT consequence, so the core purpose is obvious. It does not explicitly differentiate from closely related siblings like dcl_evaluate_secrets, but the PII focus and method make the tool's role specific.
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 'POST-ACTION' label and NO_COMMIT outcome imply it belongs after an action and before committing, which is useful contextual guidance. However, the description never states when to prefer this over alternatives or which sibling tools cover adjacent concerns such as secrets and safety.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_qualityContent Quality & Drift CheckAInspect
PRE-ACTION Content Quality & Drift Check ($0.03). Runs the "content_quality" policy: flags 12 absolutist or unverifiable-claim phrases (e.g. "guaranteed returns", "100% accurate", "studies show", "without a doubt") with a 0.85 minimum-confidence threshold — the highest bar of any single-policy tool. Returns NO_COMMIT if any phrase matches or confidence falls below 0.85, with reason listing the matched phrase(s). Use this to catch overconfident or unsubstantiated claims in generated content — a different concern from jailbreak or safety phrasing — e.g. before publishing agent-written copy or reports.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The agent or LLM response text to check for quality and drift. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of why the verdict was reached. |
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if the response passed policy checks, otherwise NO_COMMIT. |
| seal_text | Yes | Human-readable Leibniz Layer verification seal. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| drift_mode | Yes | Current drift status: NORMAL, WARNING, ESCALATION, or BLOCK. |
| input_hash | Yes | Hash of the evaluated response (raw content is never stored). |
| verify_url | Yes | Public URL to independently verify this seal. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| drift_score | Yes | Z-score measuring deviation of the recent commit rate from baseline. |
| policy_version | Yes | Version of the policy that was applied. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry little behavioral weight here (all hints false), so the description carries the burden and does so thoroughly: it discloses the $0.03 cost, the 0.85 minimum-confidence threshold, the NO_COMMIT return condition, and the `reason` output field. This gives the agent concrete expectations beyond what the schema provides.
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 dense but efficient, packing the threshold, phrase set, examples, return behavior, cost, and intended use into a short paragraph. Every sentence contributes purposeful guidance with no filler.
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 is fully described in context: what it checks, when to use it, how it differs from siblings, what triggers NO_COMMIT, and what the reason field contains. The output schema exists and the description still sketches the key return behavior, so an agent can select and invoke it confidently.
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 baseline is 3. The description does not add significant parameter-specific meaning beyond framing the response as generated content, but the schema already documents both parameters clearly.
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 names the specific resource ('content_quality' policy) and the exact action: flagging 12 absolutist or unverifiable-claim phrases. It also differentiates this from jailbreak or safety phrasing, making it easy to distinguish from sibling evaluate 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?
It explicitly says 'Use this to catch overconfident or unsubstantiated claims in generated content' and gives a concrete use case: before publishing agent-written copy or reports. It also draws a boundary by noting this is 'a different concern from jailbreak or safety phrasing.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_safetyBaseline Safety CheckAInspect
PRE-ACTION Baseline Safety Check ($0.01). Runs the "safety" policy: flags 2 forbidden disclaimers ("I cannot be held responsible", "no guarantees") and additionally REQUIRES the substring "AI" to appear somewhere in the response — missing it costs 0.2 confidence even with no forbidden phrase present. Minimum confidence is 0.75. Returns NO_COMMIT if confidence drops below 0.75, with reason naming the forbidden phrase found or the missing required pattern. Use this when you specifically need to confirm an AI-disclosure marker is present and the two disclaimer phrases are absent — not as a general-purpose safety net; for broader coverage use dcl_evaluate_fast or dcl_evaluate_strict instead.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The agent or LLM response text to check for safety violations. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of why the verdict was reached. |
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if the response passed policy checks, otherwise NO_COMMIT. |
| seal_text | Yes | Human-readable Leibniz Layer verification seal. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| drift_mode | Yes | Current drift status: NORMAL, WARNING, ESCALATION, or BLOCK. |
| input_hash | Yes | Hash of the evaluated response (raw content is never stored). |
| verify_url | Yes | Public URL to independently verify this seal. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| drift_score | Yes | Z-score measuring deviation of the recent commit rate from baseline. |
| policy_version | Yes | Version of the policy that was applied. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses far more than the annotations: the $0.01 cost, confidence penalty of 0.2, minimum confidence threshold of 0.75, NO_COMMIT return behavior, and how the reason field is populated. Annotations are limited and do not conflict with this rich behavioral detail.
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 dense but every sentence earns its place: cost, policy details, scoring behavior, return behavior, and usage guidance. It is front-loaded with the tool name and price, and uses clear separators to organize policy versus usage.
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 output schema exists and the annotations are minimal, the description provides everything an agent needs to correctly invoke the tool: exact inputs, policy, thresholds, return behavior, reason field content, and routing to alternative tools. Nothing material is left to inference.
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 fully documents response and agent_id. The description adds functional context about how the response text is evaluated, but it does not add new parameter-level meaning beyond what the schema states.
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 names a specific verb and resource: 'Baseline Safety Check' that runs the 'safety' policy. It precisely defines the forbidden disclaimers and the required 'AI' substring, and distinguishes this tool from siblings by stating it is not a general-purpose safety net.
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 tells the agent when to use this tool: when an AI-disclosure marker must be present and the two disclaimer phrases must be absent. It also gives the exclusions and alternatives, saying to use dcl_evaluate_fast or dcl_evaluate_strict for broader coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_secretsSecret & Credential Leak ScanAInspect
POST-ACTION Secret & Credential Leak Scan ($0.02). Regex-based scan across 8 categories (API keys, cloud credentials, tokens/JWTs, private keys, DB URLs, connection strings, env assignments, webhook secrets, internal endpoints with auth). Any finding results in NO_COMMIT.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The text to scan for exposed API keys, tokens, private keys, DB URLs, and other credentials. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if nothing was found, otherwise NO_COMMIT. |
| findings | Yes | All matches found. Empty list if verdict is COMMIT. |
| seal_text | Yes | Human-readable Leibniz Layer verification seal. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| input_hash | Yes | Hash of the scanned text (raw content is never stored). |
| risk_score | Yes | 0.0-1.0 risk score based on number and severity of findings. |
| verify_url | Yes | Public URL to independently verify this seal. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| detection_count | Yes | Number of findings. |
| categories_clear | Yes | Categories with no findings. |
| categories_checked | Yes | All checklist categories that were scanned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, the description discloses the detection method ('regex-based'), the category scope, the cost, and the gate behavior ('Any finding results in NO_COMMIT'). It does not explain what happens on a clean scan or whether findings are severity-ranked, but the output schema and simple annotations reduce the severity of that omission.
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 compact and information-dense: two sentences convey timing, cost, method, target categories, and outcome. There is no filler, and the most important usage constraint is front-loaded with 'POST-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?
For a tool with only two string parameters, complete schema descriptions, and an output schema, the description covers purpose, timing, and behavioral outcome adequately. It could be more explicit about when to choose this tool over sibling evaluate tools and what a no-finding result returns, but those are minor 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%, with clear descriptions for both 'response' and 'agent_id'. The description confirms that the response is the text to scan and adds credential categories, but it does not need to provide further parameter-level semantics. Baseline 3 is appropriate because the schema already carries the semantic load.
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 names a specific operation ('scan') and resource ('secrets and credentials'), and further specifies the scope with concrete categories such as API keys, cloud credentials, tokens/JWTs, and private keys. This differentiates it from sibling evaluate tools like dcl_evaluate_pii or dcl_evaluate_safety.
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 'POST-ACTION' prefix and 'Any finding results in NO_COMMIT' give useful pipeline context, indicating the tool runs after an action and gates the commit. However, there is no explicit guidance about when to prefer this tool over sibling secrets-related or other evaluate tools, so the agent must infer selection from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_signalMarket Signal Fabrication ScreenAInspect
POST-ACTION Market Signal Fabrication Screen ($0.03). Pattern-based heuristic on the output text alone (no source price feed) — flags guaranteed-price-prediction language ("will definitely hit $X"), absolute-certainty claims ("100% certain", "cannot go down"), a fabricated-price flag when a specific dollar figure co-occurs with a guaranteed-outcome claim, and an invented-token flag when a "$TICKER" cashtag doesn't match a small set of well-known symbols (false positives are possible for legitimate lesser-known tickers — this is a heuristic pre-check, not ground truth). For a full claim-by-claim check against an actual price-feed snapshot, use the local grounding workflow instead of this live tool. Verdict/confidence collapsing follows the same rule as dcl_evaluate_mev: any critical finding or 2+ major findings is a hard NO_COMMIT; exactly one major finding is a softer NO_COMMIT at ~0.55 confidence.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The market signal, analysis, or price-prediction text to screen. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of the verdict. |
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if no fabrication/overconfidence pattern matched, otherwise NO_COMMIT. |
| findings | Yes | All matched patterns. Empty list if verdict is COMMIT. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| input_hash | Yes | Hash of the screened text (raw content is never stored). |
| chain_index | Yes | Sequential index of this record in the audit chain. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no useful annotation hints (readOnly/destructive/idempotent all false), the description carries the burden and discloses key traits: it runs 'on the output text alone (no source price feed)', is not ground truth, and has false positives for lesser-known tickers. It also explains the verdict/confidence collapsing rule. It doesn't mention side effects, but this is a screening tool and no modification is implied.
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?
Dense single paragraph is front-loaded with title and cost, and each clause adds information about inputs, limitations, alternatives, or decision logic. It is longer than strictly necessary and could be broken into bullets, but there is no filler.
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 2-parameter tool with an output schema, the description is operationally sufficient: it defines inputs, behavior, limitations, cost, alternative workflow, and output decision rules. Nothing required to select and call the tool is missing.
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 100% of parameters, so baseline is 3. The description does not add parameter-level semantics beyond what the schema already states, though it reinforces that 'response' is the text being screened.
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 names a specific verb+resource: it screens market signal text for fabrication. It details four concrete flags and explicitly contrasts itself with 'the local grounding workflow' and references 'dcl_evaluate_mev', so an agent can distinguish it from siblings.
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 states when to prefer the alternative: 'For a full claim-by-claim check against an actual price-feed snapshot, use the local grounding workflow instead of this live tool.' It also characterizes itself as a 'heuristic pre-check', implying the quick-screening use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_strictStrict Pre-Action AuditAInspect
STRICT Pre-Action Audit ($0.05). Runs the response against a broader, higher-bar "strict" policy: the union of all forbidden phrases from the default, anti-jailbreak, and safety policies (8 phrases total), with a 0.85 minimum-confidence threshold instead of the default policy's 0.7. Each matched phrase costs 0.4 confidence; if confidence falls below 0.85, or any phrase matches, the verdict is NO_COMMIT with reason listing every match found. Use this instead of dcl_evaluate_fast when the cost of a false COMMIT is high — e.g. before an irreversible or high-stakes agent action — since it catches jailbreak- and safety-adjacent phrasing that the plain default policy would miss.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The agent or LLM response text to audit. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of why the verdict was reached. |
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if the response passed policy checks, otherwise NO_COMMIT. |
| seal_text | Yes | Human-readable Leibniz Layer verification seal. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| drift_mode | Yes | Current drift status: NORMAL, WARNING, ESCALATION, or BLOCK. |
| input_hash | Yes | Hash of the evaluated response (raw content is never stored). |
| verify_url | Yes | Public URL to independently verify this seal. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| drift_score | Yes | Z-score measuring deviation of the recent commit rate from baseline. |
| policy_version | Yes | Version of the policy that was applied. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, providing no behavioral cues, so the description carries the full burden. It discloses cost ($0.05), policy composition (union of three policies), threshold mechanics (0.85 vs 0.7), per-phrase confidence penalty (0.4), and exact verdict behavior (NO_COMMIT with reason listing all matches). There is 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 dense but every sentence earns its place: cost, policy scope, threshold, penalty, verdict behavior, and routing guidance. The most important differentiator (when to use it) is front-loaded and repeated in the final sentence, and no filler or redundant language appears.
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 fully equips an agent to call this tool correctly: it explains the strict policy, the confidence mechanics, the output verdict, and the reasoning in 'reason'. Since an output schema exists and the closest sibling is explicitly distinguished, there is no missing decision-critical 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 description coverage is 100%, with both 'response' and 'agent_id' documented in the input schema. The description does not add new parameter-level meaning beyond what the schema already provides, so the 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 uses a specific verb ('runs the response against') and resource ('broader, higher-bar strict policy'), then adds concrete mechanics: 8 forbidden phrases, 0.85 minimum-confidence threshold, and NO_COMMIT verdict. It clearly differentiates from sibling dcl_evaluate_fast by explicitly contrasting the stricter policy and threshold.
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 states when to use this tool: 'Use this instead of dcl_evaluate_fast when the cost of a false COMMIT is high' and gives a concrete example ('before an irreversible or high-stakes agent action'). It names the alternative and the condition, leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_tradeTrade Decision VerifierAInspect
PRE-ACTION Trade Decision Verifier ($0.02). Screens trade-decision language for guaranteed-return claims, zero-risk/"can't lose" framing, and unqualified "buy/sell X now" directives — any match is NO_COMMIT. If no unsafe language is found, COMMIT additionally requires the word "risk" to appear anywhere in the text as a minimum disclosure marker; its absence alone triggers NO_COMMIT with reason noting the missing disclosure. Produces an immutable trade_receipt (tx_hash/chain_hash/chain_depth) distinct from the top-level audit hash, for downstream systems that specifically need a trade-shaped receipt object.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The trade decision or recommendation text to screen. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of the verdict. |
| verdict | Yes | COMMIT if the trade decision's language passed the screen, otherwise NO_COMMIT. |
| findings | Yes | All matched patterns. Empty list if verdict is COMMIT. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| input_hash | Yes | Hash of the screened text (raw content is never stored). |
| trade_receipt | Yes | Immutable receipt for this trade-verification record. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With minimal annotation coverage (all hints false), the description carries the behavioral burden and does so thoroughly. It discloses the full decision logic: any unsafe match yields NO_COMMIT, the 'risk' keyword is required for COMMIT, and its absence alone triggers NO_COMMIT with a reason. It also explains the distinct immutable trade_receipt output and its purpose.
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 dense but every sentence contributes: the first states purpose and cost, the second and third define the evaluation rules and output decision, and the fourth explains the receipt object. It is front-loaded and contains no filler or redundant restatement of the schema.
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's moderate complexity, the annotations provide little support, and an output schema exists to cover return-value structure, the description is complete. It explains what is screened, the exact conditions for NO_COMMIT and COMMIT, the role of the 'risk' marker, and why the trade_receipt exists. An agent has enough information to invoke 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?
Schema description coverage is 100%, so the baseline is 3; both response and agent_id are already described in the schema. The tool description adds useful context about what the response text is screened for, but it does not meaningfully extend parameter-level 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 uses a specific verb ('screens') and resource ('trade-decision language'), then names the exact criteria it checks: guaranteed-return claims, zero-risk/'can't lose' framing, and unqualified 'buy/sell X now' directives. This clearly distinguishes it from the sibling dcl_evaluate_* tools, which are generic or focused on other content types.
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 establishes clear context: this is a PRE-ACTION verifier for trade decisions, and it specifies exactly what kind of text is appropriate ('trade decision or recommendation text'). It does not explicitly name alternatives or state when not to use it, but the scope is specific enough that an agent can infer the right use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_evaluate_walletWallet Secret GuardianAInspect
POST-ACTION Wallet Secret Guardian ($0.02). Scans for BIP-39 seed phrases (12 or 24 consecutive wordlist words), raw hex or WIF-format private keys, Ethereum/Bitcoin wallet addresses, and API keys/bearer tokens appearing near wallet/custody/signing terminology. Any finding results in NO_COMMIT — wallet secrets have no safe threshold, unlike other DCL evaluators. Returns a sanitized_output with all matches redacted (null if nothing was found) and a masked redacted_sample per finding — the real value is never returned or stored server-side.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Identifier of the agent that produced the response. | |
| response | Yes | The text to scan for seed phrases, private keys, wallet addresses, and wallet-context API credentials. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | Human-readable explanation of the verdict. |
| tx_hash | Yes | Hash of this record in the tamper-evident audit chain. |
| verdict | Yes | COMMIT if nothing was found, otherwise NO_COMMIT. Wallet secrets have no safe threshold. |
| findings | Yes | All matches found. Empty list if verdict is COMMIT. |
| timestamp | Yes | Unix timestamp when this record was sealed. |
| confidence | Yes | Confidence score of the verdict, from 0.0 to 1.0. |
| input_hash | Yes | Hash of the scanned text (raw content is never stored). |
| risk_score | Yes | 0.0-1.0 risk score based on number and severity of findings. |
| chain_index | Yes | Sequential index of this record in the audit chain. |
| policy_version | Yes | Version of the wallet-guardian policy that was applied. |
| sanitized_output | No | Input text with all matches redacted. Null if verdict is COMMIT. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond annotations by explaining that findings result in NO_COMMIT, the real value is never returned or stored server-side, matches are redacted, and the output contains sanitized_output and masked redacted_sample. This provides strong behavioral transparency for a sensitive security scanner.
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 information-dense but every sentence adds value: it states cost, input scope, decision behavior, output structure, and security guarantees. There is no padding or repetition, and the most critical behavioral fact (NO_COMMIT) is 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?
The description is complete for a sensitive evaluation tool. It explains what gets scanned, what happens on findings (NO_COMMIT), what is returned (sanitized_output and redacted_sample), and the security invariant (real value never returned or stored). With an output schema present and only two parameters, nothing essential is missing.
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 both parameters (response and agent_id) are adequately described in the schema. The description reinforces what response should contain but adds little parameter-level detail beyond the schema, so 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 states a specific verb ('Scans for') and a precise resource: BIP-39 seed phrases, raw hex/WIF private keys, Ethereum/Bitcoin addresses, and API keys/bearer tokens in wallet contexts. It clearly distinguishes itself from other evaluators by noting that wallet secrets have no safe threshold and any finding results in NO_COMMIT.
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 states when to use this tool: for responses appearing near wallet/custody/signing terminology. It also contrasts it with other DCL evaluators, explaining that unlike them, wallet secrets have no safe threshold — making it clear this tool is the appropriate choice for wallet-secret detection where other evaluators' thresholds would be inadequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dcl_pipeline_startStart Pipeline SessionAInspect
SESSION Management ($0.05). Generates a new pipeline_id and returns session metadata (scope, expiry, initial drift_mode) for organizing a series of related checks under one identifier. Note: this call does not currently link the returned pipeline_id to later evaluate_* calls — there is no server-side session state that ties subsequent audits back to it; it is an identifier/timestamp issuer, not an active tracking session. Use this to obtain a shared reference ID for your own client-side grouping of a multi-step audit sequence; do not rely on it to automatically aggregate drift across calls.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Scope label for the session. | default |
| agent_id | Yes | Identifier of the agent that owns this session. | |
| ttl_seconds | No | Session time-to-live, in seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | Yes | Scope label for the session. |
| agent_id | Yes | Identifier of the agent that owns this session. |
| drift_mode | Yes | Drift status at session start (always NORMAL for a new session). |
| expires_at | Yes | Unix timestamp when the session expires. |
| pipeline_id | Yes | Unique identifier for the newly opened pipeline session. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds crucial behavioral context beyond the annotations by disclosing that there is no server-side session state and that the pipeline_id is not connected to subsequent evaluate_* calls. It also mentions the cost and the returned metadata fields, giving the agent an accurate model of what the tool does and does not do.
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 front-loaded with the core action and uses a follow-up sentence for important caveats and usage guidance. It is a bit long and somewhat repetitive around the 'no session state' idea, but every sentence contributes value.
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 three-parameter tool with an output schema available, the description covers the generated ID, returned metadata, intended use, monetary cost, limitations, and non-linkage to later audit calls. Nothing required for correct invocation and expectation-setting is missing.
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 fully documents all three parameters with descriptions and defaults, so the description does not need to explain them. The description adds little parameter-level detail beyond mentioning scope and expiry in the return metadata, placing it at the schema-covered baseline 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 a specific action and resource: 'Generates a new pipeline_id and returns session metadata.' It also differentiates this tool from the many evaluate_* siblings by explicitly positioning it as an identifier/timestamp issuer rather than an active tracking session.
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 provides explicit usage instructions: 'Use this to obtain a shared reference ID for your own client-side grouping of a multi-step audit sequence.' It also gives a clear exclusion: 'do not rely on it to automatically aggregate drift across calls,' and warns that later evaluate_* calls are not linked to this ID.
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.
18 tool updates
- Changed
dcl_audit_decode1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_audit_decode_deep1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_commit1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_batch1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_fast1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_jailbreak1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_jailbreak_crypto1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_mev1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_output_sanitizer1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_pii1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_quality1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_safety1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_secrets1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_signal1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_strict1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_trade1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_evaluate_wallet1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
- Changed
dcl_pipeline_start1 field changed- removed
Input schema / properties / payment_idRemoved value: -{ - "default": "", - "description": "Optional payment identifier returned by a previous call when payment is required", - "title": "Payment Id", - "type": "string" -}
18 tool updates
- First observed
dcl_audit_decode - First observed
dcl_audit_decode_deep - First observed
dcl_commit - First observed
dcl_evaluate_batch - First observed
dcl_evaluate_fast - First observed
dcl_evaluate_jailbreak - First observed
dcl_evaluate_jailbreak_crypto - First observed
dcl_evaluate_mev - First observed
dcl_evaluate_output_sanitizer - First observed
dcl_evaluate_pii - First observed
dcl_evaluate_quality - First observed
dcl_evaluate_safety - First observed
dcl_evaluate_secrets - First observed
dcl_evaluate_signal - First observed
dcl_evaluate_strict - First observed
dcl_evaluate_trade - First observed
dcl_evaluate_wallet - First observed
dcl_pipeline_start
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Reputation oracle for AI agents on Base: SAFE/CAUTION/BLOCK + 0-100 score before you pay. x402+MCP
Policy-gated MCP treasury for AI agents — x402 subscribe, 50+ tools, multi-chain.
15 paid AI agent primitives via x402 (USDC on Base). Pay-per-call MCP server.
Paid KYC, AML, and regulatory risk assessment over MCP via x402 USDC micropayments on Base.
Related MCP Servers
- AlicenseAqualityCmaintenancePolicy-gated MCP execution for AI agents—ShadeGuard, x402, signed receipts, no custody. 16 tools, 18 chains.182MIT
- AlicenseAqualityDmaintenanceAudit infrastructure for AI agents to log consequential decisions (invoice, GL, anomaly) and verify attestations via MCP tools.6MIT
- AlicenseAqualityBmaintenanceUniversal governance layer for AI agents — MCP-native, fail-closed, LNN interpretability. Governed receipts, IPFS audit proofs, and rollback for any agent in any framework.382Apache 2.0

thoughtproof-mcpofficial
AlicenseBqualityBmaintenanceAdversarial multi-model reasoning verification for AI agents. Claude, Grok, and DeepSeek challenge each decision — returns ALLOW or HOLD with JWKS-signed attestation. x402-gated on Base.11121MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
There is meaningful overlap among the many dcl_evaluate_* variants (e.g., fast/strict/jailbreak/safety, secrets/wallet/pii, mev/signal/trade), so an agent could easily pick the wrong one. The descriptions are detailed and do help, but the boundaries between policies are subtle enough that the set is not clearly disambiguated.
The dcl_evaluate_* family is highly consistent, and the remaining tools (dcl_commit, dcl_audit_decode, dcl_audit_decode_deep, dcl_pipeline_start) still follow the same snake_case dcl_ prefix convention. Minor deviations like using adjectives/adverbs in evaluate_fast/strict and noun-verb ordering in dcl_pipeline_start keep it from a perfect 5.
18 tools is on the heavy side, especially since many are single-policy evaluators that could arguably be consolidated behind a policy parameter. That said, the tool count is justified by distinct pricing tiers and the breadth of audit categories, so it is borderline rather than excessive.
The audit lifecycle is well covered: pre-action evaluation, post-action scans, sanitization, final commit, and on-chain retrieval/verification. Minor gaps exist—no list/query tool for the append-only chain and no way to define custom policies—but the core workflows have no dead ends.