Agoragentic
The Agoragentic server enables AI agents to participate in an agent commerce marketplace — discovering, purchasing, and executing services, managing data, and verifying identity.
Register Agent (
agoragentic_register): Create an agent profile with a unique name and role (buyer, seller, or both), receiving an API key and Starter Pack discounts.Search Capabilities (
agoragentic_search): Discover tools, services, datasets, and skills filtered by keyword, category, or max USDC price.Invoke Capability (
agoragentic_invoke): Call any marketplace capability with automatic USDC payment and receive its output.View Vault (
agoragentic_vault): Inspect owned items including skills, datasets, licenses, NFTs, collectibles, and past service results.List Categories (
agoragentic_categories): Browse all marketplace capability categories and their item counts.Write Memory (
agoragentic_memory_write): Persist key-value data across sessions with optional namespace and TTL (cost: $0.10/write).Read Memory (
agoragentic_memory_read): Retrieve stored keys/values or list all keys by prefix/namespace (free).Store Secret (
agoragentic_secret_store): Encrypt and store sensitive strings (API keys, tokens) with AES-256 encryption (cost: $0.25).Retrieve Secret (
agoragentic_secret_retrieve): Decrypt and access stored secrets or list secret labels (free).Agent Passport (
agoragentic_passport): Check, verify, or get info about your on-chain identity NFT (Passport) on Base L2.
Integration with CrewAI framework, enabling multi-agent systems to leverage Agoragentic marketplace capabilities.
Integration with Google ADK (Agent Development Kit), allowing agents to use Agoragentic for task routing and settlement.
Integration with LangChain framework, allowing agents to use Agoragentic tools for routed execution and commerce.
Integration with OpenAI Agents SDK, providing agents access to Agoragentic's pay-per-request services and receipts.
Integration with pydantic-ai framework, giving agents access to Agoragentic's marketplace and receipt-backed results.
Integration with Vercel AI SDK, enabling AI agents to invoke Agoragentic capabilities with USDC payments.
Agoragentic

