Skip to content

ROKI Connect

by roki.la · remote · no sign-in to list tools · v1.0.0 · published by la.roki

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

Changes · 4

19 tools: 4 change things and 15 only read.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

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

Findings

Matches of fixed checks, with the text they matched.

5 info

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

19 tools

Changes things 4Claude Code: ask
  • roki_choose_integration_modeDecide how to integrate ROKI Connect for a given project (web checkout, embedded card fields, mobile app, invoices or recurring billing) and get the constraints that apply before w…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Decide how to integrate ROKI Connect for a given project (web checkout, embedded card fields, mobile app, invoices or recurring billing) and get the constraints that apply before writing code. The modes and the endpoints behind them are read from the corpus, so this answer cannot describe a mode the API no longer has - or miss one it gained.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_sandbox_infoWhether the sandbox playground is enabled here, which operations it accepts, its limits, and the sandbox test cards.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Whether the sandbox playground is enabled here, which operations it accepts, its limits, and the sandbox test cards.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_sandbox_tryRuns a documented operation against the ROKI sandbox using THIS SERVER'S own test credential, and returns the actual response.1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...KI sandbox using THIS SERVER'S own test credential, and returns the actual response. Use i..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • roki_verify_webhook_signatureCheck a ROKI-Signature header against the raw body and the signing secret.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 15Claude Code: allow
  • roki_audit_integrationReturn the checklist to audit existing ROKI code, ordered by how badly each item fails in production.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_check_resultCompare the payment the API returned against the body you sent, and report anything that does not match.No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare the payment the API returned against the body you sent, and report anything that does not match. Every other check here looks at what you SEND. This one exists for the errors that survive that: the field name was right and the VALUE was wrong. The API answers 201, `warnings` comes back empty because there was nothing to warn about, and the merchant charged something else. Catches the amount off by a factor of 100, fee pass-through asked for and returned as zero, tax that was not applied, `expires_at` already in the past because it was sent as UTC instead of Honduras time, a total that does not add up, and a `transaction_id` parsed as a number. Run it after every createPayment while you are building, and in your own tests afterwards.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_get_authentication_guideHow authentication works, how the two environments are selected, where credentials come from, and how to store and rotate them safely.2 findings

    Why it is in this group

    • The name "roki_get_authentication_guide" says "get": a word for reading.

    Findings

    • Info

      The title mentions "credentials".

      Matched text

      title: "ROKI Connect authentication and credentials"

      What this check looks for
    • Info

      The description mentions "credentials".

      Matched text

      description: "...he two environments are selected, where credentials come from, and how to store and rotate..."

      What this check looks for
    Description, as the server wrote it
    How authentication works, how the two environments are selected, where credentials come from, and how to store and rotate them safely.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_get_doc_sectionReturn the complete text of one section of the integration guide, by number (e.g.No findings

    Why it is in this group

    • The name "roki_get_doc_section" says "get": a word for reading.
    Description, as the server wrote it
    Return the complete text of one section of the integration guide, by number (e.g. "14"), sub-number ("12.1") or title fragment ("webhook").

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_get_errorExplain an HTTP status or an error message returned by the ROKI API: what it means, the likely cause and what to do.No findings

    Why it is in this group

    • The name "roki_get_error" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_get_integration_exampleReturn a complete, runnable integration example for a stack: configuration, API client, checkout flow, webhook handler with signature verification, and polling fallback.No findings

    Why it is in this group

    • The name "roki_get_integration_example" says "get": a word for reading.
    Description, as the server wrote it
    Return a complete, runnable integration example for a stack: configuration, API client, checkout flow, webhook handler with signature verification, and polling fallback.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_get_operationFull detail for one operation: method, path, headers, request schema field table, responses, and worked examples.No findings

    Why it is in this group

    • The name "roki_get_operation" says "get": a word for reading.
    Description, as the server wrote it
    Full detail for one operation: method, path, headers, request schema field table, responses, and worked examples.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_get_quickstartThe minimum viable integration sequence, end to end, including the manual portal steps a developer cannot skip.No findings

    Why it is in this group

    • The name "roki_get_quickstart" says "get": a word for reading.
    Description, as the server wrote it
    The minimum viable integration sequence, end to end, including the manual portal steps a developer cannot skip.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_get_schemaReturn a fully dereferenced JSON Schema by name (e.g.No findings

    Why it is in this group

    • The name "roki_get_schema" says "get": a word for reading.
    Description, as the server wrote it
    Return a fully dereferenced JSON Schema by name (e.g. "PaymentCreateRequest", "Payment", "WebhookEvent"). Use it to know the exact field names, types and constraints.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_get_webhook_guideEverything about webhooks: portal registration, event types, payload shape, HMAC signature verification over the raw body, idempotent processing, and the polling fallback.No findings

    Why it is in this group

    • The name "roki_get_webhook_guide" says "get": a word for reading.
    Description, as the server wrote it
    Everything about webhooks: portal registration, event types, payload shape, HMAC signature verification over the raw body, idempotent processing, and the polling fallback.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_list_operationsList every operation the API actually exposes, plus the operations that are documented as NOT existing.No findings

    Why it is in this group

    • The name "roki_list_operations" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_scaffold_integrationReturn the full runnable skeleton for a stack: credential storage, API client, checkout flow, webhook handler with signature verification, and the polling fallback.1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...the full runnable skeleton for a stack: credential storage, API client, checkout flow, web..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_search_docsSearch the official ROKI Connect corpus (integration guide, API operations and schemas) and return ranked excerpts.No findings

    Why it is in this group

    • The name "roki_search_docs" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_statusServer version, corpus contents and freshness.1 finding

    Why it is in this group

    • The name "roki_status" says "status": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...onfirm the connection works. Exposes no credentials and no merchant data."

      What this check looks for
    Description, as the server wrote it
    Server version, corpus contents and freshness. Safe first call to confirm the connection works. Exposes no credentials and no merchant data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • roki_validate_requestValidate a payload against the official schema WITHOUT sending it, and check the business rules the API enforces.No findings

    Why it is in this group

    • The name "roki_validate_request" says "validate": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__connect__roki_search_docs",
      "mcp__connect__roki_get_doc_section",
      "mcp__connect__roki_list_operations",
      "mcp__connect__roki_get_operation",
      "mcp__connect__roki_get_schema",
      "mcp__connect__roki_get_error",
      "mcp__connect__roki_validate_request",
      "mcp__connect__roki_check_result",
      "mcp__connect__roki_get_integration_example",
      "mcp__connect__roki_get_quickstart",
      "mcp__connect__roki_get_authentication_guide",
      "mcp__connect__roki_get_webhook_guide",
      "mcp__connect__roki_scaffold_integration",
      "mcp__connect__roki_audit_integration",
      "mcp__connect__roki_status"
    ],
    "ask": [
      "mcp__connect__roki_choose_integration_mode",
      "mcp__connect__roki_verify_webhook_signature",
      "mcp__connect__roki_sandbox_try",
      "mcp__connect__roki_sandbox_info"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as connect. Review it before you use it.