Skip to main content
Glama

ASPERN: counterparty checks for agents

Every edge we hold about one subject

evidence_for
Read-onlyIdempotent

Everything we hold about one subject, as edges, each carrying where it came from. Use it when you need to explain a decision rather than just make one, or to see what is MISSING before you act. Every edge has source, observedAt (when the world was in that state), asOf (when we read it — a fresh read of a stale fact is not a fresh fact), a confidence that names what it is confident IN, its own coverage, and the method that established it. Edges come in three kinds and are NEVER summed: declared is the subject speaking about itself, observed is our reading, derived is arithmetic over the others. Adding them together rebuilds the reputation score this replaces. It infers NO identity: a shared host or funder is reported as exactly that, because being the same party is a conclusion no join supports. lookedForAndMissing lists what we searched for and did not find, so a thin subject never reads as a complete picture. Free.

Input Schema

NameRequiredDescriptionDefault
subjectYesAn address, or the http(s) URL of an endpoint.

Output Schema

NameRequiredDescriptionDefault
metaNoHow current this answer is and what it was read from: `freshness` and the ages behind it. Present on every answer from this server, whatever the tool.
saysYesWhat the evidence amounts to, in one sentence. Never a verdict: this tool reports edges and leaves the conclusion to the caller.
edgesYesEach with claim, object, kind, source, observedAt, asOf, confidence {value, in}, coverage and method.
kindsNoWhat declared, observed and derived each mean.
countsYesEdges by kind. NOT a score: the three are reported apart and never added.
limitsNoWhat this graph cannot contain. Declared, observed and derived are different kinds of fact and are never added together; `counts` keeps them apart for the same reason.
subjectYesWhat was asked about, read back. Where we resolved it to something else, this is the resolved form.
warningsNoAnything the server wants a caller to know about THIS answer before acting on it. Empty is the normal case and is not a guarantee.
subjectKindNoWhat we took the subject to BE. `unknown` means we could not classify it, so the empty edge list below is our failure to look rather than a finding about the subject.
lookedForAndMissingNoWhat we searched for and did not find, with why. Listed rather than omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / meta
      Added value: +{
      +  "description": "How current this answer is and what it was read from: `freshness` and the ages behind it. Present on every answer from this server, whatever the tool.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "description": "Anything the server wants a caller to know about THIS answer before acting on it. Empty is the normal case and is not a guarantee.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Changed4 schema fields changed
    • addedOutput schema / properties / limits / description
      Added value: +"What this graph cannot contain. Declared, observed and derived are different kinds of fact and are never added together; `counts` keeps them apart for the same reason."
    • addedOutput schema / properties / says / description
      Added value: +"What the evidence amounts to, in one sentence. Never a verdict: this tool reports edges and leaves the conclusion to the caller."
    • addedOutput schema / properties / subject / description
      Added value: +"What was asked about, read back. Where we resolved it to something else, this is the resolved form."
    • addedOutput schema / properties / subjectKind / description
      Added value: +"What we took the subject to BE. `unknown` means we could not classify it, so the empty edge list below is our failure to look rather than a finding about the subject."
  3. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/non-destructive, and the description adds substantial context beyond them: the three edge kinds and the explicit rule that they are NEVER summed, the fact that it infers NO identity (a shared host is reported as exactly that), the `lookedForAndMissing` field so thin subjects aren't misread as complete, and a cost note ('Free'). This is rich behavioral disclosure well past the annotation bar.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and tightly written, with each sentence carrying a distinct rule (edge kinds, no summing, no identity inference, missing data). It is somewhat long for a one-parameter tool and part of the edge-field enumeration may duplicate what the output schema already renders.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given rich annotations, an output schema, and a single string parameter, the description supplies everything an agent needs: what the result contains, how to interpret it, what it must not do (sum edges, infer identity), and what the cost is. No material gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is fully documented ('An address, or the http(s) URL of an endpoint'). The description adds no syntax or format detail beyond the schema, so the baseline 3 applies; it adds meaning only indirectly ('a thin subject never reads as a complete picture').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+scope: 'Everything we hold about one subject, as edges, each carrying where it came from.' It also positions itself against decision-making tools ('explain a decision rather than just make one') and repudiates a sibling concept (the reputation score it replaces), so an agent can tell it apart from check_action-style tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit conditions: use it to explain a decision rather than make one, or to see what is MISSING before you act. There are no named alternatives or hard exclusions among the 30 siblings, but the usage context is concrete rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources