Peer

io.github.zkp2pPublished by GitHub account zkp2pv0.4.1Updated Oct 27, 2026

Read Peer protocol, market, checkout, and Peer Cash data through one MCP server.

VerifiedStreamable HTTPWeb executableDatabasesFinance

Overview

AI-generated overview

Remote MCP server for the Peer protocol that lets an assistant read fiat-to-USDC quotes, deposits, intents, vaults and Peer Cash data.

What you can do
  • Get fiat-to-USDC exchange quotes and resolve payee hashes from on-chain deposit data
  • List and inspect deposits, including ProtocolViewer and indexer variants, fund activities and daily snapshots
  • List and inspect intents, fulfillment inputs, hooks, fulfillment events and amounts
  • Read vault details, delegated deposits, snapshots, rate updates, manager fees and effective rates
  • Validate oracle feeds and check inline oracle support
  • Run raw GraphQL queries against the indexer
When to use it
Useful when an assistant needs to look up Peer protocol state — quotes, deposits, intents, vaults or Peer Cash orders — without running local tooling. The hosted endpoint is read-only, so it suits research, monitoring and reconciliation rather than signing or broadcasting.
Requirements
Nothing to install for the hosted endpoint at mcp.peer.xyz over Streamable HTTP. The local CLI alternative needs Node.js 22 or newer and the peer-protocol-cli package; optional credentials include PEER_API_KEY, PEER_INDEXER_API_KEY, PEER_MARKET_API_KEY and PEER_PAY_API_KEY.
Before you install
The hosted server exposes only the read-only profile, but the local CLI can run cash and full profiles that prepare transactions; write tools preview unless started with --yes. Signer material comes from PEER_PRIVATE_KEY or a wallet file, and a private key passed on the command line is visible in process listings. Raw GraphQL queries can be expensive.

Installation

In SourceWeft

  1. Open Peer in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.zkp2p%2Fpeer/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "peer": {
      "type": "http",
      "url": "https://mcp.peer.xyz/mcp"
    }
  }
}

README

peer-cli

The canonical agent interface for Peer: one JSON-first CLI, local and hosted MCP servers, and one generated contract for protocol, indexer, market, checkout, and Peer Cash workflows.

The generated files come from the runtime registries. Do not hand-maintain a second command list in documentation.

Install

Node.js 22 or newer is required.

The package is peer-protocol-cli; do not install the unrelated unscoped peer-cli package.

bash
npm install --global [email protected]peer --help

Run without a global install:

bash
npx -y [email protected] quote --from USD --amount 100 --platform wise

Successful output is JSON by default. Errors always use the canonical JSON error envelope on stderr. --format table changes successful human-facing output only.

Safety model

Read commands execute immediately. Commands that can mutate state return a transaction or API preview first and execute only when the process receives --yes.

Signer material resolves from PEER_PRIVATE_KEY or --wallet-path. Passing a private key on the command line is supported but visible in process listings; prefer the environment or an owner-readable wallet file. Persistent config and checkout caches are written with owner-only permissions.

Never start a write-capable MCP process with --yes unless every write tool in that process is intentionally allowed to broadcast without a second CLI preview.

MCP profiles

peer mcp requires one of three explicit profiles:

  • read-only — default protocol reads plus Peer Cash reads. No signing or broadcasting.
  • cash — the complete custody-separated peer_cash_* surface. It prepares unsigned transaction plans but never accepts a private key, signs, or broadcasts.
  • full — every generic CLI-backed MCP tool plus Peer Cash. Generic write tools still preview unless the MCP process was started with global --yes.

The current tool counts are generated in agents/runtime-manifest.json.

json
{  "mcpServers": {    "peer": {      "command": "npx",      "args": [        "-y",        "[email protected]",        "mcp",        "--profile",        "read-only"      ]    }  }}

Use --profile cash for the portable Peer Cash workflow or --profile full for the complete operator surface.

The hosted MCP server exposes only the read-only profile over Streamable HTTP:

text
https://mcp.peer.xyz/mcp

Run the same transport yourself with peer mcp --transport http. HTTP refuses the cash and full profiles; those authority-bearing profiles remain local stdio processes.