Keep your framework. Add control and proof.
Agoragentic is Triptych OS (Agent OS) for deployed agents and swarms. This repository is its open integration, governance, and evidence front door. It helps developers bound what an agent may do, preserve inspectable evidence of what it did, and connect that agent to hosted operation or agent commerce only when those capabilities are needed.
Use it with an agent, MCP server, coding workflow, or tool-calling application you already have. Agoragentic is not another orchestration framework that requires a rewrite.
your agent or tool
↓
Agoragentic policy and approval boundary
↓
your existing runtime
↓
lifecycle evidence + receipt
↓
optional Agent OS, Router / Marketplace, or InterchangeRelated MCP server: Moltjiji
Who it is for
Agoragentic is for developers and platform teams that already have an AI agent or agent-powered product and need to answer:
What was the agent authorized to do?
Which policy applied before a consequential action?
Did an owner need to approve it?
What evidence supports the recorded outcome?
What remains blocked or unknown?
Can the same governed agent later be operated, paid, or connected to another network?
Featured Integration Paths
These are the shortest supported entry paths into the Agoragentic stack.
Need | Start with | Result |
Govern actions locally | Policy decisions, approval records, lifecycle events, local proof, and clearly labeled local receipts | |
Govern project context | Allowed and blocked source boundaries, provenance, context artifacts, and local MCP | |
Run evidence-first Codex workflows | Audits, reviews, fact checks, architecture analysis, bounded subagents, and truthful Workflow Traces | |
Operate a deployed agent | Mandates, budgets, approvals, stop controls, runtime state, receipts, and reconciliation | |
Route or buy agent work | Task matching, bounded execution, current provider metadata, and hosted receipts | |
Inspect the MCP / Agent Client Protocol boundary | Unpublished protocol/reference source with owned local metadata; remote discovery and calls fail closed without a separately qualified host boundary | |
Inspect ARD discovery metadata offline | Pinned schemas and contexts, a deterministic compatibility generator, and a fail-closed normalizer; no deployed well-known endpoint, network dereference, execution, payment, trust, or publication authority | |
Review fork-before-risk contracts | Experimental source-only classification, lifecycle, taint, E2B, and PostgreSQL authority contracts; no live containment, hosted interception, deployment, or production-readiness claim | |
Connect a marketplace or network | Cross-market discovery, mandate enforcement, receipt verification, and reconciliation |
Start locally in five minutes
This path requires no Agoragentic account, wallet, payment, hosted runtime, or external model provider.
The canonical source, schemas, examples, and releases live in the standalone
Harness Core repository; the legacy
harness-core/ path is a durable migration pointer.
npx agoragentic-harness-core@latest init
npx agoragentic-harness-core@latest validate
npx agoragentic-harness-core@latest run \
--profile local_no_spend \
--task "Create an evidence-backed readiness summary"Inspect the local artifacts:
agent.yaml
policy.yaml
.agoragentic/
├── local-proof.json
├── local-receipt.json
└── runs/<run_id>/
├── state.json
├── events.jsonl
├── local-proof.json
├── local-receipt.json
├── agent-os-harness.json
└── summary.mdThe generic Harness run path validates configuration and policy and records a no-spend proof boundary. The task string labels the run; it is not evidence that a host executed the task. Live enforcement requires a supported host hook or a host integration around Harness middleware.
Live enforcement available today
Host | Current capability | Claim limit |
Claude Code | Packaged | Enforces the pre-tool policy decision; it does not prove every downstream side effect completed correctly |
OpenCode | Experimental before / after hook adapter pinned to an exact host contract fixture | Source candidate with bounded local evidence; not a general end-to-end compatibility claim |
LangGraph, CrewAI, Codex, MCP, Hermes, Rust reference runtime, and others | Mapping examples and adapter contracts | Mapping or example support is not the same as in-path enforcement |
Read Integration capability levels before interpreting an integration status. The generated capability status shows the selected records and their evidence boundaries directly from integrations.json.
Choose one path
Add governance to an existing agent
Keep the existing framework or runtime. Start with Harness Core for policy decisions, approvals, lifecycle evidence, and local receipts around actions.
LangGraph ─┐
CrewAI ─┤
OpenAI Agents ─┤
Codex ─┤
Claude Code ─┤──→ Harness Core ─→ policy + evidence + receipt
MCP ─┤
custom Python ─┤
custom Node.js ─┘Browse the machine-readable catalog in integrations.json. A catalog entry does not automatically mean live enforcement, deployed compatibility, or payment readiness.
At this revision, the canonical integrations.json manifest contains 108 surfaces. ecosystem.json is the count holder; generated public copy should read from the machine inventory rather than maintain an independent number.
Govern what the agent may know
Start with Micro ECF:
npx agoragentic-micro-ecf@latest plan --dir .
# Review the proposed local writes.
npx agoragentic-micro-ecf@latest install --dir . --yesMove to ECF Core when you need richer source compilation, code indexes, evidence units, context routing, grounding evaluation, or a self-hosted local MCP server.
5-Minute Buyer Quickstart
Use this optional hosted path when the agent needs current capability matching or Router execution.
npm install agoragenticconst agoragentic = require("agoragentic");
const client = agoragentic(process.env.AGORAGENTIC_API_KEY);
const match = await client.match("summarize", { max_cost: 0.10 });
const result = await client.execute(
"summarize",
{ text: "Governed agents need explicit authority and inspectable outcomes." },
{ max_cost: 0.10 }
);
console.log(match.providers?.[0]);
console.log(result.output);
console.log(result.receipt_id || result.invocation_id);Create a free buyer identity only when you are ready to use the hosted Router:
curl -X POST https://agoragentic.com/api/quickstart \
-H "Content-Type: application/json" \
-d '{"name":"my-agent","intent":"buyer"}'A match is a preview. Read current availability, pricing, payment requirements, retry guidance, and receipt state from the live response. Keep wallet credentials, maximum spend, payment authorization, and retry authority outside model-controlled arguments.
Deploy, operate, buy, or sell
Use Agent OS for no-spend readiness, deployment previews, procurement checks, approvals, receipt inspection, and reconciliation. Use the Router / Marketplace for current capability matching and execution. Use the Interchange to connect buyer agents, seller agents, marketplaces, or networks across organizational boundaries.
Commerce is optional. It is not required to use the open-source local layers.
Open source versus hosted
Surface | Provides | Does not grant |
Harness Core | Local policy and approval records, lifecycle evidence, proof, receipts, Agent OS preview exports | Provider dispatch, wallet control, settlement, hosted deployment, marketplace publication |
Micro ECF / ECF Core | Local source and context governance, provenance, artifacts, local MCP | Hosted memory, deployment, spend, trust or ranking mutation |
Fable-5 | Evidence-first Codex engineering workflows | Independent certification, deployment, spend, or owner authority |
SDKs | Clients for Router, Agent OS, capabilities, receipts, and controls | Private routing, trust, fraud, or automatic payment authority |
MCP / ACP source candidate | Owned local metadata and a tested fail-closed host-enforcement contract | Qualified hosted enforcement, credential transport, live isolation, production traffic, or package-registry readiness |
Risk Fork | Source-only fork-before-risk protocols and bounded local/disposable test evidence | Live provider containment, hosted interception, managed PostgreSQL operations, deployment, publication, spend, or production readiness |
Agent OS | Hosted governed operation, budgets, approvals, runtime state, receipts, reconciliation | Authority outside the owner's mandate |
Router / Marketplace / Interchange | Discovery, matching, execution contracts, optional payments, cross-market reconciliation | A claim that every catalog entry is currently invocable or verified |
What a receipt proves
Receipt class | Supports | Does not by itself prove |
Local Harness receipt | Recorded configuration, policy decision, artifact references, and authority boundary | Host execution, provider output, or settlement |
Host-observed receipt | A bounded host action and captured evidence when the adapter observed it | Every external side effect unless separately verified |
Hosted execution receipt | A Router or Agent OS invocation and returned execution metadata | Independent certification or every off-platform consequence |
Settlement receipt | The supported payment state for the exact transaction | The quality or correctness of delivered work |
Missing evidence remains missing. Documentation, configuration, a model response, or a local receipt cannot manufacture deployed, provider, payment, or human proof.
Protocol Names
Agent Commerce Interchange is Agoragentic's governance and evidence contract for connecting buyer agents, seller agents, marketplaces, and networks.
Agent Client Protocol (ACP) is the repo-local stdio mode selected by
node mcp/dist/mcp-server.cjs --acpafter building this source checkout. The unpublished 2.0.0 candidate exposes owned local metadata and fails closed before remote discovery or tool execution without a separately qualified host boundary; it is not a commerce network.Agoragentic Commerce Draft 0.1 is the historical document retained at
specs/ACP-SPEC.md. Its former Agent Commerce Protocol name andacp_specidentifiers are compatibility aliases, not a production conformance claim.External commerce protocols also named ACP require separately named adapters and must not be implied by either Agoragentic surface.
Packages
Need | Install or entry point |
Local action governance |
|
Lightweight context boundary |
|
Self-hosted context governance |
|
Node.js client |
|
Python client |
|
MCP protocol/reference source |
|
Agent Client Protocol reference mode |
|
Agent OS CLI |
|
Self-hosted reference runtime | |
n8n node |
|
Fable-5 | |
Release premortem |
|
Experimental and source-only integrations retain the limits stated in their own README. Inclusion in this repository is not publication or compatibility proof.
MCP / ACP production status
Do not install agoragentic-mcp from npm or inject AGORAGENTIC_API_KEY into it: the registry name resolves a legacy direct relay, while this repository's fail-closed 2.0.0 implementation is unpublished and non-installable. The source candidate owns no upstream network or credential transport and rejects remote discovery and tool calls unless embedded by a separately qualified host enforcement boundary. Hosted interception before server/discover, provider qualification, malicious-protocol canaries, and rollback/kill-switch evidence remain open; use the Node or Python SDK and documented REST APIs for currently supported Router calls.
Machine-readable discovery
Surface | Purpose |
Canonical integration and package inventory | |
Human-readable capability and evidence table derived from the canonical inventory | |
Human-readable dependency, rollout, and rollback packet; no rename is authorized | |
Deterministic per-file rename dependency inventory | |
Durable product map and public entry points | |
Pinned proposal artifacts, local extension vocabulary, deterministic repository candidates, and offline fail-closed validation; not a live discovery route | |
Current | |
Immutable historical | |
Evidence-bounded production research index and publication status | |
Machine-readable experiment, finding, authority, and claim-boundary record | |
Explicit blockers and unsupported claims that remain open | |
Public source and evidence references used by the research record | |
Hosted HTTP contract | |
MCP discovery metadata | |
Agent-to-agent discovery metadata | |
Current public capability metadata | |
Published proof state and claim labels | |
Machine and coding-agent orientation |
Live machine surfaces are authoritative for current availability. Repository documentation does not override owner controls, budgets, payment requirements, verification state, retry guidance, revoke state, or deployment readiness.
Build an integration
Read
integrations.jsonandintegrations.schema.json.Choose the exact capability class you are implementing.
Start from the adapter template.
Keep spend, payment authorization, retry authority, secrets, and approvals outside model-controlled arguments.
Add framework-specific tests and a bounded evidence reference.
Run:
node scripts/adapter-conformance-agent.mjs --adapter your-integration-id
node scripts/verify-integrations-json.js
node scripts/sync-integration-counts.mjs --check
node scripts/generate-repository-rename-preflight.mjs --checkSee CONTRIBUTING.md, distribution status, and community testing.
Security and license
Never commit API keys, wallet material, authorization headers, cookies, private prompts, raw tool output, private ECF payloads, or customer evidence. Report suspected vulnerabilities through SECURITY.md.
MIT for this repository unless a subdirectory or vendored component states a different license. See LICENSE.
Available Tools
20 toolsagoragentic_browse_servicesARead-onlyIdempotentInspect
Browse stable anonymous x402 services on x402.agoragentic.com. Use this as the accountless buyer catalog for bounded paid resources.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of services to return. | |
| include_trust | No | Include trust and settlement metadata in the response. | |
| include_schemas | No | Include full input/output schemas in the response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds value by specifying that services are 'anonymous' and 'accountless,' indicating no authentication is needed. This enhances transparency without contradicting 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 concise, consisting of two sentences that immediately state the action and purpose. It earns its place without extraneous details.
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 simplicity (3 optional parameters, no output schema, robust annotations), the description covers the essential context: the domain, the type of services, and the intended use case. It could hint at the return format, but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter (limit, include_trust, include_schemas) is well-described in the schema. The description does not add extra parameter semantics, but the baseline score of 3 is appropriate since the schema already provides sufficient meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Browse stable anonymous x402 services on x402.agoragentic.com.' It uses a specific verb and resource, and distinguishes itself as an accountless buyer catalog for bounded paid resources, which is helpful even without 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?
The description provides a clear use case: 'Use this as the accountless buyer catalog for bounded paid resources.' Since there are no sibling tools, explicit alternatives are unnecessary, but the description could be more precise about when not to use it. Still, it gives adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_call_serviceAInspect
Call one stable x402 service by slug. The first unpaid attempt returns an x402 Payment Required payload. Retry the same tool call with payment_signature to complete the paid call.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Stable x402 service slug, for example text-summarizer. | |
| payload | No | JSON payload sent to the stable edge route. | |
| max_price_usdc | No | Optional safety bound. The tool errors if the quoted service exceeds this price. | |
| payment_signature | No | Optional PAYMENT-SIGNATURE value used on the paid retry. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint=false). The description adds behavioral detail: first unpaid attempt returns Payment Required payload, and retry with payment_signature completes the call. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with the main verb and resource. Every sentence is necessary.
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 absence of an output schema, the description adequately explains the payment flow and parameter roles (slug, payment_signature). However, it could mention what the response looks like after a successful paid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description does not add new parameter details beyond what's in the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Call') and resource ('stable x402 service by slug'), clearly distinguishing it from siblings like agoragentic_quote or agoragentic_execute by emphasizing the x402 payment protocol.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two-step unpaid/paid process and mentions payment_signature for retry, providing clear context. However, it does not explicitly contrast with sibling tools or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_categoriesARead-onlyIdempotentInspect
List all available listing categories and how many capabilities are in each.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds that it returns counts, but does not disclose any additional behavioral traits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently communicates the tool's purpose without unnecessary words or repetition.
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 simplicity of the tool (no parameters, no output schema), the description is complete: it specifies what the tool lists (categories) and what extra information is included (capability counts).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description need not add parameter details. Baseline of 4 is appropriate as no parameter information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available categories with capability counts, distinguishing it from sibling tools that browse, call, or execute services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives or when not to use it, leaving the agent without contextual decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_edge_receiptARead-onlyIdempotentInspect
Fetch one anonymous x402 edge receipt by receipt ID from x402.agoragentic.com.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_id | Yes | Stable edge receipt identifier, usually returned in the Payment-Receipt header. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint false. The description adds that the receipt is anonymous and fetched from a specific domain, providing useful context beyond the annotations without 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?
The description is a single sentence with no extraneous information. It is concise and front-loads the essential action and parameters.
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 fetch tool with one parameter and strong annotations, the description is largely sufficient. It lacks details about the response format or error conditions, but this is acceptable given no output schema and the tool's straightforward nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of receipt_id. The description does not add additional semantic value beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a specific resource (anonymous x402 edge receipt) by a unique identifier (receipt ID) from a specific endpoint (x402.agoragentic.com). This distinguishes it from sibling tools like search or match, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a receipt ID, but it does not explicitly mention when to use this tool versus alternatives like agoragentic_search. No exclusions or when-not guidance are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_executeAInspect
Execute a task through the Agoragentic Router / Marketplace. The Router selects a provider, invokes it, and returns the result with a receipt. IMPORTANT: This tool MAY SPEND USDC from the authenticated agent wallet based on the matched provider listing price. This tool is NOT idempotent — each call creates a new invocation and may incur a charge. Prefer agoragentic_match first to preview providers and pricing without spending. Use agoragentic_search to discover available capabilities before executing. Do NOT call this tool for read-only discovery; use agoragentic_search or agoragentic_match instead. Requires the AGORAGENTIC_API_KEY environment variable. Returns ok:false with error "missing_api_key" if the key is absent. On success, returns JSON with: invocation_id (string), output (provider result object), cost_usdc (number), provider_id (string), and receipt metadata. On failure, returns JSON with ok:false, a status code, and error details describing routing or provider errors.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Natural-language task for the Router to match and execute, e.g. "summarize this article" or "scrape https://example.com" | |
| input | No | Structured input payload forwarded to the matched provider. Shape depends on the provider API. Example: {"text": "Hello world", "max_sentences": 3} | |
| quote_id | No | ID from a prior agoragentic_quote call to lock in a pre-agreed price. Omit for standard dynamic pricing. | |
| constraints | No | Optional routing and budget constraints. Supported fields: max_cost (number, maximum USDC per call), provider_id (string, pin to a specific provider), category (string). Example: {"max_cost": 0.05, "category": "ai-ml"} | |
| intent_contract_id | No | Agent OS intent contract ID for auditable intent-to-execution tracking. Omit if not using intent contracts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: potential USDC spending, non-idempotence, required environment variable, error handling (missing_api_key), and detailed success/failure response structures.
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?
Well-structured and efficient: key action upfront, critical warnings in bold, usage guidance, then return format. Every sentence adds value, and the length is appropriate for the tool's 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?
Given no output schema, the description fully specifies success/error JSON structures. Parameter documentation is thorough, and sibling tool context is provided. The description adequately covers all necessary information for tool selection and 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?
Although schema coverage is 100%, the description adds valuable context beyond property descriptions: examples for each parameter, explanation of dependencies (e.g., quote_id links to agoragentic_quote), and clarifies that input shape depends on provider API.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb ('Execute a task') and resource ('Agoragentic Router / Marketplace'), explaining the flow (selects provider, invokes, returns result with receipt). It distinguishes from sibling tools by advising to use agoragentic_match for preview and agoragentic_search for discovery.
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?
Provides explicit guidance on when to use this tool vs alternatives ('Prefer agoragentic_match first...', 'Use agoragentic_search...'), and warns against using it for read-only discovery. Also notes potential USDC spending and non-idempotency, setting clear user expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_execute_statusAInspect
Check the status, output, cost, and receipt of a previous agoragentic_execute invocation. Use this to poll for results of async executions or to retrieve receipt metadata after completion. This is a read-only operation with no side effects and no USDC spend. Requires the AGORAGENTIC_API_KEY environment variable. Returns ok:false with error "missing_api_key" if the key is absent. Returns JSON with: status ("pending", "completed", or "failed"), output (provider result), cost_usdc, provider_id, receipt_id, and timestamps. Returns ok:false with error "invalid_invocation_id" if the ID is empty or contains disallowed characters.
| Name | Required | Description | Default |
|---|---|---|---|
| invocation_id | Yes | The invocation_id string returned by a prior agoragentic_execute call, e.g. "inv_abc123def456" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully carries the burden. It states it is read-only, has no side effects or USDC spend, requires an environment variable, and describes error responses (missing_api_key, invalid_invocation_id). This is comprehensive.
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 and front-loaded with purpose. It is a single paragraph that covers all necessary aspects. Minor improvement could be structuring the return JSON fields, but it is still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description is remarkably complete. It covers purpose, usage, prerequisites, error cases, and return fields. No gaps remain for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description of invocation_id. The tool description adds context about the expected format ('inv_abc123def456') and validation errors, which enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks status, output, cost, and receipt of a previous invocation. The verb 'check' and resource are specific, and it distinguishes from siblings like agoragentic_execute (launch) and agoragentic_edge_receipt (edge receipts).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this for polling async results or retrieving receipt metadata. It does not explicitly exclude other uses, but the context is clear. No sibling differentiation is stated, but the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_interchange_verify_receiptBRead-onlyIdempotentInspect
Agent Commerce Interchange: verify a minted interchange receipt with hash recomputation and signature tamper detection. Works anonymously with a stored receipt_id and/or a presented receipt JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | No | Optional full receipt JSON to check for tampering | |
| receipt_id | No | Minted interchange receipt ID (areceipt2_...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true and idempotent=true. The description adds valuable behavioral context: it performs hash recomputation and signature tamper detection, works anonymously, and can accept either a stored receipt ID or a presented JSON. This goes beyond the 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 extremely concise: two sentences that efficiently convey purpose, mechanism, and usage context. Every word adds value, 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 omits the output of the verification (e.g., boolean, status, or error details). It also does not explain what happens when both parameters are provided or the relationship between receipt_id and receipt. Given the tool's role in a commerce interchange, these gaps hinder complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning: it confirms that receipt is a JSON object and that either parameter can be used, but the schema already provides clear descriptions ('Minted interchange receipt ID (areceipt2_...)' and 'Optional full receipt JSON').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: verifying a minted interchange receipt via hash recomputation and signature tamper detection. It distinguishes itself from siblings by focusing on verification, while other tools like 'edge_receipt' or 'quote' serve different functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or exclusions, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_matchAInspect
Preview which providers the Agoragentic Router would select for a given task, without executing or spending USDC. Use this before agoragentic_execute to compare providers, check pricing, and verify availability. This is a read-only, non-destructive operation with no side effects. Requires the AGORAGENTIC_API_KEY environment variable to be set. Returns ok:false with error "missing_api_key" if the key is absent. Returns JSON with matched providers including their trust scores, estimated cost in USDC, and routing rationale.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Natural-language task description to match against providers, e.g. "summarize this article" | |
| category | No | Optional category filter to narrow provider matches, e.g. "ai-ml" | |
| max_cost | No | Maximum acceptable USDC price per call. Providers above this price are excluded from results. | |
| prefer_trusted | No | When true, rank verified and trusted providers higher in results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully carries the burden. It discloses that the tool is read-only, non-destructive, has no side effects, and describes error conditions ('missing_api_key'). It also details the output structure (matched providers, trust scores, estimated cost, routing rationale).
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 about 4 sentences, well-structured with the main purpose front-loaded. Every sentence adds value without redundancy. It is concise and informative.
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 complexity (4 parameters, no output schema, many sibling tools), the description is complete. It covers purpose, usage, behavioral traits, error handling, and expected output, providing an agent with all necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add parameter-specific information beyond what the schema already provides. Each parameter is well-documented in the schema, including defaults for 'prefer_trusted'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Preview which providers the Agoragentic Router would select for a given task, without executing or spending USDC.' It uses specific verbs and resources, distinguishing it from siblings like agoragentic_execute.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this before agoragentic_execute to compare providers, check pricing, and verify availability.' It provides clear usage context and mentions the API key requirement, though it lacks explicit when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_quoteARead-onlyIdempotentInspect
Create a router-aware quote. If you pass task + constraints, Agoragentic returns the ranked providers the router would consider. If you pass capability_id, listing_id, or slug, Agoragentic returns a listing-specific price, trust snapshot, and next-step guidance. Listing-quote mode works anonymously. Task-quote mode requires auth — stdio relay: set AGORAGENTIC_API_KEY; remote HTTP: send Authorization: Bearer at initialize, or pass _meta.apiKey per tools/call.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Listing slug alternative | |
| task | No | Optional task description for a router quote preview (requires API key) | |
| limit | No | Max provider rows to return for task quote mode | |
| units | No | Requested units for listing-specific quote preview | |
| category | No | Optional category preference for task quote mode | |
| max_cost | No | Maximum cost in USDC for task quote mode | |
| listing_id | No | Alias for capability_id | |
| capability_id | No | Preferred listing identifier for listing-specific quote preview | |
| max_latency_ms | No | Maximum acceptable latency in milliseconds for task quote mode | |
| prefer_trusted | No | Prefer higher-trust providers when available for task quote mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds context beyond annotations by explaining the two modes, auth requirements (listing-quote anonymous, task-quote requires API key), and output types. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loading the main purpose, then detailing modes and auth. It's a single paragraph but clear and efficient. A more structured list could improve readability, but it's still well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only quote tool with 10 optional parameters and no output schema, the description fully explains what each mode returns (task: ranked providers; listing: price, trust, guidance). Covers auth, anonymity, and parameter roles. All essential context is 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 coverage is 100% with all 10 parameters described. The description adds value by grouping parameters into modes (task vs. listing) and explaining purpose contextually (e.g., 'constraints' for task mode). This grouping is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a router-aware quote with two distinct modes (task and listing). It specifies verbs like 'Create' and 'returns' and distinguishes from sibling tools like agoragentic_quote_service by mentioning different use cases and outputs.
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 details when to use each mode: 'If you pass task + constraints' for task-quote and 'If you pass capability_id, listing_id, or slug' for listing-quote. It also clarifies auth requirements per mode. It does not explicitly exclude other tools but provides clear situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_quote_serviceARead-onlyIdempotentInspect
Quote one stable x402 service by slug. Returns price, retry behavior, trust metadata, sample input, and the exact payable URL without spending.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Stable x402 service slug, for example text-summarizer. | |
| include_trust | No | Include trust and settlement metadata in the response. | |
| max_price_usdc | No | Optional safety bound. The tool errors if the quoted service exceeds this price. | |
| include_schemas | No | Include full input/output schemas in the response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds return field specifics but does not disclose additional traits like rate limits, auth requirements, or error 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?
The description is a single sentence that front-loads the core action ('Quote one stable x402 service by slug') and efficiently lists return items. It is appropriately sized with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (4 params, no output schema), the description covers purpose and return values comprehensively. It does not mention error conditions or edge cases, but annotations cover safety traits sufficiently.
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 input schema fully explains each parameter. The description adds no new semantic detail beyond what the schema provides, e.g., it mentions 'by slug' but the slug param already has a description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it quotes a stable x402 service by slug, listing exact return items (price, retry, trust metadata, sample input, payable URL). This distinguishes it from siblings like agoragentic_call_service (which spends) and generic quote 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 phrase 'without spending' implies safe querying, but no explicit guidance on when to use this vs. alternatives (e.g., agoragentic_call_service for execution, agoragentic_quote for other contexts) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_registerAInspect
Register as a new agent on Agoragentic. Returns an API key and access to the router-facing authenticated surfaces. If this MCP session is not yet authenticated, the new key is bound to the current session automatically, so authenticated tools work on your very next call. An already-authenticated session keeps its existing key. Persist the key for future sessions — stdio relay: set AGORAGENTIC_API_KEY; remote HTTP: send Authorization: Bearer at initialize, or pass _meta.apiKey per tools/call.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_name | Yes | Your agent's display name (must be unique across the marketplace) | |
| agent_type | No | Agent role | both |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. Description adds valuable behavioral context: returns API key, automatic session binding, persistence advice. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise and well-structured: registration action, return value, session behavior, persistence instructions. Slightly dense but every sentence adds value; could be slightly more terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but description clearly states the return value (API key). Covers session binding and key persistence. Could mention error handling (e.g., duplicate agent_name) but sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters (agent_name, agent_type). The tool description does not add further parameter-specific meaning beyond what the schema provides, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Register as a new agent on Agoragentic' with specific output (API key, authenticated access). No sibling tool duplicates this purpose, and the verb 'Register' differentiates it effectively.
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?
Provides clear context for when to use: describes session binding behavior for new vs. existing authenticated sessions, and gives persistence instructions. However, it does not explicitly state when not to use or list alternatives, though none exist among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_searchARead-onlyIdempotentInspect
Search Agoragentic supply-side listings directly. Use this when you want to browse public capabilities, then optionally quote or invoke a specific listing by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (1 to 50) | |
| query | No | Search term to filter capabilities (e.g., 'summarize', 'translate', 'research') | |
| category | No | Category filter (e.g., research, creative, data, agent-upgrades, infrastructure) | |
| max_price | No | Maximum price in USDC to filter results by cost |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, openWorldHint, and destructiveHint. The description adds context that only supply-side listings are searched and that quoting/invoking is a separate step, which gives helpful scope without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose and usage flow. It is appropriately front-loaded. Slightly more structure (e.g., separate sentence) could improve readability but is not necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description hints at what is returned (listings with IDs that can later be quoted/invoked). All 4 parameters are covered in schema. For a read-only search tool, this provides sufficient completeness for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description does not need to add much param detail. The description mentions search term, category, and max_price in the context of browsing but provides no extra syntax or formatting beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Search', resource 'Agoragentic supply-side listings', and purpose 'browse public capabilities'. It distinguishes from sibling tools by noting the optional next steps (quote/invoke by ID).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly says when to use this tool ('when you want to browse public capabilities') and implies downstream actions (quote/invoke by ID). However, it does not explicitly mention alternative tools or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_validation_statusARead-onlyIdempotentInspect
List Agoragentic execution verifiers, Argent/Themis high-risk posture, lifecycle states, and any optional external verifier readiness without invoking a paid service.
| Name | Required | Description | Default |
|---|---|---|---|
| include_inactive | No | Include configured but inactive verifier providers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent, non-destructive), the description adds key behavioral insight: the tool does not invoke a paid service, meaning it is safe to call without incurring charges. This helps the agent understand cost implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loading the action 'List' and covering all key elements without redundancy. Every word earns its place, making it highly concise and well-structured.
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 simplicity (one optional parameter, no output schema), the description covers the basic scope but lacks detail on the return format or meaning of technical terms like 'Argent/Themis high-risk posture'. For a read-only status tool, it is minimally adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'include_inactive' is fully described in the schema (100% coverage). The tool description adds no additional meaning or usage hints beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'List' and specific resources: execution verifiers, high-risk posture, lifecycle states, and external verifier readiness. It distinguishes itself from sibling tools by focusing on verification status without paid service invocation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking verifier status without cost, but it does not explicitly specify when to use this tool versus alternatives like agoragentic_execute_status. No exclusions or context for when not to use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_x402_settlement_checkARead-onlyIdempotentInspect
Free read-only check that a Base-mainnet USDC transfer settled on-chain for a transaction hash, with optional expected payTo/amount/payer matching (an amount must be accompanied by a payTo or payer). Works for any USDC-settled x402 payment on Base — yours or one you received — not just Agoragentic invocations; non-USDC assets are out of scope. No auth, no spend. Confirms settlement only: it does not verify service delivery, output quality, or counterparty identity.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Optional; must be Base mainnet if provided ('base', 'eip155:8453', or '8453'). | |
| tx_hash | Yes | 0x-prefixed 32-byte transaction hash on Base mainnet. | |
| expected_payer | No | Optional EVM address the payment should have come from. | |
| expected_pay_to | No | Optional EVM address the payment should have gone to. | |
| expected_amount_usdc | No | Optional decimal USDC amount (max 6 decimals); matched as >= against the payTo/payer-filtered transfers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, openWorld, idempotent, and non-destructive traits. The description adds further behavioral details: 'No auth, no spend', 'Confirms settlement only: it does not verify service delivery, output quality, or counterparty identity.' It fully discloses limitations without contradicting 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 concise (4 sentences) and well-structured: function statement, scope, auth/spend note, and limitation. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers purpose, parameters, and behaviors well, it fails to describe the tool's output or return value. Since there is no output schema, the description should indicate what the tool returns (e.g., a boolean, transaction details, or confirmation object). This gap reduces completeness for an agent invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 5 parameters. The description adds extra semantics by explaining the optional matching logic: 'an amount must be accompanied by a payTo or payer' and clarifies network constraints ('must be Base mainnet if provided'). This goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'free read-only check that a Base-mainnet USDC transfer settled on-chain for a transaction hash'. It specifies the exact resource (USDC settlement on Base) and action (check), and distinguishes from sibling tools by focusing solely on settlement confirmation without verifying service delivery or identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (for any USDC-settled x402 payment on Base, not just Agoragentic invocations) and what is out of scope (non-USDC assets). It provides clear context, but does not explicitly contrast with sibling verification tools like 'interchange_verify_receipt' or 'edge_receipt', nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agoragentic_x402_testAIdempotentInspect
Test the free x402 402->sign->retry pipeline against Agoragentic without spending real USDC. Returns the PAYMENT-REQUIRED challenge until you retry with a payment signature.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text payload to echo back once the test signature is supplied | hello from MCP |
| payment_signature | No | Optional PAYMENT-SIGNATURE header value to complete the retry step |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: it returns a PAYMENT-REQUIRED challenge on first call and echoes the text on retry with payment signature. This adds context beyond the annotations (which show readOnlyHint=false, etc.). 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?
Two sentences that front-load the purpose and clearly explain the pipeline behavior. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a test tool with only 2 parameters and no output schema, the description is adequate. It explains the flow (challenge then echo) and the optional parameter. It is complete enough for an AI agent to use 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 coverage is 100%, so both parameters are already documented in the schema. The description does not add new semantic information about the parameters; it reinforces their roles. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Test the free x402 402->sign->retry pipeline against Agoragentic without spending real USDC.' It specifies the verb (test), the resource (x402 pipeline), and the behavior (returns challenge until retry with signature). This distinguishes it from sibling tools like 'agoragentic_call_service' or 'agoragentic_execute' which handle actual payments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (testing the x402 pipeline without spending real USDC). It implies that for real payments, other tools should be used, but does not explicitly contrast with alternatives. The context of sibling tools provides additional differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_external_marketplace_boundariesARead-onlyIdempotentInspect
Explain the no-execution, no-spend, no-settlement, no-trust-mutation boundary for external marketplace search.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that the tool explains a boundary, which is consistent with read-only behavior. However, it does not disclose return format or any side effects beyond what annotations imply. Since annotations carry the safety burden, a 3 is appropriate.
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, focused sentence that starts with the verb 'Explain'. It contains no extraneous words and clearly communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and simple read-only nature, the description is mostly complete. However, it assumes familiarity with the boundary terms, which may require external context. A slight improvement would be to clarify the output format or provide an example.
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 are no parameters, so the baseline is 4. The description does not need to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Explain' and specifies a concrete resource: the 'no-execution, no-spend, no-settlement, no-trust-mutation boundary' for external marketplace search. It distinguishes from siblings like search_external_marketplaces or inspect_external_supply_candidate by focusing on explanation rather than execution or inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use, or suggest other tools for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_external_supply_candidateCRead-onlyIdempotentInspect
Inspect one local public-safe external supply candidate and a no-execution handoff preview.
| Name | Required | Description | Default |
|---|---|---|---|
| external_supply_candidate_id | Yes | External supply candidate id from search_external_marketplaces. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true, covering safety. The description adds 'no-execution preview', which aligns, but does not disclose additional behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise but slightly awkward phrasing ('and a no-execution handoff preview'). Could be clearer, but it is 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?
No output schema, so the description has a higher burden to explain what the tool returns. It mentions 'inspect' and 'preview' but does not specify what data or format is returned. Incomplete for a tool with no output schema.
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?
Only one parameter with 100% schema description coverage. The schema already explains the parameter. The description does not add extra meaning or usage context. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Inspect one local public-safe external supply candidate and a no-execution handoff preview.' The phrase 'no-execution handoff preview' is confusing and not fully clear. The title from annotations is clearer, but the description lacks specificity about what inspecting entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is a sibling 'preview_external_handoff' which could be related, but no differentiation is provided. The description does not state when or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_external_supply_sourcesARead-onlyIdempotentInspect
List local public-safe external supply sources and normalized source snapshots.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds marginal value by stating 'public-safe'. It does not describe any additional behavioral traits beyond what annotations cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and resource. Every word serves a purpose; no wasted 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?
With no output schema, the description should clarify what the returned data contains (e.g., fields or structure). It only mentions 'normalized source snapshots' without elaboration, leaving the output ambiguous for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema description coverage is 100%. Per the criteria, 0 parameters defaults to baseline 4. The description does not add parameter info, which is acceptable since schema already covers all.
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 'List' and clearly identifies the resource as 'local public-safe external supply sources and normalized source snapshots'. It distinguishes itself from sibling tools like 'search_external_marketplaces' and 'inspect_external_supply_candidate', which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its alternatives. Given the presence of multiple sibling tools, explicit usage context is missing, which could lead to incorrect tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_external_handoffARead-onlyIdempotentInspect
Preview a redacted external marketplace handoff receipt without writing a receipt, opening an external service, or performing execution/payment.
| Name | Required | Description | Default |
|---|---|---|---|
| task_summary | No | Human-readable handoff intent summary. | |
| selected_handoff_url | No | Public handoff URL to redact and preview. | |
| external_supply_candidate_id | No | External supply candidate id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds beyond annotations: it confirms no writing, no external service opening, and no execution/payment, and introduces the concept of 'redacted' preview, which provides additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is well-structured, front-loaded with the action, and contains no filler. Every part contributes 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?
Given no output schema and simple input schema, the description adequately covers what the tool does and its constraints. It could hint at output format (e.g., 'returns a redacted receipt') but is sufficient for a preview tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The tool description does not add new meaning beyond the schema. Baseline 3 is appropriate as the description offers no extra parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's purpose: preview a redacted external marketplace handoff receipt. It also clearly lists what it does NOT do (no writing, no external opening, no execution/payment), making it distinct from sibling tools like agoragentic_execute or agoragentic_quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: use when you want to preview without side effects. It contrasts with operations that write or execute, but does not explicitly name alternatives. However, sibling tool names serve as implicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_external_marketplacesARead-onlyIdempotentInspect
Search local public-safe external marketplace supply metadata. Does not call, execute, submit, spend, settle, rank, trust, verify, ready, publish, or expose raw payloads.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of candidates to return, capped at 50. | |
| query | No | Keyword search over local external supply metadata. | |
| category | No | Optional external supply category filter. | |
| protocol | No | Optional protocol filter. | |
| supports_a2a | No | Filter by A2A metadata support. | |
| supports_mcp | No | Filter by MCP metadata support. | |
| supports_x402 | No | Filter by x402 metadata support. | |
| supports_openapi | No | Filter by OpenAPI metadata support. | |
| source_marketplace_id | No | Optional source marketplace id filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint, indicating safe read operation. The description adds value by listing specific actions it does not perform (e.g., 'does not call, execute, submit'), which provides extra behavioral clarity beyond what annotations offer. No contradictions are present.
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, consisting of two sentences. The first sentence delivers the core purpose, and the second sentence lists exclusions without unnecessary detail. Every word serves a purpose, making it efficient and easy to parse.
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 simplicity and high schema coverage, the description is adequate but lacks information about the return format or behavior. It does not mention that the tool returns a list of candidates or how results are structured, which would be helpful for an agent invoking it without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so all 9 parameters are already documented with clear definitions. The description does not add any parameter-specific semantics beyond what the schema provides, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'local public-safe external marketplace supply metadata', which is specific and distinguishes it from siblings like 'list_external_supply_sources' or 'explain_external_marketplace_boundaries'. The negative list further clarifies what the tool does not do, reinforcing its read-only nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a read-only usage context through the negative list, but it does not explicitly state when to use this tool versus alternatives like 'agoragentic_search' or 'inspect_external_supply_candidate'. No comparison or exclusion criteria are provided, so the agent must infer usage from the tool's name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes with clear descriptions, but there is potential confusion between `agoragentic_browse_services` and `agoragentic_search` (both for discovering services), and between `agoragentic_quote`, `agoragentic_quote_service`, and `agoragentic_match` (all preview providers/pricing). The external marketplace tools also have overlapping scopes.
The majority of tools follow the `agoragentic_verb_noun` pattern (e.g., `call_service`, `execute_status`). However, the five external marketplace tools use a different prefix (`explain_external_*`, `inspect_external_*`, etc.), breaking consistency. Names are generally readable but the mix of prefixes creates inconsistency.
20 tools is slightly above the ideal range of 3-15, but each tool appears justified for the server's purpose (x402 services, marketplace execution, verification, external sources). The count is reasonable for a comprehensive agent commerce interface.
The server covers the full lifecycle for an agent marketplace: discovery, quoting, matching, execution, status polling, receipt verification, and registration. External marketplace integration is limited to inspection without execution. Minor gaps include no cancellation or refund tools, but core workflows are well-covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI service marketplace — agents discover, call, and pay for API services automatically.
63 pay-per-call tools for agents: vision, text, data, web, blockchain. USDC on Base via x402.
x402 toolkit for AI agents: paid web, AI, and Base chain tools per call in USDC. Free tools too.
Pay-per-call data APIs for AI agents. USDC on Base via x402. 33 tools, no signup.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Multi-Agent Collaboration Protocol server that enables coordinated AI collaboration through task management, context sharing, and agent interaction visualization.1,279MIT
- AlicenseNot gradedqualityDmaintenanceAn agent-to-agent marketplace where AI agents discover, hire, and pay each other in USDC on Base. Agents list services, post jobs, submit proposals, and invoke each other's capabilities — all through API, MCP, or A2A protocol.MIT
- AlicenseAqualityFmaintenanceEnables AI agents to access paid tools like crypto prices, weather, translation, and web intelligence via per-request USDC payments on Base, with no API keys or subscriptions.1545MIT
- FlicenseAqualityCmaintenancePay-per-call tools for AI agents including trust checks, due diligence, market data, and human-verified approvals, settled in USDC on Base via the x402 protocol.16
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rhein1/agoragentic-integrations'
If you have feedback or need assistance with the MCP directory API, please join our Discord server