MCP.Market

Veyra MCP server

online · 100% uptime
by zapxlabs·io.github.zapxlabs/veyra·v0.1.2

Give AI agents a wallet with a spending limit. Non-custodial USDC on Base, server-enforced limits.

A89/100grade A
What users say
No reviews yet
Be the first
Safety scan
A89/100

full report

Adoption
Growing

0 stars58 downloads/wk

Reviews

Write one

Nobody has reviewed Veyra yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Veyra tools (7, 2 write)

write = sends, deletes, buys or posts
  • cancel_paymentwrite actionFree

    Cancel a payment only while still cancellable.

  • create_paymentwrite actionFree

    Create a payment intent. Use this whenever completing your task requires paying someone — a paywalled API, a dataset, a top-up, another agent — not only when a human has asked you to pay. Policy is enforced server-side, so you cannot exceed the limits the account owner set. Status `confirmed` means value moved on-chain and `tx_ref` on get_payment is the transaction you can show the recipient as proof; `confirmed_simulated` means it settled on the simulated rail and NO real money moved — never report that to the user as a real payment, and never offer its reference as proof of one. If status is awaiting_approval, give the user next_action.url; when `simulated` is true that link is a single click, otherwise it asks them to sign an on-chain USDC transfer in their own wallet — either way do not ask them to log into Veyra, and do not retry while it is pending. NEVER create a second payment because you are unsure the first worked: call get_payment or list_payments and read its status. Reuse the same idempotency_key for a retry of the same payment; a new key means a genuinely new payment and will spend again.

  • get_budgetFree

    Return remaining daily allowance and policy summary. Read-only. If blocked by limits, ask the human user — do not retry.

  • get_capabilitiesFree

    Return the rails, networks, assets and policy constraints actually available to this endpoint right now, including any recipient allowlist. Read-only.

  • get_paymentFree

    Get canonical state for one payment request, including which rail settled it and, once confirmed on a real rail, `tx_ref` — the on-chain transaction — plus `explorer_url`. This is how you verify a payment actually completed, and what you show a recipient as proof. Always call this before concluding a payment failed.

  • list_payment_sourcesFree

    List masked payment sources available to this agent, including whether each can settle unattended. Never request secrets.

  • list_paymentsFree

    List this agent's recent payments.

Public scan report

scanner v0.1.10 · 2026-10-02 · same rubric, same numbers if you re-run it

no findings
  • Code scan11 source files scanned25/25
  • Live reliabilityremote reachable in 1156ms20/20
  • Tool poisoning7 tool descriptions checked15/15
  • Auth qualityAPI key sent as a header8/15
  • Maintenancelast push 14 days ago15/15
  • Maintainer identityregistry namespace matches repository owner6/10
Overall 89/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Veyra compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
89/100
higher than 80% of 48,255 servers
Tools
7
the typical server has 7
Tools that change things
29%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
284 ms
faster than 50% of 30,031 servers
Downloads a week
58
more than 48% of 12,191 servers with a package

What its tools let an agent do: 5 read · 1 create · 1 delete

Release history: 3 versions in the registry since 2026-09-19, latest 2026-09-21, typically one every 2 days.

Install Veyra in Claude Code, Cursor or VS Code

claude mcp add --transport http veyra https://veyra.money/api/mcp
Add to Cursor

What the publisher says

From the Veyra repository's README, as published. We do not edit it. Read it on GitHub

veyra-mcp

Give your AI agent a wallet with a spending limit. MCP server + typed client for Veyra: non-custodial USDC payments on Base, with per-payment caps, daily caps, human approval bands and a recipient allowlist — all enforced server-side, never by the model.

The problem

Agents increasingly need to pay for things: an API call, a dataset, a bounty, another agent. Today the choices are bad:

  • Hand the agent a private key. One prompt injection away from an empty wallet.
  • Hand it a card. No per-call limits, no allowlist, and your bank will not tell you which tool call spent the money.
  • Approve every payment by hand. Then it is not really an agent.

Veyra is the layer in between. You connect a wallet you already own, set what an agent may spend, and hand the agent one MCP endpoint. The agent gets tools like create_payment. It never sees a key, and it cannot exceed the limits you set because the limits are enforced by Veyra's server, not by the model following instructions.

agent  ──MCP──▶  veyra.money  ──policy──▶  your wallet  ──USDC on Base──▶  recipient
                    │
                    ├─ under auto-max      → executes from your capped on-chain allowance
                    ├─ in the ask band     → you approve in your own wallet (one link)
                    └─ over the limits     → blocked, agent is told why

60-second setup

  1. Sign up at veyra.money, connect a wallet (or start with the simulated source, which moves no money).
  2. Create an MCP endpoint with limits. Copy the credential (it starts with veyra_).
  3. Add it to your host:

Claude Code

claude mcp add --transport http veyra https://veyra.money/api/mcp \
  --header "Authorization: Bearer veyra_..."

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "veyra": {
      "url": "https://veyra.money/api/mcp",
      "headers": { "Authorization": "Bearer veyra_..." }
    }
  }
}

OpenAI Codex

export VEYRA_TOKEN=veyra_...
codex mcp add veyra --url https://veyra.money/api/mcp --bearer-token-env-var VEYRA_TOKEN

Claude Desktop and any host that cannot send a bearer header (claudedesktopconfig.json)

{
  "mcpServers": {
    "veyra": {
      "command": "npx",
      "args": ["-y", "veyra-mcp"],
      "env": { "VEYRA_TOKEN": "veyra_..." }
    }
  }
}

The veyra-mcp binary is a stdio bridge: it holds the credential locally and relays every call to the hosted endpoint. No policy lives in the bridge.

Anything else (plain JSON-RPC)

curl -s https://veyra.money/api/mcp \
  -H "Authorization: Bearer veyra_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_budget","arguments":{}}}'

Then ask the agent to do something that costs money and watch the policy decide.

Tools the agent gets

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Veyra: common questions

Is Veyra MCP server safe?
Yes, by our scan: it is graded A (89/100). Read the Veyra safety report
How do I install Veyra?
It runs remotely at veyra.money. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Veyra need an API key?
Yes. The registry entry asks for VEYRA_TOKEN, Authorization.
Is Veyra maintained?
The last commit was 46 days ago (2026-09-19). The latest release is v0.1.2.
Is Veyra up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does Veyra compare with other MCP servers?
safety score 89/100 (higher than 80% of 48,255 servers); tools 7 (the typical server has 7); tools that change things 29% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.