zunivo-mcp
OfficialThe zunivo-mcp server enables AI agents to interact with the Arc network by:
Discovering and resolving
.agentservices: List all available services (zunivo_list_agents) and look up an agent's payout address, endpoint, and manifest (zunivo_resolve_agent).Making paid API calls: Automatically handle
402 Payment Requiredresponses by paying the quoted USDC amount from the agent's wallet within budget limits, then retrying the request (zunivo_paid_fetch).Creating payment links: Generate shareable invoices for any USDC amount payable to an
.agentname or address (zunivo_create_payment_link).Monitoring orders and spending: Check payment link status and on-chain settlements (
zunivo_check_order), and track daily spending cap, spent amount, and remaining budget (zunivo_spend_status).Secure operations: Private keys are kept securely, payments are capped per call and daily, and
.agentrecipients are pinned to on-chain addresses.
Provides tools for discovering and paying .agent services on the Arc blockchain, enabling AI agents to resolve .agent names, list available agents, call paid APIs with automatic USDC payments, create payment links, and check order and spending status.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zunivo-mcpfind me a crypto index feed and get the latest value"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
|
|
| public directory of callable |
| call a paid API — 402 handled, USDC paid within budget, receipt returned |
| invoice anyone: returns a pay URL |
| order status + settling payments |
| 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). SetZUNIVO_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
.agentname, 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 toolszunivo_check_orderA
Check a payment link / order: status (unpaid or paid) and the on-chain payments that settled it.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | order id returned by zunivo_create_payment_link |
TDQS
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.
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.
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.
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.
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.
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_create_payment_linkA
Create a Zunivo payment link (invoice): anyone opening it can pay the given USDC amount to a .agent name or 0x address. Returns the pay URL and order id.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | recipient — .agent name or 0x address | |
| memo | No | ||
| amount | Yes | USDC amount, e.g. '25' or '0.50' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals that anyone with the link can pay (a public access model) and that it returns the pay URL and order ID. This goes beyond the schema, though it does not mention side effects like persistence or authentication requirements.
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, no filler. The first sentence explains what and how; the second states the return value. Every phrase earns its place, making it 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 no output schema, the description appropriately specifies return values (pay URL and order id). It covers the core behavior, but lacks details about prerequisites (e.g., whether the recipient must be a valid .agent) or the lifecycle of the order. Still, for a simple create operation, it is reasonably 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 description coverage is 67% (to and amount have descriptions, memo does not). The description reinforces the meaning of 'to' and 'amount' in the context of the payment link, but it does not clarify 'memo' at all, leaving a gap. It adds some value but does not fully compensate for the missing memo documentation.
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: 'Create a Zunivo payment link (invoice)' with a specific verb and resource. It explains the key functionality (anyone can pay USDC to a .agent name or 0x address) and distinguishes it from sibling tools, which are about listing, resolving, fetching, and checking statuses.
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 clear context for when to use the tool (when you need to create a payment link for someone to pay), but it does not explicitly name alternatives or state when not to use it. The unique creation purpose among siblings makes the usage context obvious, but explicit guidance is missing.
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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | full URL of the paid endpoint | |
| body | No | request body for POST (JSON string) | |
| path | No | path appended to the agent's endpoint, e.g. /v1/data | |
| agent | No | .agent name — endpoint is discovered on-chain | |
| method | No | GET |
TDQS
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.
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.
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.
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.
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.
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | .agent name to resolve |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
6 tool updates
v0.1.3- First observed
zunivo_check_order - First observed
zunivo_create_payment_link - First observed
zunivo_list_agents - First observed
zunivo_paid_fetch - First observed
zunivo_resolve_agent - First observed
zunivo_spend_status
TDQS
Scored across 6 tools
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.
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.
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.
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
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
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
Agent-commerce MCP server for x402/USDC payments and affiliate splits on Base.
15 paid AI agent primitives via x402 (USDC on Base). Pay-per-call MCP server.
MCP server for AI agents to discover campaigns by humans and donate USDC directly on Base.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP 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.1121MIT

opendexterofficial
AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to search, pay for, and call paid APIs using the x402 protocol, with automatic USDC settlement.2MIT- FlicenseAqualityBmaintenanceMCP server for a live x402 payment gateway on Base (USDC). Lets AI agents discover, preview for free, then pay per call — with prepaid gasless payments, signed receipts, and delta delivery.7-
- AlicenseAqualityAmaintenanceMCP server that gives AI agents paid access to Invoket APIs, with discovery-driven tools, spending caps, and non-custodial payments via x402.7071MIT