# Peer (remote · mcp.peer.xyz)

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

- Trust score: 67/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-15

## Components

- remote · `mcp.peer.xyz`: 67/100 (this document), [markdown](https://verifymcp.io/servers/zkp2p-peer/mcp.md), [page](https://verifymcp.io/servers/zkp2p-peer/mcp)

## Channel facts

- Endpoint: `https://mcp.peer.xyz/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.4.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-15.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 10 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 54/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 5228 tokens (~53/item across 97 items; 97 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 46/100
  - Stability check failed: schema churn in the 14 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 1 additions.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 97 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 97 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Peer MCP server?

Peer is a hosted endpoint at https://mcp.peer.xyz/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http zkp2p-peer 'https://mcp.peer.xyz/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "zkp2p-peer": {
      "url": "https://mcp.peer.xyz/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "zkp2p-peer": {
      "type": "http",
      "url": "https://mcp.peer.xyz/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.zkp2p-peer]
url = "https://mcp.peer.xyz/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "zkp2p-peer": {
      "type": "remote",
      "url": "https://mcp.peer.xyz/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add zkp2p-peer --url 'https://mcp.peer.xyz/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  zkp2p-peer:
    url: "https://mcp.peer.xyz/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "zkp2p-peer": {
      "Transport": "http",
      "Url": "https://mcp.peer.xyz/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add zkp2p-peer -t streamable-http -u 'https://mcp.peer.xyz/mcp'
```

### Other

```json
{
  "mcpServers": {
    "zkp2p-peer": {
      "type": "http",
      "url": "https://mcp.peer.xyz/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-15 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 42 to 46.

### 2026-09-13 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 36 to 39.

### 2026-09-10 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 26 to 29.

### 2026-09-09 (score 64, 0)

- [security] Tool “peer_config_platforms” rewrote its description, which is the text the model reads
- [functional] Server version: 0.3.1 → 0.4.0

### 2026-09-08 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 19 to 22.

### 2026-09-06 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 12 to 16.

### 2026-09-04 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 6 to 9.

### 2026-09-03 (score 61, 0)

- [security regression] Stability: 0.03 → fail
- [security regression] A breaking change shipped without a version bump: still 0.3.1
- [security regression] Tool “peer_stake_chargeback_enabled” was removed
- [functional] New tool “peer_stake_dispute_protection_enabled”

## MCP tools (97)

### `peer_quote` (~121 tokens)

Get fiat-to-USDC exchange quotes.

Input parameters:

- `amount` (number): Fiat or token amount.
- `destinationChainId` (number): Destination chain.
- `from` (string): Fiat currency code.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `platform` (string): Payment platform.
- `quotesToReturn` (number): Quote count.
- `recipient` (string): Recipient address.
- `to` (string): Destination token.
- `tokenAmount` (number): Exact token amount.
- `user` (string): User address.

### `peer_payee_resolve_hash` (~60 tokens)

Resolve a payee hash from on-chain deposit data.

Input parameters:

- `depositId` (string, required): Deposit ID.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `paymentMethodHash` (string, required): Payment method hash.

### `peer_deposit_list` (~45 tokens)

List deposits owned by the configured wallet or explicit owner.

Input parameters:

- `owner` (string): Owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_deposit_show` (~43 tokens)

Show a single deposit by deposit ID.

Input parameters:

- `depositId` (string, required): Deposit ID.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_deposit_show_many` (~41 tokens)

Show multiple deposits by ID.

Input parameters:

- `ids` (string): Deposit IDs.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_pv_deposit_show` (~45 tokens)

Fetch a deposit directly from ProtocolViewer.

Input parameters:

- `depositId` (string, required): Deposit ID.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_pv_deposit_show_many` (~45 tokens)

Fetch multiple deposits directly from ProtocolViewer.

Input parameters:

- `ids` (string): Deposit IDs.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_pv_deposit_list_owner` (~47 tokens)

Fetch deposits for an owner directly from ProtocolViewer.

Input parameters:

- `owner` (string): Owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_deposits_list` (~53 tokens)

List deposits via the indexer.

Input parameters:

- `filter` (object): Filter object.
- `pagination` (object): Pagination object.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_deposits_list_relations` (~67 tokens)

List deposits with related entities via the indexer.

Input parameters:

- `filter` (object): Filter object.
- `options` (object): Relation options.
- `pagination` (object): Pagination object.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_deposits_show` (~58 tokens)

Fetch a deposit by composite ID via the indexer.

Input parameters:

- `compositeId` (string, required): Composite ID.
- `options` (object): Relation options.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_deposits_by_ids` (~45 tokens)

Fetch multiple deposits by composite ID.

Input parameters:

- `ids` (string): Composite IDs.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_deposits_by_ids_relations` (~58 tokens)

Fetch multiple deposits with relations by composite ID.

Input parameters:

- `ids` (string): Composite IDs.
- `options` (object): Relation options.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_deposits_fund_activities` (~49 tokens)

Fetch fund activities for a deposit.

Input parameters:

- `depositId` (string, required): Composite deposit ID.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_makers_fund_activities` (~54 tokens)

Fetch maker-level fund activities.

Input parameters:

- `limit` (number): Activity limit.
- `maker` (string, required): Maker address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_deposits_snapshots` (~54 tokens)

Fetch deposit daily snapshots.

Input parameters:

- `depositId` (string, required): Composite deposit ID.
- `limit` (number): Snapshot limit.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_query` (~66 tokens)

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

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `query` (string): GraphQL query.
- `variables` (object): GraphQL variables.

### `peer_intent_list` (~44 tokens)

List intents for the configured wallet or explicit owner.

Input parameters:

- `owner` (string): Owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_intent_show` (~42 tokens)

Show a single intent by hash.

Input parameters:

- `intentHash` (string, required): Intent hash.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_intent_fulfill_inputs` (~46 tokens)

Inspect fulfill routing inputs for an intent.

Input parameters:

- `intentHash` (string, required): Intent hash.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_intent_hook_pre_get` (~47 tokens)

Get the pre-intent hook for a deposit.

Input parameters:

- `depositId` (string, required): Deposit ID.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_pv_intent_list_owner` (~47 tokens)

Fetch intents for an owner directly from ProtocolViewer.

Input parameters:

- `owner` (string): Owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_pv_intent_show` (~46 tokens)

Fetch a single intent directly from ProtocolViewer.

Input parameters:

- `intentHash` (string, required): Intent hash.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_intents_by_deposit_ids` (~59 tokens)

Fetch intents for multiple deposits via the indexer.

Input parameters:

- `depositIds` (array): Deposit IDs.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `statuses` (array): Intent statuses.

### `peer_indexer_intents_by_owner` (~55 tokens)

Fetch intents by owner via the indexer.

Input parameters:

- `owner` (string, required): Owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `statuses` (array): Intent statuses.

### `peer_indexer_intents_show` (~46 tokens)

Fetch a single intent via the indexer.

Input parameters:

- `intentHash` (string, required): Intent hash.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_intents_expired` (~64 tokens)

Fetch expired intents via the indexer.

Input parameters:

- `depositIds` (array): Deposit IDs.
- `limit` (number): Result limit.
- `now` (string): Current time.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_intents_fulfilled_events` (~45 tokens)

Fetch fulfillment events for intents.

Input parameters:

- `hashes` (array): Intent hashes.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_intents_fulfillment_amounts` (~48 tokens)

Fetch fulfillment amounts for an intent.

Input parameters:

- `intentHash` (string, required): Intent hash.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_intents_fulfillment_and_payment` (~50 tokens)

Fetch fulfillment and payment records for an intent.

Input parameters:

- `intentHash` (string, required): Intent hash.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_vault_list` (~77 tokens)

List vaults via the indexer.

Input parameters:

- `filter` (object): Filter options.
- `limit` (number): Result limit.
- `manager` (string): Manager address.
- `offset` (number): Offset.
- `pagination` (object): Pagination options.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_vault_show` (~44 tokens)

Show vault details by rateManagerId.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `rateManagerId` (string, required): Vault identifier.

### `peer_vault_delegates` (~71 tokens)

List delegated deposits for a vault.

Input parameters:

- `limit` (number): Result limit.
- `offset` (number): Offset.
- `pagination` (object): Pagination options.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `rateManagerId` (string, required): Vault identifier.

### `peer_vault_snapshots` (~62 tokens)

Fetch daily snapshots for a vault.

Input parameters:

- `limit` (number): Result limit.
- `options` (object): Snapshot options.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `rateManagerId` (string, required): Vault identifier.

### `peer_vault_manual_rate_updates` (~64 tokens)

Fetch manual rate updates for a vault.

Input parameters:

- `limit` (number): Result limit.
- `options` (object): Query options.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `rateManagerId` (string, required): Vault identifier.

### `peer_vault_oracle_config_updates` (~65 tokens)

Fetch oracle config updates for a vault.

Input parameters:

- `limit` (number): Result limit.
- `options` (object): Query options.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `rateManagerId` (string, required): Vault identifier.

### `peer_vault_manager_fee` (~56 tokens)

Read the effective manager fee for a delegated deposit.

Input parameters:

- `depositId` (string): Deposit ID.
- `escrow` (string): Escrow address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_vault_effective_rate` (~75 tokens)

Read the effective rate for a delegated deposit pair.

Input parameters:

- `currency` (string): Fiat currency.
- `depositId` (string): Deposit ID.
- `escrow` (string): Escrow address.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `platform` (string): Payment method.

### `peer_oracle_supports_inline` (~49 tokens)

Check whether the current escrow deployment supports inline oracle configs.

Input parameters:

- `escrowAddress` (string): Escrow address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_oracle_validate_feeds` (~34 tokens)

Validate bundled oracle feeds on-chain.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_delegate_show` (~52 tokens)

Show current controller-based delegation for a deposit.

Input parameters:

- `deposit` (string): Deposit ID.
- `escrow` (string): Escrow address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_indexer_delegations_by_deposit` (~66 tokens)

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

Input parameters:

- `depositId` (string, required): Composite deposit ID.
- `options` (object): Delegation query options.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_spreads` (~72 tokens)

Fetch current market spreads from Peerlytics.

Input parameters:

- `currency` (string): Fiat currencies.
- `includeRates` (boolean): Include rate entries.
- `limit` (number): Result limit.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `platform` (string): Payment platforms.

### `peer_market_orderbook` (~66 tokens)

Fetch the live P2P orderbook from Peerlytics.

Input parameters:

- `currency` (string): Fiat currency.
- `minSize` (number): Minimum size.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `platform` (string): Payment platforms.

### `peer_market_compare` (~85 tokens)

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

Input parameters:

- `amount` (number): Fiat amount.
- `from` (string): Fiat currency code.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `platform` (string): Payment platforms.
- `quotesToReturn` (number): Quote count.
- `recipient` (string): Recipient address.

### `peer_market_volume` (~64 tokens)

Fetch Peerlytics protocol volume and analytics for a time range.

Input parameters:

- `currency` (string): Fiat currencies.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `platform` (string): Payment platforms.
- `range` (string): Analytics range.

### `peer_market_leaderboard` (~55 tokens)

Fetch maker and taker leaderboard data from Peerlytics.

Input parameters:

- `limit` (number): Result limit.
- `offset` (number): Offset.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_protocol_stats` (~33 tokens)

Fetch aggregate Peerlytics protocol statistics.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_vaults` (~50 tokens)

Fetch Peerlytics vault analytics.

Input parameters:

- `limit` (number): Result limit.
- `offset` (number): Offset.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_explorer_address` (~62 tokens)

Look up a wallet address profile on Peerlytics.

Input parameters:

- `address` (string, required): Address.
- `limit` (number): Result limit.
- `offset` (number): Offset.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_explorer_deposit` (~62 tokens)

Look up a deposit on Peerlytics.

Input parameters:

- `id` (string, required): Deposit ID.
- `limit` (number): Result limit.
- `offset` (number): Offset.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_explorer_intent` (~45 tokens)

Look up an intent on Peerlytics.

Input parameters:

- `hash` (string, required): Intent hash.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_explorer_maker` (~46 tokens)

Look up a maker profile on Peerlytics.

Input parameters:

- `address` (string, required): Maker address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_explorer_verifier` (~47 tokens)

Look up a verifier profile on Peerlytics.

Input parameters:

- `address` (string, required): Verifier address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_explorer_vault` (~45 tokens)

Look up a vault on Peerlytics.

Input parameters:

- `id` (string, required): Vault ID.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_explorer_search` (~51 tokens)

Search across addresses, deposits, intents, and vaults on Peerlytics.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `query` (string, required): Search query.

### `peer_market_deposits` (~109 tokens)

Query deposits from Peerlytics with filtering.

Input parameters:

- `accepting` (boolean): Accepting intents.
- `currency` (string): Fiat currencies.
- `delegate` (string): Delegate address.
- `depositor` (string): Depositor address.
- `limit` (number): Result limit.
- `offset` (number): Offset.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `platform` (string): Payment platforms.
- `status` (string): Deposit status.

### `peer_market_intents` (~88 tokens)

Query intents from Peerlytics with filtering.

Input parameters:

- `depositId` (string): Deposit IDs.
- `limit` (number): Result limit.
- `offset` (number): Offset.
- `owner` (string): Owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `recipient` (string): Recipient address.
- `status` (string): Intent statuses.

### `peer_market_activity` (~60 tokens)

Fetch recent protocol activity from Peerlytics.

Input parameters:

- `limit` (number): Result limit.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `since` (string): Start timestamp.
- `type` (string): Event types.

### `peer_market_taker_history` (~49 tokens)

Fetch taker activity history for an address from Peerlytics.

Input parameters:

- `address` (string, required): Taker address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_maker_history` (~47 tokens)

Fetch maker activity history for an address from Peerlytics.

Input parameters:

- `address` (string, required): Maker address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_meta_platforms` (~38 tokens)

List supported payment platforms from Peerlytics with method hashes.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_meta_currencies` (~34 tokens)

List supported currencies from Peerlytics.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_api_key_list` (~37 tokens)

List Peerlytics API keys for the authenticated account.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_market_credits` (~35 tokens)

Check Peerlytics API credit balance and usage.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_balance` (~53 tokens)

Read the current USDC balance for an address.

Input parameters:

- `address` (string): Wallet address.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `token` (string): ERC20 token address.

### `peer_checkout_list` (~66 tokens)

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

Input parameters:

- `page` (number): Page number.
- `pageSize` (number): Page size.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `status` (string): Status filter.

### `peer_checkout_show` (~45 tokens)

Show a single checkout session or poll its latest status.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `sessionId` (string, required): Session identifier.

### `peer_config_show` (~36 tokens)

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

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_config_platforms` (~34 tokens)

List payment platforms supported in the selected environment.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_config_currencies` (~30 tokens)

List supported fiat currencies.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_stake_state` (~62 tokens)

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

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `staker` (string, required): Stake owner address.
- `taker` (string): Taker address.

### `peer_stake_indexed_state` (~54 tokens)

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

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `taker` (string, required): Taker address.

### `peer_stake_balance` (~43 tokens)

Read total stake owned by an address.

Input parameters:

- `owner` (string, required): Stake owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_stake_locked` (~44 tokens)

Read stake locked behind active chargeback windows.

Input parameters:

- `owner` (string, required): Stake owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_stake_free` (~45 tokens)

Read stake available for withdrawal or a new lock.

Input parameters:

- `owner` (string, required): Stake owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_stake_claimable` (~48 tokens)

Read non-stake USDC claimable by a beneficiary.

Input parameters:

- `beneficiary` (string, required): Claim beneficiary address.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_stake_owner` (~46 tokens)

Resolve the effective stake owner backing a taker.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `taker` (string, required): Taker address.

### `peer_stake_selected_owner` (~50 tokens)

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

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `taker` (string, required): Taker address.

### `peer_stake_authorization` (~58 tokens)

Read whether a stake owner authorizes a taker.

Input parameters:

- `owner` (string, required): Stake owner address.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `taker` (string, required): Taker address.

### `peer_stake_admissions_paused` (~38 tokens)

Read whether chargebackable intent admissions are paused.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_stake_risk_window` (~50 tokens)

Read the minimum collateral lock window for a payment method.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `paymentMethodHash` (string, required): Payment method hash.

### `peer_stake_dispute_protection_enabled` (~73 tokens)

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

Input parameters:

- `depositId` (string, required): Deposit ID.
- `escrow` (string, required): Escrow address.
- `params` (object): Optional raw JSON params merged beneath typed fields.
- `paymentMethod` (string, required): Payment method hash.

### `peer_guardian_available` (~36 tokens)

Check whether the selected environment has an IntentGuardian deployment.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_guardian_policy` (~35 tokens)

Read the live IntentGuardian fee and extension policy.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_guardian_quote_extension` (~61 tokens)

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

Input parameters:

- `additionalSeconds` (string, required): Extension seconds.
- `intentAmount` (string, required): Intent token amount in base units.
- `params` (object): Optional raw JSON params merged beneath typed fields.

### `peer_guardian_payer_funding` (~59 tokens)

Read payer token balance and allowance available to IntentGuardian.

Input parameters:

- `params` (object): Optional raw JSON params merged beneath typed fields.
- `payer` (string, required): Payer address.
- `token` (string, required): Deposit token address.

### `peer_cash_capabilities` (~61 tokens)

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.

Input parameters:

- `includeRelaySources` (boolean): Include live Relay-supported EVM source chains and tokens

### `peer_cash_fill_stats` (~39 tokens)

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.

### `peer_cash_source_capabilities` (~34 tokens)

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.

### `peer_cash_quote_source` (~127 tokens)

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.

Input parameters:

- `amount` (string, required): Source amount in the source token’s base units
- `recipient` (string): Base recipient; defaults to the source wallet
- `sourceChainId` (integer, required): Relay source chain ID
- `sourceCurrency` (string, required): Source token address or native currency identifier
- `tradeType` (string): Relay amount mode; defaults to EXACT_INPUT
- `user` (string, required): Source-chain wallet address

### `peer_cash_relay_status` (~44 tokens)

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.

Input parameters:

- `requestId` (string, required)

### `peer_cash_estimate` (~84 tokens)

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.

Input parameters:

- `amount` (string, required): Base USDC amount in 6-decimal base units
- `currency` (string, required): Fiat currency from capabilities
- `platform` (string): Optional payout platform for corridor fill timing

### `peer_cash_finalize` (~44 tokens)

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.

Input parameters:

- `transactionHash` (string, required)

### `peer_cash_buyer` (~39 tokens)

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.

Input parameters:

- `address` (string, required)

### `peer_cash_order` (~57 tokens)

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.

Input parameters:

- `depositId` (string, required)

### `peer_cash_orders` (~48 tokens)

List Peer Cash orders

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

Input parameters:

- `inFlight` (boolean)
- `limit` (integer)
- `owner` (string, required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/zkp2p-peer/mcp#diagnostics

## Score history

- 2026-09-15: 67
- 2026-09-14: 66
- 2026-09-13: 66
- 2026-09-12: 65
- 2026-09-11: 65
- 2026-09-10: 65
- 2026-09-09: 64
- 2026-09-08: 64
- 2026-09-07: 63
- 2026-09-06: 63
- 2026-09-05: 62
- 2026-09-04: 62
- 2026-09-03: 61
- 2026-09-02: 61
- 2026-09-01: 60

## Common questions

### What is the Peer MCP server?

Peer is an MCP server listed in the public MCP registry as io.github.zkp2p/peer. Read Peer protocol, market, checkout, and Peer Cash data through one MCP server. This page covers its hosted endpoint (https://mcp.peer.xyz/mcp).

### Is the Peer MCP server safe to use?

Peer scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Peer MCP server expose?

Peer exposes 97 tools: peer_quote, peer_payee_resolve_hash, peer_deposit_list, peer_deposit_show, peer_deposit_show_many, and 92 more. Their descriptions and schemas cost roughly 5,228 tokens of context every time the server is loaded.

### Does the Peer MCP server require authentication?

No. We connected to Peer without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Peer MCP server still maintained?

Peer is still listed as active in the MCP registry. We last reached this channel on 15 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.peer.xyz/mcp
- Repository: https://github.com/zkp2p/peer-cli
- Website: https://agents.peer.xyz/
- Changelog RSS feed: https://verifymcp.io/servers/zkp2p-peer/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/zkp2p-peer/mcp.json
- HTML version of this page: https://verifymcp.io/servers/zkp2p-peer/mcp
