# ROKI Connect (remote · mcp.roki.la)

Verified ROKI Connect payments contract for coding agents: operations, schemas, validator.

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-19

## Components

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

## Channel facts

- Endpoint: `https://mcp.roki.la/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.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-08-19.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - 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**: 55/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (poor).
  - Tool/resource definitions use about 1844 tokens (~92/item across 20 items; 18 tools + 2 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 7/100
  - Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http la-roki-connect https://mcp.roki.la/mcp
```

### Codex

```toml
[mcp_servers.la-roki-connect]
url = "https://mcp.roki.la/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "la-roki-connect": {
      "type": "remote",
      "url": "https://mcp.roki.la/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add la-roki-connect --url https://mcp.roki.la/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  la-roki-connect:
    url: "https://mcp.roki.la/mcp"
```

### Other

```json
{
  "mcpServers": {
    "la-roki-connect": {
      "type": "http",
      "url": "https://mcp.roki.la/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-08-19 (score 67, +1)

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

### 2026-08-18 (score 66, −6)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “roki_validate_request” rewrote its description, which is the text the model reads
- [functional improvement] Stability: unverified → 0.03
- [functional] Schema quality: excellent → poor

### 2026-08-17 (score 72)

First indexed and scored.

## MCP tools (18)

### `roki_search_docs` (~104 tokens)

Search ROKI Connect documentation

Search the official ROKI Connect corpus (integration guide, API operations and schemas) and return ranked excerpts. Use this first when you need any ROKI-specific fact. Never answer a ROKI question from memory or from another payment gateway's conventions.

Input parameters:

- `limit` (integer): Maximum results (default 6).
- `query` (string, required): What you need to know, e.g. "webhook signature", "tip fields", "idempotency".

### `roki_get_doc_section` (~65 tokens)

Read a section of the ROKI Connect guide

Return the complete text of one section of the integration guide, by number (e.g. "14"), sub-number ("12.1") or title fragment ("webhook").

Input parameters:

- `ref` (string, required): Section number, sub-number, or a fragment of its title.

### `roki_list_operations` (~42 tokens)

List ROKI Connect API operations

List every operation the API actually exposes, plus the operations that are documented as NOT existing. Call this before writing any integration code so you never invent an endpoint.

### `roki_get_operation` (~64 tokens)

Get a ROKI Connect API operation in full

Full detail for one operation: method, path, headers, request schema field table, responses, and worked examples.

Input parameters:

- `operation` (string, required): operationId (e.g. "createPayment"), or "METHOD /path" (e.g. "POST /payments").

### `roki_get_schema` (~65 tokens)

Get a ROKI Connect schema

Return a fully dereferenced JSON Schema by name (e.g. "PaymentCreateRequest", "Payment", "WebhookEvent"). Use it to know the exact field names, types and constraints.

Input parameters:

- `name` (string): Schema name. Omit to list all available schemas.

### `roki_get_error` (~80 tokens)

Explain a ROKI Connect error

Explain an HTTP status or an error message returned by the ROKI API: what it means, the likely cause and what to do. Use this instead of guessing when an integration fails.

Input parameters:

- `error` (string, required): HTTP status ("422"), or a fragment of the message ("Pago no encontrado", "route could not be found", "sandbox").

### `roki_validate_request` (~123 tokens)

Validate a ROKI Connect request payload

Validate a payload against the official schema WITHOUT sending it, and check the business rules the API enforces. Critical for this API: it ignores unknown fields and returns 201, so a typo produces a misconfigured payment rather than an error. The response names what it dropped in `warnings`, but by then the payment exists - validating here means it is never created. Always validate before writing or shipping integration code.

Input parameters:

- `operation` (string, required): operationId, e.g. "createPayment".
- `payload` (object, required): The JSON request body you intend to send.

### `roki_get_integration_example` (~78 tokens)

Get a runnable ROKI Connect integration example

Return a complete, runnable integration example for a stack: configuration, API client, checkout flow, webhook handler with signature verification, and polling fallback.

Input parameters:

- `stack` (string): e.g. "laravel", "php", "node", "express", "python", "fastapi". Omit to list what is available.

### `roki_get_quickstart` (~32 tokens)

ROKI Connect quickstart

The minimum viable integration sequence, end to end, including the manual portal steps a developer cannot skip.

### `roki_get_authentication_guide` (~38 tokens)

ROKI Connect authentication and credentials

How authentication works, how the two environments are selected, where credentials come from, and how to store and rotate them safely.

### `roki_get_webhook_guide` (~46 tokens)

ROKI Connect webhooks

Everything about webhooks: portal registration, event types, payload shape, HMAC signature verification over the raw body, idempotent processing, and the polling fallback.

### `roki_choose_integration_mode` (~81 tokens)

Choose the right ROKI integration approach

Decide how to integrate ROKI Connect for a given project (web checkout, mobile app, invoice or recurring billing) and get the constraints that apply before writing code.

Input parameters:

- `context` (string, required): What the project is: e.g. "Laravel e-commerce checkout", "iOS app", "invoices from an ERP", "subscriptions".

### `roki_verify_webhook_signature` (~218 tokens)

Verify a ROKI webhook signature and diagnose why it fails

Check a ROKI-Signature header against the raw body and the signing secret. When it fails, this does not just say "invalid" - it tries the specific wrong constructions developers actually write and tells you which mistake you made. Use it whenever webhook verification rejects real events. On the signing secret: this is ROKI's own server and ROKI issued that secret, so sending it here discloses nothing new. It is used to recompute the HMAC and is never stored, logged or counted.

Input parameters:

- `raw_body` (string, required): The EXACT raw request body as received, byte for byte, before any JSON parsing.
- `signature_header` (string, required): The full ROKI-Signature header value, e.g. "t=1719234300,v1=8f3c..."
- `signing_secret` (string, required): The signing secret from the portal, for the same environment as the event. Held in memory for the duration of the call only: this server logs no tool arguments.

### `roki_scaffold_integration` (~104 tokens)

Scaffold a complete ROKI Connect integration

Return the full runnable skeleton for a stack: credential storage, API client, checkout flow, webhook handler with signature verification, and the polling fallback. Use it to start an integration instead of assembling one from memory.

Input parameters:

- `mode` (string): "hosted" (default), "embedded" or "saved-card".
- `stack` (string, required): e.g. "laravel", "node", "express", "python", "fastapi", "php".

### `roki_audit_integration` (~73 tokens)

Audit ROKI integration code against the verified contract

Return the checklist to audit existing ROKI code, ordered by how badly each item fails in production. Use it when reviewing an integration you did not write, or before going live.

Input parameters:

- `focus` (string): Optional area: "webhooks", "security", "payments", "reversals".

### `roki_sandbox_try` (~153 tokens)

Execute an operation against the ROKI sandbox and see the real response

Runs a documented operation against the ROKI sandbox using THIS SERVER'S own test credential, and returns the actual response. Use it to prove an integration works instead of assuming it does - especially after roki_validate_request says a payload is valid.

You never supply a key: this server holds a sandbox-only credential and refuses to run against production. Amounts are capped and links expire quickly, because the sandbox is shared.

Input parameters:

- `operation` (string, required): operationId to run, e.g. "createPayment", "getPayment", "voidTransaction".
- `payload` (object): Request body for POST operations, or path values such as {"id": 123} / {"transaction_id": "uuid"}.

### `roki_sandbox_info` (~33 tokens)

What the sandbox playground can run

Whether the sandbox playground is enabled here, which operations it accepts, its limits, and the sandbox test cards.

### `roki_status` (~35 tokens)

ROKI Connect MCP server status

Server version, corpus contents and freshness. Safe first call to confirm the connection works. Exposes no credentials and no merchant data.

## Diagnostics

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

## Score history

- 2026-08-19: 67
- 2026-08-18: 66
- 2026-08-17: 72

## Links

- Remote endpoint: https://mcp.roki.la/mcp
- Website: https://mcp.roki.la/
- Changelog RSS feed: https://verifymcp.io/servers/la-roki-connect/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/la-roki-connect/mcp.json
- HTML version of this page: https://verifymcp.io/servers/la-roki-connect/mcp
