# Brük — verified XRP Ledger answers (remote · bruk-agent-api.fly.dev)

Verified XRP Ledger answers with proof: payment, send, and issuer checks. Pay per call via x402.

- Trust score: 68/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `bruk-agent-api.fly.dev`: 68/100 (this document), [markdown](https://verifymcp.io/servers/com-brukledger-bruk/bruk-agent-api.md), [page](https://verifymcp.io/servers/com-brukledger-bruk/bruk-agent-api)

## Channel facts

- Endpoint: `https://bruk-agent-api.fly.dev/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.8.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-11-05.

- **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 3 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**: 61/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2052 tokens (~146/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 60/100
  - Stability observed for 18 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 86/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 57% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "send_check" implies "send" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 15 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 Brük — verified XRP Ledger answers MCP server?

Brük — verified XRP Ledger answers is a hosted endpoint at https://bruk-agent-api.fly.dev/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 com-brukledger-bruk 'https://bruk-agent-api.fly.dev/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-brukledger-bruk": {
      "url": "https://bruk-agent-api.fly.dev/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-brukledger-bruk": {
      "type": "http",
      "url": "https://bruk-agent-api.fly.dev/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-brukledger-bruk]
url = "https://bruk-agent-api.fly.dev/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-brukledger-bruk": {
      "type": "remote",
      "url": "https://bruk-agent-api.fly.dev/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-brukledger-bruk --url 'https://bruk-agent-api.fly.dev/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-brukledger-bruk:
    url: "https://bruk-agent-api.fly.dev/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-brukledger-bruk": {
      "Transport": "http",
      "Url": "https://bruk-agent-api.fly.dev/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-brukledger-bruk -t streamable-http -u 'https://bruk-agent-api.fly.dev/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-brukledger-bruk": {
      "type": "http",
      "url": "https://bruk-agent-api.fly.dev/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-11-05 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-03 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

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

- [functional] Server version: 0.12.9 → 0.12.10

### 2026-10-28 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-26 (score 63, +1)

- [security improvement] Injection markers: unverified → pass
- [security] Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 3 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
- [functional improvement] Endpoint reachability: unreachable → reachable
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.27
- [functional improvement] MCP protocol: unverified → pass
- [functional] Server version: 0.12.8 → 0.12.9

### 2026-10-25 (score 62, 0)

- [security regression] Endpoint reachability: reachable → unreachable
- [security regression] Tool safety: pass → unverified
- [security regression] Stability: 0.20 → unverified
- [security] Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes.
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-10-23 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (14)

### `ledger_pulse` (~117 tokens)

Ledger Pulse

XRP Ledger network health right now: latest validated ledger, close time, transactions and payments in it, fee levels, load, and rolling averages cross-checked against a direct ledger read. Useful before submitting XRP Ledger transactions or when reporting current network conditions. The first call each day returns the real answer without payment. After that, about $0.001 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

### `payment_check` (~181 tokens)

Payment Check

Verifies that an XRP Ledger payment settled as expected: validation, result code, destination, destination tag, currency, issuer, and the amount actually delivered, which exposes partial-payment tricks. Useful when confirming that a customer or counterparty really paid. The first call each day returns the real answer without payment. After that, about $0.01 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

Input parameters:

- `amount` (string)
- `currency` (string)
- `destination` (string): XRP Ledger r-address
- `destination_tag` (integer)
- `issuer` (string): XRP Ledger r-address
- `network` (string): Default mainnet
- `tx` (string, required): 64-character transaction hash

### `issuer_check` (~143 tokens)

Issuer Check

Checks whether an XRP Ledger token issuer is who it claims to be: two-way domain verification (on-ledger Domain field against the domain's xrp-ledger.toml), tokens issued and outstanding, and control flags such as freeze, clawback, blackholed, and multisign. Useful before accepting or holding a token. The first call each day returns the real answer without payment. After that, about $0.01 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

Input parameters:

- `account` (string, required): XRP Ledger r-address

### `token_check` (~231 tokens)

Token Check

Identifies one XRP Ledger token from the validated ledger: a trust-line token (currency code plus issuer) or a multi-purpose token (48-hex issuance id). Reports the type, issuer domain check, supply, and controls that can freeze, lock, claw back, or restrict holders. Issuer-written metadata is quoted and is not treated as fact; a missing asset class is reported missing. Does not check other chains, and does not rate legal backing or solvency. Useful before accepting an MPT or any other token. The first call each day returns the real answer without payment. After that, about $0.01 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

Input parameters:

- `currency` (string): Trust-line token code, with issuer. Not XRP.
- `issuer` (string): XRP Ledger r-address
- `mpt_issuance_id` (string): 48-hex multi-purpose token issuance id. Use this or currency plus issuer, not both.

### `large_payments` (~149 tokens)

Large Payments

Lists large XRP Ledger payments (50,000+ XRP or major stablecoins) in a recent window of up to 120 minutes, each independently re-checked on the ledger, with an explicit note when the window is not fully covered. Useful for market and liquidity monitoring. The first call each day returns the real answer without payment. After that, about $0.02 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

Input parameters:

- `limit` (integer)
- `min_value` (string): At least 50000
- `minutes` (integer)

### `send_check` (~260 tokens)

Send Check

Pre-send check for an XRP Ledger payment: whether the destination is activated, requires a destination tag, blocks or pre-approves senders, can hold the token (trust line, or MPT opt-in and issuer approval), is blackholed, and whether the source can afford it. For a multi-purpose token, pass mpt_issuance_id instead of currency and issuer. Returns ok_to_send, send_with_caution, or will_fail with reasons. Useful before any irreversible XRP Ledger payment. The first call each day returns the real answer without payment. After that, about $0.005 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

Input parameters:

- `amount` (string)
- `currency` (string)
- `destination` (string, required): XRP Ledger r-address
- `destination_tag` (integer)
- `issuer` (string): XRP Ledger r-address
- `mpt_issuance_id` (string): 48-hex MPT issuance id. Use instead of currency and issuer.
- `network` (string): Default mainnet
- `source` (string): XRP Ledger r-address

### `payment_watch` (~208 tokens)

Payment Watch

Payment arrival alert: watches an XRP Ledger address for up to 24 hours and POSTs a signed webhook when a matching payment is final (validated, tesSUCCESS, delivered amount checked), or a watch.expired event if none arrives. Payments that land during restarts are still caught. Useful when waiting on an incoming payment without polling. The first call each day returns the real answer without payment. After that, about $0.05 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

Input parameters:

- `address` (string, required): XRP Ledger r-address
- `currency` (string)
- `destination_tag` (integer)
- `hours` (integer)
- `issuer` (string): XRP Ledger r-address
- `min_amount` (string)
- `network` (string): Default mainnet
- `webhook` (string, required): Public https URL for signed events

### `receipt_card` (~213 tokens)

Receipt Card

Verified payment receipt image (1200x675 PNG) for an XRP Ledger payment, drawn only from the validated ledger: delivered amount, sender, recipient, destination tag, ledger, close time, result, optional expectation checks, and a QR code to the public explorer. Only final outcomes are drawn; not-found or unvalidated transactions are not charged. Useful for showing a person proof that a payment arrived. The first call each day returns the real answer without payment. After that, about $0.02 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

Input parameters:

- `amount` (string)
- `currency` (string)
- `destination` (string): XRP Ledger r-address
- `destination_tag` (integer)
- `issuer` (string): XRP Ledger r-address
- `network` (string): Default mainnet
- `tx` (string, required): 64-character transaction hash

### `ledger_moment` (~166 tokens)

Ledger Moment

Ledger moment image (1200x675 PNG): one validated XRP Ledger ledger drawn as one tile per transaction in ledger order, colored by type (payments, DEX offers, trust lines, AMM, NFTs, other), failed transactions hollow, with counts, fees burned, XRP supply, and the ledger hash. Latest validated ledger by default. Useful for posts, reports, and newsletters about network activity. The first call each day returns the real answer without payment. After that, about $0.02 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.

Input parameters:

- `ledger_index` (integer)
- `network` (string): Default mainnet

### `list_services` (~25 tokens)

List Brük services

Free. Lists every Brük service with price, inputs, and its HTTP endpoint.

### `get_sample` (~44 tokens)

Free sample

Free. Returns a recent real answer from a Brük service (cached up to 5 minutes) so you can see the format before paying.

Input parameters:

- `service` (string, required)

### `free_send_check` (~150 tokens)

Free daily send check

Free, one per user per day. Before sending XRP or a token on the XRP Ledger: will the payment fail (missing destination tag, unfunded or deleted account, no trust line, wrong issuer) and what should you double-check? Returns the verdict, blockers, and cautions from a validated ledger. The paid send_check adds the full evidence and has no daily limit.

Input parameters:

- `amount` (string)
- `currency` (string)
- `destination` (string, required): XRP Ledger r-address
- `destination_tag` (integer)
- `issuer` (string): XRP Ledger r-address
- `network` (string): Default mainnet
- `source` (string): XRP Ledger r-address

### `token_types` (~45 tokens)

Token types

Free guide, not a live check. Which XRP Ledger token types Brük can identify, how to pass an MPT issuance id, and which other chains Brük does not read.

### `learn_about_bruk` (~40 tokens)

About Brük

Free. Brük's site, its short film about the XRP Ledger (chapters, transcript, captions), and the credit line for quoting it.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-brukledger-bruk/bruk-agent-api#diagnostics

## Score history

- 2026-11-05: 68
- 2026-11-04: 67
- 2026-11-03: 67
- 2026-11-02: 66
- 2026-11-01: 66
- 2026-10-31: 65
- 2026-10-30: 65
- 2026-10-29: 64
- 2026-10-28: 64
- 2026-10-27: 63
- 2026-10-26: 63
- 2026-10-25: 62
- 2026-10-24: 62
- 2026-10-23: 62
- 2026-10-22: 61
- 2026-10-21: 61
- 2026-10-20: 61
- 2026-10-19: 60
- 2026-10-18: 60

## Common questions

### What is the Brük — verified XRP Ledger answers MCP server?

Brük — verified XRP Ledger answers is an MCP server listed in the public MCP registry as com.brukledger/bruk. Verified XRP Ledger answers with proof: payment, send, and issuer checks. Pay per call via x402. This page covers its hosted endpoint (https://bruk-agent-api.fly.dev/mcp).

### Is the Brük — verified XRP Ledger answers MCP server safe to use?

Brük — verified XRP Ledger answers scores 68 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 Brük — verified XRP Ledger answers MCP server expose?

Brük — verified XRP Ledger answers exposes 14 tools: ledger_pulse, payment_check, issuer_check, token_check, large_payments, and 9 more. Their descriptions and schemas cost roughly 1,972 tokens of context every time the server is loaded.

### Does the Brük — verified XRP Ledger answers MCP server require authentication?

No. We connected to Brük — verified XRP Ledger answers without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Brük — verified XRP Ledger answers MCP server still maintained?

Brük — verified XRP Ledger answers is still listed as active in the MCP registry. We last reached this channel on 5 November 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://bruk-agent-api.fly.dev/mcp
- Website: https://brukledger.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-brukledger-bruk/bruk-agent-api.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-brukledger-bruk/bruk-agent-api.json
- HTML version of this page: https://verifymcp.io/servers/com-brukledger-bruk/bruk-agent-api