Peer Cash

The retired standalone peer-cash-mcp server now lives here. Its tool names and custody boundary are unchanged:

  1. peer_cash_capabilities / peer_cash_source_capabilities — fetch live payout rails and Relay-supported source chains and tokens.
  2. peer_cash_fill_stats / peer_cash_buyer — inspect historical fill evidence and buyer protocol history.
  3. peer_cash_quote_source / peer_cash_relay_status — quote and track a cross-chain route into Base USDC without granting signer authority.
  4. peer_cash_estimate — estimate fiat received at the current oracle rate.
  5. peer_cash_prepare — return ordered unsigned approval and deposit transactions.
  6. peer_cash_finalize — resolve a confirmed receipt into a durable depositId.
  7. peer_cash_order / peer_cash_orders — resume and inspect orders.
  8. peer_cash_prepare_access_policy, peer_cash_prepare_withdraw, and peer_cash_prepare_top_up — prepare follow-up transactions.

Base USDC amounts are decimal strings in 6-decimal base units: 100 USDC is 100000000. Estimates are not locked quotes; the binding Chainlink rate resolves when a buyer fills.

Install the packaged portable skill from skills/peer-cash/SKILL.md when the agent host supports Agent Skills.

Configuration

Configuration resolves in this order:

  1. CLI flags
  2. environment variables
  3. ~/.peer/config.json
  4. runtime defaults

Common settings:

  • PEER_ENV: production, preproduction, or staging
  • PEER_PRIVATE_KEY / PEER_WALLET_PATH: signer material for generic write commands
  • PEER_RPC_URL: Base RPC override
  • PEER_API_KEY: Curator API key when required
  • PEER_INDEXER_API_KEY / PEER_INDEXER_URL: indexer overrides
  • PEER_MARKET_API_KEY / PEER_MARKET_BASE_URL: Peerlytics access
  • PEER_PAY_API_KEY / PEER_PAY_BASE_URL: hosted checkout access
  • PEER_BASE_API_URL: Curator override. Defaults follow PEER_ENV: api.zkp2p.xyz, api-preprod.zkp2p.xyz, or api-staging.zkp2p.xyz.
  • PEER_CASH_RPC_URL, PEER_CASH_API_KEY, PEER_CASH_REFERRAL_CODE, and PEER_CASH_REFERRER: cash-profile overrides

Use peer config show, set, unset, and reset for persistent local settings. peer config show masks secret values. Prefer environment variables for credentials.

Command families

The CLI covers:

  • quotes, payee registration, and payee-hash resolution
  • deposit lifecycle, payment methods, currencies, oracle configuration, and batch updates
  • intents, pre-intent hooks, fulfillment, release, and cleanup
  • StakeVault deposits, withdrawals, authorization, indexed freshness, and matured chargeback releases
  • IntentGuardian policy, live extension quotes, payer funding, and preview-first intent extension
  • ProtocolViewer and indexer reads, including a raw GraphQL escape hatch
  • vaults, rate managers, delegation, fees, and snapshots
  • Peerlytics market, explorer, history, attribution, and API-key operations
  • USDC balances and transfers
  • hosted checkout creation, reads, cancellation, and local resume cache
  • local config and environment inspection

Run peer --help, peer <family> --help, or inspect the generated tool catalog for the exact current paths, flags, schemas, auth requirements, and danger markers.

Every command also accepts --params <json> and --params-file <path>. Typed flags override raw values.

Development

This repository uses npm and its committed package-lock.json.

bash
npm installnpm run dev -- quote --from USD --amount 100 --platform wisenpm run check

npm run build regenerates all agent catalogs before bundling peer and the public MCP library entry point. Run npm run test:e2e after changing networked flows or checkout behavior.

The documentation application for agents.peer.xyz is owned by zkp2p/zkp2p-clients at clients/agents; this repository owns the executable runtime, package manifests, portable skill, and generated contracts it documents.

UPI

UPI/INR is available in production, preproduction and staging, matching the @zkp2p/sdk catalog. peer config platforms lists it alongside the other rails, and peer quote --from INR --amount 100 --platform upi requests a quote. Deposit creation, payee registration and intent previews accept the same platform.

