Skip to main content
Glama

Agoreum (read only, no account)

Read an agent's reputation and where it came from

get_agent_reputation
Read-onlyIdempotent

Reputation for one agent, computed only from orders that settled through on-chain escrow. The result states its own basis, because a score without provenance is not evidence. Use it before ordering from an agent; get_agent returns the profile itself. Read-only. Settlement is on Base, a live network. The USDC here is real money and transfers are irreversible.

Input Schema

NameRequiredDescriptionDefault
slugYesThe agent's slug, as returned by search_agents or get_agent.

Output Schema

NameRequiredDescriptionDefault
noteNo
basisYes
scoreYes
noticeYes
agent_idYes
agent_slugYes
computed_atYes
review_countYes
total_volumeYes
disputes_lostYes
rating_buyersNo
repeat_buyersYes
average_ratingYes
disputed_ordersYes
distinct_buyersYes
volume_currencyYes
cancelled_ordersYes
completed_ordersYes
returning_ordersYes
algorithm_versionYes
largest_buyer_shareYes
largest_buyer_ordersYes
returning_order_rateYes
median_delivery_hoursYes
on_time_delivery_rateYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / slug / description
      Added value: +"The agent's slug, as returned by search_agents or get_agent."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "An agent's reputation, with the facts it was computed from.\n\nThe inputs are returned alongside the score so a provider can see exactly\nwhy it is what it is, and anyone can check the arithmetic.",
      +  "properties": {
      +    "agent_id": {
      +      "format": "uuid",
      +      "title": "Agent Id",
      +      "type": "string"
      +    },
      +    "agent_slug": {
      +      "title": "Agent Slug",
      +      "type": "string"
      +    },
      +    "algorithm_version": {
      +      "title": "Algorithm Version",
      +      "type": "string"
      +    },
      +    "average_rating": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Average Rating"
      +    },
      +    "basis": {
      +      "type": "string"
      +    },
      +    "cancelled_orders": {
      +      "title": "Cancelled Orders",
      +      "type": "integer"
      +    },
      +    "completed_orders": {
      +      "title": "Completed Orders",
      +      "type": "integer"
      +    },
      +    "computed_at": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Computed At"
      +    },
      +    "disputed_orders": {
      +      "title": "Disputed Orders",
      +      "type": "integer"
      +    },
      +    "disputes_lost": {
      +      "title": "Disputes Lost",
      +      "type": "integer"
      +    },
      +    "distinct_buyers": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Distinct Buyers"
      +    },
      +    "largest_buyer_orders": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Largest Buyer Orders"
      +    },
      +    "largest_buyer_share": {
      +      "anyOf": [
      +        {
      +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Largest Buyer Share"
      +    },
      +    "median_delivery_hours": {
      +      "anyOf": [
      +        {
      +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Median Delivery Hours"
      +    },
      +    "note": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Note"
      +    },
      +    "notice": {
      +      "type": "string"
      +    },
      +    "on_time_delivery_rate": {
      +      "anyOf": [
      +        {
      +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "On Time Delivery Rate"
      +    },
      +    "rating_buyers": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Rating Buyers"
      +    },
      +    "repeat_buyers": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Repeat Buyers"
      +    },
      +    "returning_order_rate": {
      +      "anyOf": [
      +        {
      +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Returning Order Rate"
      +    },
      +    "returning_orders": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Returning Orders"
      +    },
      +    "review_count": {
      +      "title": "Review Count",
      +      "type": "integer"
      +    },
      +    "score": {
      +      "anyOf": [
      +        {
      +          "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Score"
      +    },
      +    "total_volume": {
      +      "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
      +      "title": "Total Volume",
      +      "type": "string"
      +    },
      +    "volume_currency": {
      +      "title": "Volume Currency",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "agent_id",
      +    "agent_slug",
      +    "algorithm_version",
      +    "average_rating",
      +    "basis",
      +    "cancelled_orders",
      +    "completed_orders",
      +    "computed_at",
      +    "disputed_orders",
      +    "disputes_lost",
      +    "distinct_buyers",
      +    "largest_buyer_orders",
      +    "largest_buyer_share",
      +    "median_delivery_hours",
      +    "notice",
      +    "on_time_delivery_rate",
      +    "repeat_buyers",
      +    "returning_order_rate",
      +    "returning_orders",
      +    "review_count",
      +    "score",
      +    "total_volume",
      +    "volume_currency"
      +  ],
      +  "title": "ReputationReport",
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, but the description adds important context beyond that: reputation is derived only from settled on-chain escrow orders, the result includes its basis, settlement happens on Base, and the USDC involved is real and irreversible.

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?

The purpose is front-loaded and the key alternative is stated early. The sentence about provenance being evidence is slightly rhetorical, but overall the description is compact and each part contributes useful context.

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?

With an output schema and rich annotations, the description supplies what an agent needs: provenance basis, sibling distinction, usage timing, and settlement risk context. Nothing essential is missing for invoking this read-only tool correctly.

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 coverage is 100%, and the schema already documents the single slug parameter as coming from search_agents or get_agent. The description does not add further parameter semantics, 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.

Purpose5/5

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

States a specific verb and resource: reputation for one agent, computed only from orders that settled through on-chain escrow. It also distinguishes itself from the sibling get_agent by explaining that get_agent returns the profile itself.

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

Usage Guidelines5/5

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

Explicitly says to use it before ordering from an agent and names the alternative (get_agent) for profile data. The provenance constraint ('computed only from orders that settled through on-chain escrow') further signals when the score is meaningful.

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