agent-arbitration
Server Details
Deterministic, machine-verifiable dispute resolution for A2A escrows.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- jdhart81/viridis-agent-fleet
- GitHub Stars
- 0
- Server Listing
- viridis-agent-fleet
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
Each tool targets a distinct step in the arbitration lifecycle (file, get, list, evidence, trust, rule, verify), so an agent can tell them apart. The only soft overlap is between rule and verify_ruling, but their descriptions clearly separate issuing a ruling from recomputing it.
Most names follow a predictable verb_noun pattern (file_case, get_case, list_cases, submit_evidence, set_trust_scores, verify_ruling). The bare verb 'rule' is the sole deviation, though its description makes its meaning clear.
Eight tools map cleanly onto the arbitration workflow without redundancy. Each tool earns its place, and the set is neither thin nor bloated.
The surface covers the core lifecycle: case creation, retrieval/listing, evidence submission, trust inputs, ruling, and verification. Minor gaps exist, such as an explicit close-evidence operation or appeal/reopen path, but agents can work around them.
Available Tools
8 toolsdescribe_agentDescribe this serviceARead-onlyIdempotentInspect
Describe this agent: name, version, purpose, every action it supports and the inputs each one takes. Read-only and free; call it first to learn how to use this server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, and non-destructive, so the safety profile is covered. The description adds useful context beyond that: it is 'free' (no cost/side effects) and it returns the full action-and-input inventory, which tells the agent what to expect from calling it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the returned payload and followed by the usage directive. Minor redundancy in restating 'describe this agent' from the name, but nothing wasteful enough to penalize further.
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 zero-parameter discovery tool with an output schema present, the description supplies everything needed: what it returns, that it is read-only and free, and that it should be invoked first. Given the rich annotation set and output schema, no gaps remain.
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 tool takes zero parameters, so per the baseline rule this scores 4. The description correctly implies there is nothing to supply by framing the call as an unconditional discovery step.
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?
States a specific verb (describe) and resource (this agent) and enumerates the exact content returned: name, version, purpose, supported actions, and each action's inputs. This is unmistakably a self-discovery/meta tool, which no sibling (create_meter, record_usage, sla_report, etc.) duplicates.
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?
Gives an explicit call-ordering rule: 'call it first to learn how to use this server.' That is strong, actionable when-to-use guidance. It does not explicitly say when not to call it (e.g., after the server capabilities are already known), which is why it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_caseFile caseAInspect
File a dispute over an escrow. Opens the evidence window. Parties must be distinct; amount is in minor currency units (cents).
| Name | Required | Description | Default |
|---|---|---|---|
| claimant | Yes | ||
| escrow_id | Yes | ||
| respondent | Yes | ||
| amount_minor | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish readOnly=false, destructive=false, idempotent=false, openWorld=false. The description adds value beyond that: it discloses the state transition (evidence window opens) and a validation rule (parties must be distinct). It does not mention that non-idempotent calls may create duplicate cases or who is authorized to file, which would have pushed it to a 5.
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 with the action front-loaded, followed by the state effect and the two constraints that matter. No filler and nothing repeated from the title or annotations.
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?
An output schema exists, so return values need no explanation. However, for a non-idempotent four-parameter mutation with zero schema coverage, the description omits failure behavior (duplicate case, invalid parties, missing escrow) and authorization requirements, leaving meaningful 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 0% with four required params, so the description must carry the load. It does explain the two non-obvious ones: amount_minor is in minor currency units (cents) and claimant/respondent must be distinct. escrow_id is left entirely unexplained, and nothing ties claimant/respondent to participant identifiers on the escrow.
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 concrete verb and resource ('File a dispute over an escrow') and adds the consequential side effect ('Opens the evidence window'), which clearly separates it from read-side siblings like get_case and list_cases. It stops short of explicitly naming the sibling it is not (e.g. submit_evidence for the later step), so a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'Opens the evidence window' hints that this precedes submit_evidence, but there is no explicit when-to-use, when-not, or statement about prerequisites (e.g. escrow must exist, parties must be escrow participants). An agent can infer the workflow position but not the gating conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_caseGet caseARead-onlyIdempotentInspect
Fetch the full case record, including any ruling.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds that the returned record includes the ruling, which is genuine content beyond the annotations, but says nothing about what happens when the case_id is unknown or lacks a ruling. 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?
A single ten-word sentence with the scope-defining detail (the ruling) front-loaded after the core action. Nothing is redundant and nothing could be trimmed without losing meaning.
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 one-parameter read tool with full annotation coverage and an output schema that describes the return shape, the description covers the essentials. The only meaningful gap is the origin/format of case_id, which a slightly longer description could have closed.
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 0%, so the single case_id parameter is documented nowhere beyond its name and type. The description does not say where the identifier comes from (for example list_cases or file_case) or what format it takes, leaving the one input underspecified even though its purpose is intuitive.
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?
"Fetch the full case record" names a specific verb and resource, and "full ... including any ruling" signals it returns the complete object rather than a summary, which implicitly separates it from list_cases. It stops short of naming any sibling explicitly, so the differentiation is inferential rather than stated.
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 when-to-use guidance, no prerequisites, and no named alternative. The phrase "including any ruling" hints that a separate ruling lookup may be unnecessary, but the agent must infer that this tool is the detailed follow-up to list_cases rather than being told so.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_casesList casesARead-onlyIdempotentInspect
List cases, optionally filtered by state (FILED|EVIDENCE_OPEN|RULED).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered elsewhere. The description adds essentially nothing behavioral beyond annotations — no ordering, pagination, volume, or scope caveats — leaving only the mild implication that omitting the filter returns all cases.
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?
One sentence, front-loaded with the action and immediately followed by the only meaningful constraint. Nothing is wasted or buried.
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 single-optional-parameter read tool with an output schema and rich annotations, the description covers purpose and the parameter's allowed values, which is the critical gap the schema leaves. Only result ordering/paging expectations are unaddressed, and those are minor here.
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 0% and the schema declares state as a bare string with no enum, so the description's enumeration of FILED|EVIDENCE_OPEN|RULED supplies information available nowhere else. It does not state what happens to invalid values or the default beyond "optionally".
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 specific verb+resource ("List cases") and names the one filter dimension, which distinguishes it from the singular get_case sibling. It stops short of explicitly differentiating list-from-get, so not a 5.
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?
"optionally filtered by state" implies that calling with no argument returns everything, but there is no explicit when-to-use/when-not guidance and no mention of get_case for retrieving a single case. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ruleRuleBInspect
Issue the deterministic ruling: allocates 100% of the disputed amount from evidence weights + trust scores, and emits an escrow instruction (release/refund). Exactly-once — re-ruling returns the existing ruling.
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds genuinely useful behavior (allocation basis, escrow emission, exactly-once semantics), but it conflicts with structured data: 'Exactly-once — re-ruling returns the existing ruling' asserts idempotent behavior while idempotentHint=false says repeated calls have additional effect. Likewise, emitting a release/refund escrow instruction is an irreversible financial action, which sits awkwardly against destructiveHint=false; the agent gets contradictory signals about retry and reversal safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action, then the mechanism and the exactly-once guarantee. No filler, no restatement of the title.
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?
An output schema exists, so return values need not be described, and the core mechanics are covered. What is missing for a state-changing, financially consequential tool is preconditions, error behavior (e.g., insufficient evidence), permission requirements, and any warning about irreversibility, which the annotations actively understate.
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?
There is only one parameter, case_id, with 0% schema description coverage, and the description does not mention it at all. Its meaning is largely self-evident from the sibling tools, so this is a modest gap rather than a blocking one, but the description does nothing to compensate for the missing schema text.
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 and resource ('Issue the deterministic ruling') and explains the mechanism: allocation of 100% of the disputed amount from evidence weights and trust scores, plus an escrow instruction (release/refund). That effect chain distinguishes it in practice from siblings like verify_ruling and set_trust_scores, though it never names those alternatives explicitly.
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 states what the ruling does but not when it should be invoked: no prerequisites (must evidence be submitted, must trust scores be set first?), no indication of how it relates to verify_ruling, and no guidance on what to do if the case is not ready. The agent must infer the workflow position from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_trust_scoresSet trust scoresCInspect
Attach trust-oracle reputation scores (party -> [0,1]) as ruling inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| scores | Yes | ||
| case_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds only that the scores become 'ruling inputs', but it never says whether existing scores are replaced or merged, what the idempotentHint=false implication means in practice, or what preconditions the case must satisfy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. Its brevity is close to under-specification, but nothing in it is wasted.
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?
This is a mutating tool with a nested object parameter inside a multi-step case workflow, and the description omits preconditions, overwrite semantics, and its place relative to rule and verify_ruling. An output schema exists, so return values need not be explained, but the call-time context is still thin.
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 0%, so the description carries the burden, and it does partially compensate by explaining that scores maps a party to a value in [0,1]. The case_id parameter is left entirely unexplained, and the format of the 'party' key is not specified.
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 verb 'Attach' and resource 'trust-oracle reputation scores' give a rough sense of the operation, and the parenthetical '(party -> [0,1])' clarifies the data shape. However, the phrasing is jargon-heavy and does not distinguish this tool from workflow siblings such as rule, submit_evidence, or verify_ruling, which also feed a case's ruling inputs.
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 when-to-use guidance, no prerequisite state for the case, and no mention of alternatives. An agent cannot tell from the description whether this must be called before verify_ruling, whether it can be called repeatedly, or when trust scores should be supplied at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_evidenceSubmit evidenceAInspect
Submit evidence while the case is open. kind: delivery_proof (weight 3), log (2), or statement (1). Only the named parties may submit.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| party | Yes | ||
| case_id | Yes | ||
| content | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), so the bar is lower. The description adds genuine behavioral context beyond that: an open-case precondition and a party authorization rule. It still omits whether resubmission duplicates evidence (relevant given idempotentHint=false) and what happens to evidence after the case closes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the precondition and the highest-value parameter detail. The telegraphic "kind: delivery_proof (weight 3), log (2), or statement (1)" is dense but readable; no filler sentences.
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?
An output schema exists, so return values need no explanation. However, for a 4-parameter mutation tool with 0% schema coverage, the description leaves content unexplained and does not say what the weights mean for downstream evaluation — gaps an agent would have to guess at.
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 0%, so the description must carry the weight. It does a good job on kind, enumerating the three allowed values with their relative weights, but case_id, party (only hinted at via "named parties"), and especially content are left entirely undefined.
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 ("Submit evidence") and adds a real precondition ("while the case is open"), so an agent can distinguish it from read-side siblings like get_case and list_cases. It never explicitly contrasts with file_case or rule, so differentiation is inferred rather than stated.
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 gives two concrete selection constraints: the case must be open, and only named parties may submit. That is stronger than typical implied usage, but it offers no guidance on when a case should be filed versus when evidence should be submitted, and no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_rulingVerify rulingBRead-onlyIdempotentInspect
Recompute the ruling from its cited evidence + trust inputs and check it matches the stored allocation (machine-checkable justice).
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety behavior is covered. The description adds that the tool recomputes from cited evidence and trust inputs and compares against stored allocation, but it does not explain mismatch handling or other operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with little waste. The parenthetical 'machine-checkable justice' is slightly decorative but does not obscure the core meaning.
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 one parameter, rich annotations, and an output schema, the description covers the core action adequately. However, it leaves gaps around when to invoke the tool and what case_id represents, which are relevant for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never mentions the sole parameter case_id. It refers to 'its cited evidence' but does not clarify what case_id identifies or how it is used.
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 and resource: 'Recompute the ruling' and 'check it matches the stored allocation.' It is clear what the tool does, though it does not explicitly distinguish itself from siblings such as rule or get_case.
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, nor any when-not-to-use conditions. The verification purpose is implied, but the agent must infer the workflow context.
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.
8 tool updates
- First observed
describe_agent - First observed
file_case - First observed
get_case - First observed
list_cases - First observed
rule - First observed
set_trust_scores - First observed
submit_evidence - First observed
verify_ruling
Related MCP Connectors
Trustless escrow & settlement for A2A transactions: exactly-once state machine, frozen fees, tamper-
Agent-to-agent dispute resolution and arbitration with on-chain settlement
Escrow, verification, and settlement platform for AI agents hiring other AI agents.
Trust layer for x402 A2A trades: reputation, pre-hire checks, escrow, disputes, delegation chains
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceNon-custodial 2-of-3 Bitcoin escrow for AI agents. Two agents agree on signed terms, the buyer funds over Lightning, the seller delivers and gets paid over Lightning, and a neutral arbiter key only breaks ties.501 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables multi-party conditional escrow locking, autonomous proof-of-delivery release triggers, referral fee splits, and dispute freeze protection for agentic commerce and enterprise settlement workflows.7MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables multi-party conditional escrow locking, autonomous proof-of-delivery release triggers, referral fee splits, and dispute freeze protection for agentic commerce and enterprise settlement workflows.MIT
- AlicenseAqualityCmaintenancePrivate escrow for AI agent work on Beam mainnet an agent locks payment, the worker locks collateral, and delivery settles on hash match or review, with M of N arbitrator voting and slashable worker bonds as the dispute backstop. 22 tools cover the full contract lifecycle, and dispute voting is deliberately not an agent tool, so an agent can never rule in its own favour.26MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.