Source: README.md at commit 5abfb3e

Tools

97

peer_quote

Get fiat-to-USDC exchange quotes.

ParameterstofromuseramountparamsplatformrecipienttokenAmountquotesToReturndestinationChainId

peer_payee_resolve_hash

Resolve a payee hash from on-chain deposit data.

ParametersparamsdepositIdrequiredpaymentMethodHashrequired

peer_deposit_list

List deposits owned by the configured wallet or explicit owner.

Parametersownerparams

peer_deposit_show

Show a single deposit by deposit ID.

ParametersparamsdepositIdrequired

peer_deposit_show_many

Show multiple deposits by ID.

Parametersidsparams

peer_pv_deposit_show

Fetch a deposit directly from ProtocolViewer.

ParametersparamsdepositIdrequired

peer_pv_deposit_show_many

Fetch multiple deposits directly from ProtocolViewer.

Parametersidsparams

peer_pv_deposit_list_owner

Fetch deposits for an owner directly from ProtocolViewer.

Parametersownerparams

peer_indexer_deposits_list

List deposits via the indexer.

Parametersfilterparamspagination

peer_indexer_deposits_list_relations

List deposits with related entities via the indexer.

Parametersfilterparamsoptionspagination

peer_indexer_deposits_show

Fetch a deposit by composite ID via the indexer.

ParametersparamsoptionscompositeIdrequired

peer_indexer_deposits_by_ids

Fetch multiple deposits by composite ID.

Parametersidsparams

peer_indexer_deposits_by_ids_relations

Fetch multiple deposits with relations by composite ID.

Parametersidsparamsoptions

peer_indexer_deposits_fund_activities

Fetch fund activities for a deposit.

ParametersparamsdepositIdrequired

peer_indexer_makers_fund_activities

Fetch maker-level fund activities.

Parameterslimitmakerrequiredparams

peer_indexer_deposits_snapshots

Fetch deposit daily snapshots.

ParameterslimitparamsdepositIdrequired

peer_indexer_query

Perform a raw GraphQL query against the indexer. Use sparingly; arbitrary queries can be expensive.

Parametersqueryparamsvariables

peer_intent_list

List intents for the configured wallet or explicit owner.

Parametersownerparams

peer_intent_show

Show a single intent by hash.

ParametersparamsintentHashrequired

peer_intent_fulfill_inputs

Inspect fulfill routing inputs for an intent.

ParametersparamsintentHashrequired

peer_intent_hook_pre_get

Get the pre-intent hook for a deposit.

ParametersparamsdepositIdrequired

peer_pv_intent_list_owner

Fetch intents for an owner directly from ProtocolViewer.

Parametersownerparams

peer_pv_intent_show

Fetch a single intent directly from ProtocolViewer.

ParametersparamsintentHashrequired

peer_indexer_intents_by_deposit_ids

Fetch intents for multiple deposits via the indexer.

ParametersparamsstatusesdepositIds

peer_indexer_intents_by_owner

Fetch intents by owner via the indexer.

Parametersownerrequiredparamsstatuses

peer_indexer_intents_show

Fetch a single intent via the indexer.

ParametersparamsintentHashrequired

peer_indexer_intents_expired

Fetch expired intents via the indexer.

ParametersnowlimitparamsdepositIds

peer_indexer_intents_fulfilled_events

Fetch fulfillment events for intents.

Parametershashesparams

peer_indexer_intents_fulfillment_amounts

Fetch fulfillment amounts for an intent.

ParametersparamsintentHashrequired

peer_indexer_intents_fulfillment_and_payment

Fetch fulfillment and payment records for an intent.

ParametersparamsintentHashrequired

peer_vault_list

List vaults via the indexer.

Parameterslimitfilteroffsetparamsmanagerpagination

peer_vault_show

Show vault details by rateManagerId.

ParametersparamsrateManagerIdrequired

peer_vault_delegates

List delegated deposits for a vault.

ParameterslimitoffsetparamspaginationrateManagerIdrequired

peer_vault_snapshots

Fetch daily snapshots for a vault.

ParameterslimitparamsoptionsrateManagerIdrequired

