AI assistants (MCP)
Serve these docs to Claude Code, Cursor and other editors so they stop guessing.
Contents
What this is
@radokpay/mcp is a Model Context Protocol server that serves everything on this site to your editor. Install it once and the assistant you already code with — Claude Code, Cursor, VS Code, Windsurf, Zed — can look up Radok’s real endpoints, scopes, parameters and payloads instead of guessing at them.
Models have not seen the Radok API. Left to guess, they invent endpoint names, get the response envelope wrong, and miss the things that are easy to miss — the Idempotency-Key that POST /v1/payouts requires, or the ?environment= parameter that dashboard-session routes never default. This server removes the guessing.
Read-only, and no key required
Install
Requires Node 20 or newer. There is nothing to configure and no account to create.
Claude Code
claude mcp add radok -- npx -y @radokpay/mcpAdd --scope project to write it to a .mcp.json your team can commit, rather than to your personal config.
Cursor, VS Code, Windsurf, Zed, Claude Desktop
All of these read the same shape. Put it in your client’s MCP config — .cursor/mcp.json for Cursor, .vscode/mcp.json for VS Code, .mcp.json at your repository root for anything that reads the project convention.
{
"mcpServers": {
"radok": {
"command": "npx",
"args": ["-y", "@radokpay/mcp"]
}
}
}Pinning a version
npx -y @radokpay/mcp always fetches the latest published docs. To pin a version — in CI, or to keep a team on one snapshot — name it:
{
"mcpServers": {
"radok": {
"command": "npx",
"args": ["-y", "@radokpay/mcp@0.1.0"]
}
}
}Check it is working
- Restart your editor, or reload its MCP servers. Most clients only read the config at startup.
- Confirm the server is connected. In Claude Code, run
/mcp— you should seeradoklisted with four tools. - Ask something only the docs would know: “Which Radok endpoint mints a virtual account, and what scope does it need?” The answer should be
POST /v1/virtual-accountswithvirtual_accounts:write.
What it exposes
Tools
| Field | Type | Description |
|---|---|---|
| search_radok_docs | query, limit | Full-text search. Returns whole sections, so one call usually gives you the endpoint, its parameters and a worked example together. |
| get_radok_doc | slug, section | One page in full as Markdown, or a single section of it. |
| list_radok_docs | — | The table of contents: every page, grouped, with its slug and a one-line summary. |
| list_radok_endpoints | filter | Every documented endpoint with its method, path, accepted credential, required scope, and the section that documents it. Filter by substring, e.g. payout. |
Search understands both prose and exact tokens. verify webhook signature works, and so do /v1/payouts, payouts:write and KYB_LIVE_REQUIRED.
Getting good answers
- Say “Radok” in the request. It is what makes an assistant reach for these tools rather than answer from memory.
- Ask for the endpoint before the code — “which Radok endpoint lists collections?” then “write that in TypeScript” — so the implementation is built on a looked-up contract.
- If an answer looks invented, ask it to cite the doc section. Every result carries its slug, section id and a URL back to this site.
It documents; it does not check your code
If it does not work
Symptoms
| Field | Type | Description |
|---|---|---|
| Server not listed | config | The client did not load the config. Restart it fully, and check the file is where that client expects it — the path differs per editor. |
| Fails to start | node | Check node --version is 20 or newer. Editors often launch with a different PATH than your terminal, so a version manager can leave them on an old Node. |
| Connected, but ignored | prompt | The assistant answered from memory. Name Radok explicitly, or ask it to search the Radok docs first. |
| Answer looks stale | version | Clear the npx cache so it refetches: npx clear-npx-cache, or pin a version explicitly. |