Skip to main content
Glama

zunivo-mcp

Give your AI agent working money on Arc.

An MCP server that lets any MCP client (Claude, ChatGPT, Cursor, Gemini — anything that speaks MCP) discover .agent services, pay for APIs over x402 in USDC, and issue payment links — non-custodial, with a hard daily budget.

Tools

tool

what it does

zunivo_resolve_agent

.agent name → on-chain card (payout address, endpoint, records)

zunivo_list_agents

public directory of callable .agent services

zunivo_paid_fetch

call a paid API — 402 handled, USDC paid within budget, receipt returned

zunivo_create_payment_link

invoice anyone: returns a pay URL

zunivo_check_order

order status + settling payments

zunivo_spend_status

today's budget: cap, spent, remaining

Related MCP server: opendexter

Safety model

  • The private key lives in env — it is never shown to the model.

  • Every call is capped (ZUNIVO_MAX_PER_CALL, default 1 USDC) under a hard daily budget (ZUNIVO_DAILY_CAP, default 5 USDC). Set ZUNIVO_SPEND_FILE (e.g. ~/.zunivo-spend.json) so the budget survives restarts — strongly recommended before pointing this at real funds.

  • Content returned by paid endpoints is untrusted input to your model. A malicious API could try to talk your agent into more paid calls — the daily cap is the backstop; keep it small.

  • When paying a .agent name, the recipient is pinned to the address the name resolves to on-chain — a malicious server cannot redirect funds.

Setup (Claude Desktop)

{
  "mcpServers": {
    "zunivo": {
      "command": "npx",
      "args": ["-y", "zunivo-mcp"],
      "env": {
        "AGENT_PK": "0x<agent wallet private key>",
        "ZUNIVO_RECORDS_ADDRESS": "0x<ZunivoAgentRecords on Arc>",
        "ZUNIVO_DAILY_CAP": "5",
        "ZUNIVO_MAX_PER_CALL": "1"
      }
    }
  }
}

Fund the wallet with test USDC at https://faucet.circle.com (Arc Testnet).

Example session

You: find me a crypto index feed and get the latest value

Agent: lists agents → finds data.agent → paid_fetch /v1/index/crypto → pays 0.05 USDC → returns the data + ArcScan receipt

Part of the Zunivo network — the payment layer for AI agents on Arc.

Available Tools

6 tools
zunivo_check_orderA

Check a payment link / order: status (unpaid or paid) and the on-chain payments that settled it.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesorder id returned by zunivo_create_payment_link

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. The verb 'Check' clearly indicates a read-only operation, and the description discloses what will be returned: status (unpaid/paid) and on-chain payments. It does not mention error cases or side effects, but for a status-check tool this is adequate.

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

Conciseness5/5

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

The description is a single, tightly worded sentence with no filler. It front-loads the action ('Check') and efficiently packs the resource, status values, and payment details into a compact structure.

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

Completeness4/5

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

For a simple 1-parameter read-only tool with no output schema, the description is sufficiently complete, covering both key return aspects: status and settling payments. It does not describe error behavior or exact response structure, but those are not necessary for this level of complexity.

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

Parameters4/5

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

The schema fully describes the only parameter orderId as 'order id returned by zunivo_create_payment_link', providing clear semantic context. Since schema coverage is 100%, the baseline is 3, but the explicit tie to a sibling tool adds valuable meaning beyond the bare parameter name.

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?

The description uses a specific verb ('Check') and names the resource ('payment link / order'), then clearly enumerates the returned information: status (unpaid or paid) and the on-chain payments that settled it. This distinguishes it from sibling tools like zunivo_create_payment_link and zunivo_spend_status.

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

Usage Guidelines3/5

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

The description implies usage: after creating a payment link, check the order status using the returned orderId. However, it does not explicitly state when to use this tool versus alternatives like zunivo_paid_fetch or zunivo_spend_status, nor does it mention any exclusions.

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

zunivo_list_agentsA

List every .agent name that has published a callable service (the public agent directory on Arc).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It clearly states the outcome (list of .agent names) and the inclusion criterion (published a callable service). However, it does not disclose potential behavioral aspects like ordering, pagination, or authentication requirements, which would enhance transparency.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant information. Every word contributes to the meaning, making it highly concise and structured.

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?

For a simple 0-parameter enumeration tool, the description covers purpose, scope, and location. The absence of an output schema is not a significant gap because the return format (a list of names) is intuitively clear. The description is complete for correct invocation.

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

Parameters4/5

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

The tool has zero parameters, and the schema is fully covered. The description adds context about what the list contains, but since there are no parameters, the baseline of 4 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?

The description uses a specific verb ('List') and resource ('every .agent name that has published a callable service'), clearly distinguishing this listing tool from sibling tools like zunivo_resolve_agent or zunivo_paid_fetch. The scope (public agent directory on Arc) is explicit.

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

Usage Guidelines4/5

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

The description provides clear context (public agent directory) that implies when to use this tool, but it does not explicitly state exclusions or alternatives. The context is sufficient for an agent to infer the primary use case, but lacks overt when-not guidance.

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

zunivo_paid_fetchA

Call a paid HTTP API. If the server responds 402, pay the quoted USDC price from the agent wallet (within budget) and retry automatically. Target is either a full url, or an agent name + path. Returns status, body and the payment receipt if one was made.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNofull URL of the paid endpoint
bodyNorequest body for POST (JSON string)
pathNopath appended to the agent's endpoint, e.g. /v1/data
agentNo.agent name — endpoint is discovered on-chain
methodNoGET

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries full burden and does it well: discloses the automatic payment flow (USDC from agent wallet within budget), the 402 retry behavior, and the return payload including payment receipt. This is significant behavioral transparency.

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