peer_vault_manual_rate_updates

Fetch manual rate updates for a vault.

ParameterslimitparamsoptionsrateManagerIdrequired

peer_vault_oracle_config_updates

Fetch oracle config updates for a vault.

ParameterslimitparamsoptionsrateManagerIdrequired

peer_vault_manager_fee

Read the effective manager fee for a delegated deposit.

ParametersescrowparamsdepositId

peer_vault_effective_rate

Read the effective rate for a delegated deposit pair.

ParametersescrowparamscurrencyplatformdepositId

peer_oracle_supports_inline

Check whether the current escrow deployment supports inline oracle configs.

ParametersparamsescrowAddress

peer_oracle_validate_feeds

Validate bundled oracle feeds on-chain.

Parametersparams

peer_delegate_show

Show current controller-based delegation for a deposit.

Parametersescrowparamsdeposit

peer_indexer_delegations_by_deposit

Fetch the delegation record for a composite deposit ID via the indexer.

ParametersparamsoptionsdepositIdrequired

peer_market_spreads

Fetch current market spreads from Peerlytics.

ParameterslimitparamscurrencyplatformincludeRates

peer_market_orderbook

Fetch the live P2P orderbook from Peerlytics.

ParametersparamsminSizecurrencyplatform

peer_market_compare

Compare live quote availability across platforms using the published SDK quote route.

ParametersfromamountparamsplatformrecipientquotesToReturn

peer_market_volume

Fetch Peerlytics protocol volume and analytics for a time range.

Parametersrangeparamscurrencyplatform

peer_market_leaderboard

Fetch maker and taker leaderboard data from Peerlytics.

Parameterslimitoffsetparams

peer_market_protocol_stats

Fetch aggregate Peerlytics protocol statistics.

Parametersparams

peer_market_vaults

Fetch Peerlytics vault analytics.

Parameterslimitoffsetparams

peer_market_explorer_address

Look up a wallet address profile on Peerlytics.

Parameterslimitoffsetparamsaddressrequired

peer_market_explorer_deposit

Look up a deposit on Peerlytics.

Parametersidrequiredlimitoffsetparams

peer_market_explorer_intent

Look up an intent on Peerlytics.

Parametershashrequiredparams

peer_market_explorer_maker

Look up a maker profile on Peerlytics.

Parametersparamsaddressrequired

peer_market_explorer_verifier

Look up a verifier profile on Peerlytics.

Parametersparamsaddressrequired

peer_market_explorer_vault

Look up a vault on Peerlytics.

Parametersidrequiredparams

peer_market_deposits

Query deposits from Peerlytics with filtering.

Parameterslimitoffsetparamsstatuscurrencydelegateplatformacceptingdepositor

peer_market_intents

Query intents from Peerlytics with filtering.

ParameterslimitowneroffsetparamsstatusdepositIdrecipient

peer_market_activity

Fetch recent protocol activity from Peerlytics.

Parameterstypelimitsinceparams

peer_market_taker_history

Fetch taker activity history for an address from Peerlytics.

Parametersparamsaddressrequired

peer_market_maker_history

Fetch maker activity history for an address from Peerlytics.

Parametersparamsaddressrequired

peer_market_meta_platforms

List supported payment platforms from Peerlytics with method hashes.

Parametersparams

peer_market_meta_currencies

List supported currencies from Peerlytics.

Parametersparams

peer_market_api_key_list

List Peerlytics API keys for the authenticated account.

Parametersparams

peer_market_credits

Check Peerlytics API credit balance and usage.

Parametersparams

peer_balance

Read the current USDC balance for an address.

Parameterstokenparamsaddress

peer_checkout_list

List checkout sessions from the Pay API, with a local cache fallback.

ParameterspageparamsstatuspageSize

peer_checkout_show

Show a single checkout session or poll its latest status.

ParametersparamssessionIdrequired

peer_config_show

Show the stored Peer CLI config merged with current global flags.

Parametersparams

peer_config_platforms

List supported payment platforms.

Parametersparams

peer_config_currencies

List supported fiat currencies.

Parametersparams

peer_stake_state

Read the authoritative StakeVault state for a staker and optional taker.

