Sokin MCP - Setup and Usage Guide
An MCP connector lets an AI client — Claude, ChatGPT, Replit's Agent — call
Sokin tools in plain English: list your accounts, check balances, get an FX
quote. You ask in a chat; the client does the API work.This page connects one of them to Sokin, signs you in, and gets you to a
first working call. It covers all three, plus what to do if you are writing
your own client.You do not need to write any code to use this. Read top to bottom and you
will reach a working call without navigating anywhere else. Everything here
describes the UAT (test) environment.UAT only — never sign in with production credentials.Every step here points at https://mcp.uat.sokin.com/mcp. Sign in with a
Sokin UAT test account only. If you sign in with a production account,
your client's tool calls reach the production platform and can move real
money. Two tools do exactly that — sending a payment, and converting between
accounts — and your client asks you to confirm before either one runs.
Tool Guide names them.
Jump to#
Set up your client — pick one; each takes about five minutes.What you need#
| |
|---|
| The MCP server URL | https://mcp.uat.sokin.com/mcp — copy it exactly, including the trailing /mcp |
| An account | A Sokin UAT test account, linked to at least one UAT corporate |
| A client | Claude, Replit, ChatGPT, or your own MCP client |
| Network | The connector reaches Sokin over the public internet. A VPN or a locked-down corporate network can block the sign-in step — turn the VPN off for that step if the connection fails |
You do not need an API key, a client ID, or a client secret. The server
supports Dynamic Client Registration, so your client registers itself during
the first sign-in.1. Connect a client#
Pick your client. Each path ends at the same place: a connector showing
Connected, with the Sokin tools available in a chat.Claude (web)#
The Sokin MCP is not in Claude's connector directory, so you add it as a
custom connector. This works on Free, Pro, Max, Team, and Enterprise —
Free is limited to one custom connector.Individual account (Free, Pro, Max)1.
Open Claude and go to Settings (profile menu, bottom-left). 3.
Click Add, then Add custom connector. 4.
Name: Sokin (UAT) — any label works
Remote MCP server URL: https://mcp.uat.sokin.com/mcp
Leave Advanced settings (OAuth Client ID / Secret) empty
5.
Click Continue, leaving the remaining defaults as they are. 6.
Scroll down and click Connect. The Sokin sign-in page opens; sign in
with your UAT test account. The connector then shows Connected. 7.
Claude still needs permission to run the tools. Set only the read-only
tools to Always allow. Anything that changes something stays on
approval-per-call — that prompt is the last thing standing between an
assistant and a real transaction, and for payments it is not backed up by
any server-side check.The four Claude flags as destructive, which must never be set to Always
allow: submit_payment_instruction and submit_fx_payment_instruction
(both send real money), settle_fx_quote (converts real money), and
update_beneficiary (overwrites payee details irreversibly, which steers
where future payments go).Three more write something without moving money — create_fx_quote,
create_beneficiary and validate_beneficiary. Gating those too costs you
one click each and is the safer default. Only an Owner can add a custom connector, and it is added once for the whole
organisation:1.
Organization settings → Connectors → Add, hover Custom, choose
Web.
2.
Enter https://mcp.uat.sokin.com/mcp, leave Advanced settings empty, and
click Add.
Every member then goes to Settings → Connectors, finds Sokin (UAT),
clicks Connect, and signs in with their own UAT test account.Claude Desktop uses the same connector — set it up once on the web as
above and it appears in the desktop app too.Claude Code is one command instead:Then run /mcp in Claude Code to sign in. Registration is automatic here
too; there is nothing to paste beyond the URL.Replit#
1.
Open the Replit website, go to Settings → Integrations → Your
integrations. 3.
Display name: Sokin (UAT) — the Agent uses this label in its chat
logs
Endpoint / server URL: https://mcp.uat.sokin.com/mcp
4.
Click Test & save. Replit prompts you to authorise.
5.
Click Authorize Sokin MCP Server and complete the sign-in. The server then shows Connected under MCP Servers, and the Agent
fetches the tools automatically across your projects.ChatGPT#
There are two paths here, and which one you want depends on whether Sokin MCP
has already been added to your organisation:It has — nothing to create, and Developer mode is not involved. Skip to
If Sokin MCP is already in your organisation below.
It has not — you create the connector yourself, which does need
Developer mode. That is the next seven steps.
Either way ChatGPT is web only, and needs Plus, Pro, Business, Enterprise, or
Edu — there is no Free tier for this.Creating the connector yourself1.
Settings → Security and login → turn on Developer mode. On
Business or Enterprise, if the toggle is missing, an admin must enable it
under Workspace Settings → Permissions & Roles → Connected Data →
Developer mode / Create custom MCP connectors.
2.
In a chat, click + and open the Developer mode apps area (or
Settings → Connectors → Advanced / Developer mode).
3.
Choose Create, for a developer-mode app backed by a remote MCP server.
4.
Name: Sokin MCP — any label works, but this is the one the rest of
this guide uses
Connection: leave it on Server URL, and paste
https://mcp.uat.sokin.com/mcp — include the /mcp
Under OAuth advanced settings, leave Registration method on
Dynamic Client Registration (DCR) — that is what lets ChatGPT register
itself, which is why you never paste a client ID or secret. The orange
"CIMD is unavailable because the server did not advertise CIMD support"
note is expected and harmless: Sokin advertises DCR instead.5.
Click Create, then sign in with your UAT test account and approve.
6.
Open the app's details page and make sure the tools are toggled on. If
the list is empty or stale, click Refresh to re-pull the tool list.
7.
To use it in a chat: + → Developer mode → Sokin MCP. The app is
selected per conversation, so re-select it in each new chat.
ChatGPT flags Developer mode as elevated-risk, because it grants full read
and write MCP access. Check any write action before approving it. The
stakes are low on UAT, but the habit matters before anyone points a client
at production.
If Sokin MCP is already in your organisationAn admin has added it once for everyone, so there is nothing to create and no
Developer mode to switch on. You just enable it for yourself:1.
Open Plugins in the sidebar. 2.
Search for sokin, then click + next to Sokin MCP. 3.
Read what you are granting, then click Continue to Sokin MCP and sign
in with your UAT test account. 4.
A confirmation appears: Sokin MCP plugin installed. 5.
Open a New chat, click +, pick Sokin MCP, and start asking. ChatGPT is also the least reliable of the three today: tool selection is
inconsistent, and it does not render Sokin's interactive cards — the small
panels some tools show inside the chat instead of plain text, including the one
carrying the Approve button that sends a payment. See
How the three clients differ. If you have a
choice, use Claude.How the three clients differ#
| Claude | Replit | ChatGPT |
|---|
| What it's called | A custom connector | An MCP server integration | A plugin, or a Developer mode app if you create it yourself |
| Extra gate | None | None | Developer mode, but only to create the connector — not to use a plugin your organisation already has |
| Plans | Free (1 connector) and up | Any | Plus / Pro / Business / Enterprise / Edu — no Free |
| Scope | Per user, or org-wide by an Owner | Per user, across all projects | Per user, selected per conversation |
| Interactive cards | Rendered | Not rendered today | Not rendered today |
That last row decides which tools you can use, so it is worth explaining.
An interactive card is a small panel a tool draws inside the chat instead
of answering with plain text — something you can look at and click, rather
than read. Sokin has five: a review card with Approve and Cancel for
each of the two ways of paying someone, an exchange-rate card with a live
countdown and a Settle button, charts and diagrams, and a game.They are not decoration, but they matter in different ways depending on what
you are doing:Converting between your own accounts needs a card. The server refuses
those tools outright on a client that cannot draw one — do it in the Sokin
portal instead.
Paying a beneficiary works either way. With a card you approve on the
card; without one, the figures and references come back as text and you
approve in the chat. Both are supported paths.
If you are writing your own client, read the Tool Guide's note on this:
for payments the server enforces no card requirement at all, so your client's
own confirmation prompt before a money-moving tool is doing real work — as are
the company's approval rules in the Sokin portal.Everything else — balances, transactions, payees, exchange rates — works on
every client. Tool Guide spells out which tool needs what.Your own MCP client#
Point it at https://mcp.uat.sokin.com/mcp over Streamable HTTP and let
it discover the rest:| Field | Value |
|---|
| Transport | Streamable HTTP |
| Protocol | JSON-RPC 2.0 (MCP) |
| Authentication | OAuth 2.1 + PKCE, with Dynamic Client Registration |
| Tools | 26 |
| Session model | Stateless — every request is independent |
Three transport details that catch people out:Your Accept header must include both content types. Send
Accept: application/json, text/event-stream. Omitting the second value is
the most common reason a client fails to parse a perfectly valid response.
Responses arrive as SSE. Even a single non-streaming call comes back as
a text/event-stream with the result in a data: event, not as a plain
JSON body.
No handshake is required. The server is stateless, so a tools/call
works without an initialize round trip first. Send one anyway if your
client renders interactive cards — that is where support for them is
declared.
2. Authenticate#
In Claude, Replit, and ChatGPT this is just the sign-in page that opened when
you clicked Connect. Sign in with your UAT test account and approve. If
sign-in fails, it is almost always one of three things: a production account
used by mistake, a VPN blocking the callback, or a test account not yet
linked to a UAT corporate — the last one shows up later as "no accessible
corporates".There is no refresh token yet, so a session lasts as long as the access
token and then you re-authenticate. That is a re-click of Connect, not a
re-setup.If you are building your own client#
The MCP server is itself the OAuth Authorization Server your client talks to.
It brokers to Auth0 underneath, and that indirection is the point: requesting
the Sokin B2B API audience needs a parameter an MCP client has no way to set,
so the server sets it for you.Discovery uses the standard well-known paths, served from whichever
environment's host you are using — the server advertises its own public base
URL, so this works identically in UAT and production with nothing hardcoded:| Endpoint | Purpose |
|---|
/.well-known/oauth-authorization-server | Advertises the issuer, plus the authorize and register endpoints |
/.well-known/oauth-protected-resource | Points back at that same server as the authorization server for this resource |
Dynamic Client Registration is enabled at /register, so clients
self-register instead of needing credentials issued by hand.
Scopes are openid, profile, email.
No offline_access, so there is no refresh token.
You cannot set the API audience yourself, and you do not need to.
Requests to /mcp are additionally gated by Host-header checks
(DNS-rebinding protection). A request addressed to a host other than the
advertised public one is rejected with 421, not 401 — if you see a
421, check the Host header before you start debugging your token.3. Make your first call#
The confirmation prompt is the same in every client:Show me the balances across all my Sokin accounts.
Behind the scenes the client runs two tools: list_corporates, which returns
the companies your login can act for, and then list_accounts, which returns
that company's currency accounts and their balances. You get the answer:| Currency | Balance | Available |
|---|
| GBP | 48,200.00 | 47,150.00 |
| EUR | 15,400.00 | 15,400.00 |
| USD | 12,000.00 | 11,750.00 |
The figures above are illustrative. What yours look like depends on the UAT
test account you were given — the point is that real account data comes back
at all, not the numbers themselves.And the same prompt answered by the Replit Agent:The same thing on the wire:If that returns corporates, you are connected. Take a corporateReference
from the result and pass it to list_accounts — nearly every other tool
needs one, and list_corporates is where one comes from.Disconnecting#
Worth knowing before you start, and worth doing when you are finished with a
test account.Claude: Settings → Connectors → Sokin (UAT) → disconnect or remove.
On Team or Enterprise, removing it for the whole organisation is an Owner
action; disconnecting your own access is not.
Replit: Settings → Integrations → Your integrations → remove the
Sokin (UAT) MCP server.
ChatGPT: the app's details page → delete it. It also stops being
available in a chat as soon as you deselect it.
Claude Code: claude mcp remove sokin.
Removing the connector stops that client calling Sokin. It does not undo
anything already submitted — a payment or conversion that has gone through has
gone through.If something goes wrong#
| Symptom | Fix |
|---|
| URL rejected when adding the connector | Include the full URL with the trailing /mcp, and choose OAuth where the client asks |
| Sign-in fails | Use your Sokin UAT test account. If you are on a VPN, turn it off for the sign-in step |
| No tools listed | Open the connector's details page, refresh the tool list, and make sure the tools are toggled on |
| "No accessible corporates", or an empty result | Your test account is not linked to a UAT corporate — ask QA or the AI pod |
| ChatGPT: no Developer mode toggle | You are on Free, or an admin has not enabled it for your workspace |
| ChatGPT: the app is missing in a chat | Re-select it via + → Developer mode; it is chosen per conversation |
| A payment card says the payment may already have gone out | A submission with the same details is still running, or Sokin did not confirm the result. Do not send it again. Wait a few minutes, press Check again, or ask your assistant to look it up with list_instructions |
| A payment card says it couldn't check the payment's status | Press Try again. If it keeps failing, ask your assistant to check the payment with get_instruction_request before preparing it again: it may already have been sent |
421 instead of 401 | A Host-header mismatch, not a token problem. Check the Host header your client sends |
| A response your client cannot parse | Your Accept header is missing text/event-stream |
The last two only apply if you are writing your own client.Next: what you can ask for#
You are connected, and the balances prompt proved it. Tool Guide
is the companion page: all 26 tools, what each one is for, what it needs, and
an example of what comes back. It also lists a few starter project ideas
sized for an afternoon.If you are writing code against these tools and want the exact response
schemas field by field, every enumerated value, and the error and pagination
contracts, that is the third page — Sokin MCP — Technical Docs. Modified at 2026-10-07 11:35:50