Conciseness5/5

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

Three purposeful sentences, front-loaded with the core action and key differentiator. Zero waste.

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

Completeness4/5

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

For a 5-parameter tool with no output schema, the description covers the essential behaviors and return values. It could benefit from mentioning error handling when budget is insufficient, but overall it provides enough context for correct invocation. Sibling tools cover agent discovery, so the integration is reasonable.

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

Parameters4/5

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

Schema descriptions cover 80% of parameters, so baseline is 3. The description adds the key semantic that target can be either a full URL or an agent+path combo, which clarifies the relationship between url, agent, and path. This elevates it to 4.

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

Purpose5/5

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

States a specific verb+resource ('Call a paid HTTP API') and the key differentiator (automatic payment on 402). Clearly distinct from sibling tools which manage agents/orders/payments.

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

Usage Guidelines4/5

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

Provides clear context on when to use (calling a paid API, with auto-payment on 402) but does not explicitly compare with sibling tools or state exclusions. The target forms (full URL vs agent+path) add usage guidance.

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

zunivo_resolve_agentA

Resolve a .agent name to its on-chain agent card: payout address, service endpoint, x402 manifest, description. Accepts 'data.agent', '@data' or 'data'.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes.agent name to resolve

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose that resolution is on-chain, the output fields, and accepted input forms. However, it omits any mention of network requirements, failure modes, or limitations of the accepted shorthand forms.

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

Conciseness5/5

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

Two sentences, no filler. The purpose and key input variation are front-loaded, and every clause earns its place.

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

Completeness4/5

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

For a one-parameter read-only resolution tool with no output schema, the description is nearly complete: it states what is returned and the accepted input formats. A small gap is the lack of return structure or error behavior, but this is acceptable for such a simple tool.

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

Parameters4/5

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

The schema already documents the single `name` parameter with 100% coverage, but the description adds the accepted variants ('data.agent', '@data', 'data'), which goes beyond the schema's '.agent name to resolve'. This materially helps the agent format input correctly.

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?

The description uses a specific verb ('Resolve') and identifies the exact resource ('.agent name' → 'on-chain agent card') plus the key output fields. This clearly distinguishes the tool from siblings like zunivo_list_agents or zunivo_paid_fetch.

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

Usage Guidelines3/5

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

It implies this tool is for resolving a specific agent name, and even gives accepted input formats, but it never explicitly contrasts with alternatives or states when not to use it. The context is clear enough for a single-purpose lookup, but not fully explicit.

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

zunivo_spend_statusA

Show today's spending budget for the agent wallet: daily cap, spent so far, remaining, per-call ceiling.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It transparently states that the tool displays budget information (daily cap, spent, remaining, per-call ceiling), implicitly indicating a read-only operation. It does not mention potential side effects, rate limits, or authentication needs, but for a status-check tool the behavioral disclosure is adequate.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that immediately states the tool's purpose and lists the key data points. Every word contributes value; there is no filler or redundancy.

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

Completeness5/5

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

Given the tool has no input parameters and no output schema, the description sufficiently covers the return value by specifying the four main fields (daily cap, spent so far, remaining, per-call ceiling). It is contextually complete for an agent wanting to understand what this status tool provides.

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

Parameters4/5

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

The tool has zero parameters, and the description does not need to explain parameter semantics. Per the baseline for 0 params, a score of 4 is appropriate; the description focuses on what the tool returns rather than inputs.

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?

The description uses a specific verb 'Show' and clearly identifies the resource: 'today's spending budget for the agent wallet'. It lists the exact information provided (daily cap, spent so far, remaining, per-call ceiling), which clearly distinguishes it from sibling tools like paid_fetch or check_order.

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

Usage Guidelines4/5

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

The description implies a clear use case: checking the current budget status of the agent wallet. However, it does not explicitly mention when to use this tool instead of alternatives, nor does it provide exclusions. The context is clear enough that an agent would know to use this when budgeting or pre-checking spend, but it lacks explicit guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.3
    • First observedzunivo_check_order
    • First observedzunivo_create_payment_link
    • First observedzunivo_list_agents
    • First observedzunivo_paid_fetch
    • First observedzunivo_resolve_agent
    • First observedzunivo_spend_status

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a unique, clearly defined purpose: listing agents, resolving agent details, making paid requests, checking order status, creating payment links, and reviewing spending budget. There is no overlap in functionality, making tool selection unambiguous.

Naming Consistency5/5

All tools share the 'zunivo_' prefix and follow a consistent verb_noun pattern (list_agents, resolve_agent, paid_fetch, check_order, create_payment_link, spend_status). The naming is uniform and predictable, with minor stylistic variation in 'paid_fetch' but still adherent to the overall convention.

Tool Count5/5

With 6 tools, the set is well-scoped for the server's purpose of agent directory lookup, paid API invocation, and payment management. Each tool earns its place without redundancy or bloat.

Completeness5/5

The toolset covers the essential lifecycle: discovering agents, resolving their details, making paid calls, verifying payments, generating payment links, and monitoring spending. There are no obvious gaps that would hinder core workflows.

Maintenance

ActivitySlowing
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for AgentPay — the payment gateway for autonomous AI agents. Fund a wallet once, give your agent the key, and it discovers, provisions, and pays for tool APIs on its own. One key, every tool.
    112
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI agents to search, pay for, and call paid APIs using the x402 protocol, with automatic USDC settlement.
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that gives AI agents paid access to Invoket APIs, with discovery-driven tools, spending caps, and non-custodial payments via x402.
    70
    7
    1
    MIT