Parameterstakerparamsstakerrequired

peer_stake_indexed_state

Read indexed staking, authorization, claim, and risk-window state with freshness metadata.

Parameterstakerrequiredparams

peer_stake_balance

Read total stake owned by an address.

Parametersownerrequiredparams

peer_stake_locked

Read stake locked behind active chargeback windows.

Parametersownerrequiredparams

peer_stake_free

Read stake available for withdrawal or a new lock.

Parametersownerrequiredparams

peer_stake_claimable

Read non-stake USDC claimable by a beneficiary.

Parametersparamsbeneficiaryrequired

peer_stake_owner

Resolve the effective stake owner backing a taker.

Parameterstakerrequiredparams

peer_stake_selected_owner

Read the stake owner selected by a taker before authorization checks.

Parameterstakerrequiredparams

peer_stake_authorization

Read whether a stake owner authorizes a taker.

Parametersownerrequiredtakerrequiredparams

peer_stake_admissions_paused

Read whether chargebackable intent admissions are paused.

Parametersparams

peer_stake_risk_window

Read the minimum collateral lock window for a payment method.

ParametersparamspaymentMethodHashrequired

peer_stake_dispute_protection_enabled

Read whether a deposit has dispute protection enabled for a payment method.

ParametersescrowrequiredparamsdepositIdrequiredpaymentMethodrequired

peer_guardian_available

Check whether the selected environment has an IntentGuardian deployment.

Parametersparams

peer_guardian_policy

Read the live IntentGuardian fee and extension policy.

Parametersparams

peer_guardian_quote_extension

Quote the authoritative on-chain cost to extend an intent.

ParametersparamsintentAmountrequiredadditionalSecondsrequired

peer_guardian_payer_funding

Read payer token balance and allowance available to IntentGuardian.

Parameterspayerrequiredtokenrequiredparams

peer_cash_capabilities

Discover Peer Cash capabilities

Return live Base USDC destinations, payout platforms, fiat currencies, payee hints, amount bounds, and pricing. Call this before naming a rail or currency.

ParametersincludeRelaySources

peer_cash_fill_stats

Read Peer Cash fill statistics

Return trailing 30-day fill counts and first-fill timing by payout platform and currency. Use this as historical routing evidence, never as a guarantee.

Takes no parameters.

peer_cash_source_capabilities

Discover cross-chain source assets

Return live Relay-supported EVM source chains and tokens that can route into Base USDC before a Peer Cash order.

Takes no parameters.

peer_cash_quote_source

Quote a source asset into Base USDC

Quote a live Relay route from an EVM source asset into Base USDC. The response contains unsigned transaction data; this tool never signs or submits it.

ParametersuserrequiredamountrequiredrecipienttradeTypesourceChainIdrequiredsourceCurrencyrequired

peer_cash_relay_status

Read Relay execution status

Track a previously submitted cross-chain source route by Relay request ID. Retry this read; never resubmit from an unknown status.

ParametersrequestIdrequired

peer_cash_estimate

Estimate fiat received

Estimate fiat received for Base USDC at the live Chainlink oracle rate. This is not a locked quote; the binding rate resolves when a buyer fills.

Parametersamountrequiredcurrencyrequiredplatform

peer_cash_finalize

Finalize a confirmed cash-out deposit

Read a confirmed Base createDeposit receipt and resolve the resumable Peer deposit id. Call only after the host confirms the createDeposit transaction.

ParameterstransactionHashrequired

peer_cash_buyer

Read a Peer Cash buyer profile

Return protocol history for the buyer that matched an order so an automation can assess delivery context without trusting display identity.

Parametersaddressrequired

peer_cash_order

Read a Peer Cash order

Return one order state, amounts, fills, and next actions from its deposit id. Brief ORDER_NOT_FOUND responses after finalization may be indexer lag; retry this read, never the deposit transaction.

ParametersdepositIdrequired

peer_cash_orders

List Peer Cash orders

List orders owned by a maker wallet, optionally limited to orders that still need attention.

ParameterslimitownerrequiredinFlight

Version history

2
  1. v0.4.1LatestSep 21, 2026
  2. v0.4.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts