1. Sokin MCP
Sokin Embedded API
  • Getting Started
    • Sokin Definitions
    • Guides
      • Authentication
      • Receiving Payments
      • FX Payments
      • Payments
      • Unfunded Payments
      • Unfunded FX Payments
      • Webhooks
      • Corporate Onboarding
        • Data Requirements
        • Step 1: Create a corporate profile
        • Step 2: Add associates
        • Step 3: Add a parent entity (if applicable)
        • Step 4: Upload company documents
        • Step 5: Upload associate documents
        • Conditional Step: Upload Parent Entity documents (if applicable)
        • Step 6: Finalise onboarding submission
        • Uploading supporting documents using Pre-signed URLs
        • Onboarding Reference Data
        • Onboarding Models
          • Data-Only model
          • Supported Jurisdictions & National ID Requirements
      • Sokin MCP
        • Sokin MCP - Setup and Usage Guide
        • Sokin MCP - Tool Guide
        • Sokin MCP - Technical Docs
  • Authentication
    • Get Token
      POST
    • Schemas
      • TokenResponse
  • Corporates
    • v2025-12-01
      • Create a new Corporate
      • Add a parent entity (corporate associate) to an onboarding request
      • Add an associate to a corporate onboarding request
      • Request pre-signed URLs for onboarding document uploads
      • Request pre-signed URLs for parent entity document uploads
      • Request pre-signed URLs for associate document uploads
      • Finalise corporate onboarding submission
    • Schemas
      • CreateCorporateRequest
      • UboDetails
      • OwnershipType
      • AssociateDocumentPresignedUrlResponse
      • AddOnboardingDocumentsRequest
      • MessageResponse
      • AssociateDocumentPresignedUrlResponseItem
      • ErrorDetail
      • CorporateAssociateType
      • ErrorResponse
      • PresignedUrlResponse
      • AddressTypeEnum
      • FinaliseSubmissionRequest
      • AddParentEntityRequest
      • CreateCorporateResponse
      • AssociateIdentityType
      • ApiResponse[AddOnboardingDocumentsResponse]
      • CorporateCategories
      • AddOnboardingDocumentsResponse
      • ApiResponse[CorporateDetailResponse]
      • ApiResponse[AddAssociateDocumentsResponse]
      • AddParentEntityDocumentsRequest
      • AddAssociateDocumentsResponse
      • AddParentEntityResponse
      • AddIndividualAssociateRequest
      • ApiResponse[CreateCorporateResponse]
      • AddIndividualAssociateResponse
      • CorporateDetailResponse
      • AssociateType
      • ApiResponse[AddParentEntityResponse]
      • NumericRange
      • ApiResponse[AddIndividualAssociateResponse]
      • MoneyRange
      • AddAssociateDocumentsRequest
      • FinaliseSubmissionResponse
      • AssociateIdentityType
  • Corporate Currency Accounts
    • v2025-12-01
      • Get Corporate Currency Accounts
      • Get Cca Ledger Items
      • Get Corporate Currency Account By Reference
    • Schemas
      • GetCCAByReferenceResponse
      • GetCCAsResponseItem
      • PaginatedApiResponse[GetCCALedgerItemsResponseItem]
      • ErrorDetail
      • PageInfo
      • SearchCCALedgersResponseItem
      • PaginationInfo
      • GetCCAUnifiedBalanceResponse
      • PaginatedApiResponse[SearchCCALedgersResponseItem]
      • ErrorResponse
      • ApiResponse[GetCCAUnifiedBalanceResponse]
      • SearchCCALedgersRequest
      • PaginatedApiResponse[GetCCAsResponseItem]
      • ApiResponse[GetCCAByReferenceResponse]
      • PaginationInfo
      • SearchCCALedgersPagination
      • GetCCAByReferenceResponsePayInDetail
      • CurrencyCode
      • GetCCALedgerItemsResponseItem
      • PaginationInfo
  • Beneficiaries
    • v2025-12-01
      • Get Beneficiary Schema
      • Create Beneficiary
      • Get Beneficiary List
      • Get Beneficiary Details
      • Delete Beneficiary
      • Validate Beneficiary
      • Validate Beneficiaries
      • Acknowledge Validation Mismatch
      • List Financial Institutions
      • List Financial Institution Branches
    • Schemas
      • AcknowledgeValidationMismatchRequest
      • ValidationType
      • ProviderBankIdentifierRequest
      • ErrorDetail
      • FinancialInstitutionReferenceResponse
      • AcknowledgeValidationMismatchResponse
      • ApiResponse[AcknowledgeValidationMismatchResponse]
      • ApiResponse[list[FinancialInstitutionReferenceResponse]]
      • AcknowledgedValidationMismatchDestinationResponse
      • DeleteBeneficiaryData
      • AddressResponse
      • BeneficiarySchemaFieldCondition
      • StateOrProvince
      • ApiResponse[list[BankCountryCurrencyResponse]]
      • PageInfo
      • BeneficiarySchemaField
      • BeneficiaryValidationResultResponse
      • StateOrProvince
      • ApiResponse[BeneficiaryResponse]
      • BeneficiaryField
      • RegionalHints
      • BeneficiaryStatus
      • DestinationResponse
      • ValidationStatus
      • BeneficiaryType
      • PaymentMethodType
      • CreateBeneficiaryRequest
      • PaginatedApiResponse[FinancialInstitutionBranchReferenceResponse]
      • ValidateBeneficiariesRequest
      • ApiResponse[ValidateBatchBeneficiariesResponse]
      • CompanyDetailsResponse
      • SchemaFieldVisibility
      • FieldErrorResponse
      • RoutingScheme
      • StateOrProvince
      • ValidateBeneficiaryRequest
      • ErrorResponse
      • FieldType
      • VirtualAccountDestinationRequest
      • ApiResponse[DeleteBeneficiaryData]
      • SokinInternalDestinationRequest
      • GetBeneficiaryFieldsResponse
      • BeneficiaryResponse
      • ApiResponse[ValidateBeneficiaryResponse]
      • FinancialInstitutionBranchReferenceResponse
      • IdentifierType
      • IndividualDetailsRequest
      • SchemaFieldType
      • CurrencyCode
      • TransactionTypeEnum
      • CryptoDestinationRequest
      • AccountType
      • BeneficiaryValidationPayload
      • ApiResponse[GetBeneficiaryFieldsResponse]
      • AccountNumberType
      • PatchBeneficiaryRequest
      • BankAccountCategory
      • ApiResponse[GetBeneficiarySchemaResponse]
      • PaginatedApiResponse[BeneficiaryResponse]
      • ApiResponse[list[BankCountryResponse]]
      • AddressRequest
      • PaginationInfo
      • BankCountryCurrencyResponse
      • PaginationInfo
      • ValidateBatchBeneficiariesResponse
      • PaymentRail
      • CreateExternalBeneficiaryData
      • FinancialInstitutionRequest
      • ApiResponse[CreateExternalBeneficiaryData]
      • CompanyDetailsRequest
      • BankCountryResponse
      • CreateExternalBeneficiaryRequest
      • BankAccountDestinationRequest
      • IndividualDetailsResponse
      • BeneficiarySchemaCondition
      • BeneficiaryDestinationValidationResult
      • BeneficiaryEntityType
      • GetBeneficiarySchemaResponse
      • ETransferDestinationRequest
      • ValidateBeneficiaryResponse
      • RoutingCodeRequest
      • ApiResponse[BeneficiaryDetails]
      • BeneficiaryListItem
      • PaginatedApiResponse[BeneficiaryListItem]
      • PaginationInfo
      • PaginatedBeneficiaryFieldsResponse
      • BeneficiaryDetails
      • ApiResponse[ListFinancialInstitutionsResponse]
      • ListFinancialInstitutionsResponse
  • Instruction Requests
    • v2025-12-01
      • Create Payment Instruction Request
      • Create Fx Instruction Request
      • Create Fx Payment Instruction Request
      • Create Unfunded Payment Instruction Request
      • Create Unfunded Fx Payment Instruction Request
      • Get Instruction Request By Reference
      • List Payment Purposes
    • Schemas
      • CreatePaymentInstructionRequest
      • InstructionType
      • CreateInstructionRequestResponse
      • CreateSokinDirectInstructionRequest
      • ValidateInstructionCreationResponse
      • ApiResponse[CreateInstructionRequestResponse]
      • ErrorResponse
      • ErrorDetail
      • CreateFXInstructionRequest
      • CreateUnfundedFxPaymentInstructionRequest
      • FeeBreakdownResponse
      • ApiResponse[list[str]]
      • GetInstructionRequestResponse
      • ApiResponse[GetInstructionRequestResponse]
      • PaymentPurpose
      • CreateFxPaymentInstructionRequest
      • ApiResponse[ValidateInstructionCreationResponse]
      • CreateUnfundedPaymentInstructionRequest
      • ValidateInstructionCreationRequest
  • Instructions
    • v2025-12-01
      • Get Instruction By Reference
    • Schemas
      • GetInstructionResponse
      • PaginatedApiResponse[InstructionListResponseItem]
      • ApiResponse[GetInstructionResponse]
      • PaginationInfo
      • ErrorResponse
      • ErrorDetail
      • PageInfo
      • InstructionListResponseItem
      • PaginationInfo
  • Foreign Exchange
    • v2025-12-01
      • Get Fx Rate
    • v2026-08-01
      • Request FX Quote
      • Get FX Quote
    • Schemas
      • ApiResponse[FxRateData]
      • FixedSide
      • FxRateRequest
      • FXValidityPeriod
      • FxRateData
      • ApiResponse[GetQuoteResponse]
      • ErrorResponse
      • ErrorDetail
      • GetQuoteResponse
      • FXTenorType
      • FxQuoteStatus
      • ApiResponse[CreateQuoteResponse]
      • CurrencyCode
      • RequestFxQuoteRequest
      • CreateQuoteResponse
  • Webhooks
    • v2025-12-01
      • Create Subscription
      • Update Subscription
      • Get Subscription By Id
      • Delete Subscription
      • Update Subscription Status
      • List Notification Logs
      • Retry Notification
    • Schemas
      • ApiResponse[UpdateSubscriptionResponse]
      • PaginationInfo
      • SubscriptionCreateOrUpdate
      • NotificationStatus
      • NotificationAttemptResponse
      • SubscribableWebhookEventType
      • SubscriptionStatusUpdate
      • ApiResponse[CreateSubscriptionResponse]
      • UpdateSubscriptionResponse
      • PaginatedApiResponse[NotificationLogResponse]
      • PaginationInfo
      • ErrorResponse
      • ErrorDetail
      • PageInfo
      • CreateSubscriptionResponse
      • NotificationLogResponse
      • WebhookSubscription
  • Payment Acceptance
    • Payment Acceptance
  1. Sokin MCP

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, prepare a
payment. 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.
This connects to your live Sokin account.
Every step here points at https://mcp.sokin.com/mcp, and you sign in with
your own Sokin login — the one you use for the Sokin portal. Your client's
tool calls reach your real accounts, and some of them can move real money:
sending a payment, and converting between accounts. Your client asks you to
confirm before either one runs (keep that switched on), and by default Sokin
then holds it until it is approved in the Sokin portal — see
Before you move money.
Tool Guide names the tools.

Jump to#

Set up your client — pick one; each takes about five minutes.
Claude
Replit
ChatGPT
Your own MCP client
Then
Authenticate
Make your first call
Before you move money
If something goes wrong

What you need#

The MCP server URLhttps://mcp.sokin.com/mcp — copy it exactly, including the trailing /mcp
An accountYour Sokin login — the one you use for the Sokin portal — linked to at least one corporate
A clientClaude, Replit, ChatGPT, or your own MCP client
NetworkThe 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. Your client
identifies itself to Sokin automatically when you 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).
The Claude profile menu, bottom-left, with Settings highlighted
2.
Open Connectors.
3.
Click Add, then Add custom connector.
Claude's Connectors settings with the Add menu open, showing Add custom connector
4.
Fill in the dialog:
Name: Sokin — any label works
Remote MCP server URL: https://mcp.sokin.com/mcp
Click Continue.
The custom connector dialog with the name and MCP server URL filled in
5.
Claude checks the server and pre-selects how to sign in: Sign in now
under Authentication, and Use Claude's published identity under OAuth
client, both marked Detected. Leave them as they are, leave
Advanced closed, and click Add.
The connector's sign-in step, with Sign in now and Use Claude's published identity both detected, and Add at the bottom
6.
Scroll down and click Connect. The Sokin sign-in page opens; sign in
with your Sokin login. The first time, Sokin then asks you to allow Claude
to access your account — approve it. The connector then shows
Connected.
The Sokin connector page with the Connect button before sign-in
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 what stops an assistant submitting
something you did not ask for. Approval in the Sokin portal still follows
(see Before you move money), but the prompt is
the check that happens in the chat, where a mistake would be made.
The four tools 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, which moves no money itself but replaces a payee's
bank details, and so changes where future payments to them go.
Four more change something without moving any money: create_fx_quote and
create_fx_payment_instruction each create a real exchange-rate quote,
create_beneficiary adds a payee, and validate_beneficiary saves a fresh
check result when it re-checks a payee you already have. Gating those too
costs you one click each and is the safer default.
The connector's tool list with its Needs approval dropdowns, each of which can be set to Always allow per tool
Team or Enterprise
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.sokin.com/mcp, leave the sign-in options Claude
detects as they are, and click Add.
Every member then goes to Settings → Connectors, finds Sokin,
clicks Connect, and signs in with their own Sokin login.
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:
--scope user makes Sokin available in every project; without it, Claude
Code adds it to the current project only. Then run /mcp in Claude Code to
sign in. Claude Code identifies itself automatically too, so there is nothing
to paste beyond the URL. Because it finishes the sign-in on your own computer,
the sign-in page asks you to confirm once more before returning to Claude
Code — that is expected. Claude Code shows no interactive cards, so
converting between your own accounts is not available there.

Replit#

1.
Open the Replit website, go to Settings → Integrations → Your
integrations
.
Replit's Integrations settings, on the Your integrations tab
2.
Click + Add MCP server.
3.
Fill in:
Display name: Sokin MCP Server — the Agent uses this label in its
chat logs
Endpoint / server URL: https://mcp.sokin.com/mcp
Replit's Add MCP server form with the display name and endpoint filled in
4.
Click Test & save. Replit prompts you to authorise.
5.
Click Authorize Sokin MCP Server and sign in with your Sokin login.
Replit's authorisation prompt for the Sokin MCP Server
The server then shows Connected under MCP Servers, and the Agent
fetches the tools automatically across your projects.
Replit's MCP Servers list showing the Sokin MCP Server as Connected

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 yourself
1.
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.
Fill in:
Name: Sokin MCP — any label works, but this is the one the rest of
this guide uses
Description: optional
Connection: leave it on Server URL, and paste
https://mcp.sokin.com/mcp — include the /mcp
Authentication: OAuth
ChatGPT's Add custom MCP server form, with the name, the Sokin server URL and OAuth selected, beside the OAuth advanced settings showing Client Identifier Metadata Document (CIMD) as the registration method
Under Advanced OAuth settings, check that Registration method
shows Client Identifier Metadata Document (CIMD), with
https://chatgpt.com/oauth/client.json as the CIMD client metadata URL.
That is how ChatGPT identifies itself to Sokin, which is why you never
paste a client ID or secret. Do not switch it to Dynamic Client
Registration (DCR)
: Sokin does not offer it, and sign-in would fail.
Leave the default scopes as they are.
5.
Tick I understand and want to continue, click Create as a plugin,
then sign in with your Sokin login. The first time, Sokin asks you to allow
ChatGPT to access your account — approve it.
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: an
approved write acts on your real Sokin accounts.
If Sokin MCP is already in your organisation
An 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.
ChatGPT's sidebar with the Plugins entry
2.
Search for sokin, then click + next to Sokin MCP.
The Plugins page filtered to sokin, showing the Sokin MCP plugin and its add button
3.
Read what you are granting, then click Continue to Sokin MCP and sign
in with your Sokin login. The first time, Sokin asks you to allow ChatGPT
to access your account — approve it.
ChatGPT's Connect Sokin MCP dialog, listing how permissions and data are handled, with Continue to Sokin MCP
4.
A confirmation appears: Sokin MCP plugin installed.
ChatGPT's confirmation that the Sokin MCP plugin was installed
5.
Open a New chat, click +, pick Sokin MCP, and start asking.
The chat composer's plus menu with Sokin MCP among the available plugins
Two things to know in ChatGPT. It does not always pick the Sokin tool you
mean on the first try, so say plainly what you want, for example "use Sokin to
list my accounts". 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.

How the three clients differ#

ClaudeReplitChatGPT
What it's calledA custom connectorAn MCP server integrationA plugin, or a Developer mode app if you create it yourself
Extra gateNoneNoneDeveloper mode, but only to create the connector — not to use a plugin your organisation already has
PlansFree (1 connector) and upAnyPlus / Pro / Business / Enterprise / Edu — no Free
ScopePer user, or org-wide by an OwnerPer user, across all projectsPer user, selected per conversation
Interactive cardsRenderedNot renderedNot rendered
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, your assistant reads the payment back to you and you
approve in the chat. Both are supported paths.
If you are writing your own client, read the Sokin MCP — Technical Docs
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 is
the approval in the Sokin portal described under
Before you move money.
Everything else — balances, transactions, payees, preparing and sending
payments — works on every client. Tool Guide spells out which tool needs
what.

Your own MCP client#

Your client must identify itself with a Client ID Metadata Document (CIMD)
that Sokin has registered. Unlike Claude or ChatGPT, a client you build is
not registered yet, so talk to your Sokin contact before you start; until
then it cannot sign in.
Point it at https://mcp.sokin.com/mcp over Streamable HTTP and let
it discover the rest:
FieldValue
TransportStreamable HTTP
ProtocolJSON-RPC 2.0 (MCP)
AuthenticationOAuth 2.1 + PKCE; the client identifies itself with a Client ID Metadata Document (CIMD)
Tools26
Session modelStateless — no session to keep open. Your client's support for interactive cards is remembered for 24 hours after each initialize
Three transport details that catch people out:
Your Accept header must include both content types. Send
Accept: application/json, text/event-stream. Leave out the second value
and the server answers 406 Not Acceptable.
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.
Send initialize first. Most calls work without it, but initialize
is the only place your client can say it shows interactive cards. Without
that, the exchange-rate tools create_fx_quote and settle_fx_quote
refuse every call, and the other card tools answer in plain text.

2. Authenticate#

In Claude, Replit, and ChatGPT this is just the sign-in page that opened when
you clicked Connect. Sign in with your Sokin login. The first time a
client connects, Sokin also asks you to allow that client to access your
account; approve it. You are asked once per client, not every time you sign
in.
If sign-in fails, check that you used your Sokin login, and turn off any VPN
for the sign-in step. A login that is not yet linked to a company still signs
in; that problem shows up later, as "no accessible corporates".
Clients that support it, Claude among them, then keep you signed in: they
renew their access in the background, so you are not sent back to the
sign-in page every few minutes. After 30 days, or after 15 days without
using the connector, you sign in again. A client that does not renew asks
you to sign in again when its access expires, after 15 minutes. Either way
it is a re-click
of Connect, not a re-setup.

If you are building your own client#

The MCP server does not sign anyone in itself. Your client signs the user in
with Sokin's authorization server, receives an access token issued for the
MCP server, and sends it on every request. The MCP server then obtains the
Sokin API token it needs on the user's behalf, so your client never holds
one.
Discovery starts at the MCP server and follows the standard well-known paths:
EndpointPurpose
https://mcp.sokin.com/.well-known/oauth-protected-resource/mcpNames this server's resource identifier, https://mcp.sokin.com/mcp, and the authorization server that issues its tokens, https://auth.sokin.com/
https://auth.sokin.com/.well-known/oauth-authorization-serverThe authorization server's own metadata: its authorize and token endpoints, and its support for Client ID Metadata Documents
A request to /mcp without a valid token is answered 401, with a
WWW-Authenticate header pointing at the first of those documents.
Clients identify themselves with a Client ID Metadata Document (CIMD):
the client ID is an HTTPS URL at which the client publishes its own
metadata. Sokin accepts the documents of the clients it supports.
Dynamic Client Registration is not available. A client cannot register
itself on the fly; to connect a client Sokin does not support yet, talk to
your Sokin contact. The authorization server's metadata still lists a
registration_endpoint, but registration there is switched off.
Use PKCE (S256).
Send the resource parameter as https://mcp.sokin.com/mcp. Tokens are
issued for that resource, and the server rejects a token issued for
anything else.
No scopes are required. Request offline_access to receive a refresh
token.
Access tokens last 15 minutes. Refresh tokens rotate on every use and
stop working after 30 days, or after 15 days unused.
You cannot request a Sokin API token yourself, and you do not need one.
The server exchanges your token for one on the user's behalf whenever a
tool needs the API.
Requests to /mcp are additionally gated by Host-header checks
(DNS-rebinding protection). A request with a valid token but 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 test 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:
CurrencyBalanceAvailable
GBP48,200.0047,150.00
EUR15,400.0015,400.00
USD12,000.0011,750.00
The figures above are illustrative. What yours look like depends on your
company's accounts — the point is that real account data comes back at all,
not the numbers themselves.
In Claude:
Claude answering the confirmation prompt, having run the Sokin tools and started rendering an account-balances card
And the same prompt answered by the Replit Agent:
The Replit Agent answering the confirmation prompt with a summary of the Sokin accounts, amounts redacted
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 — many other tools need one,
and list_corporates is where one comes from.

Before you move money#

Three things move money through the connector: paying someone in a currency
you hold, paying someone in a currency you do not hold, and converting between
your own accounts. All three go through the same steps:
1.
You confirm it in the chat. Your client shows you what will happen — on
a card if it draws one, in plain text if it does not — and asks before it
submits anything.
2.
Sokin holds it. Submitting creates the payment or conversion in Sokin
but does not process it. On a client with cards, the card shows that it
is waiting for approval.
3.
Someone approves it in the Sokin portal. Only then is the payment sent
or the currency converted.
Sokin sets this up for every company automatically, as approval rules (one
for each kind of payment or conversion) that cover everything started through
the connector. They apply on top of any approval rules your company already
has: anything those rules require is still required. The rules name the
people who held your company's Admin or Checker role when the rules were set
up, and if there were none, any of your company's users can approve; edit the
rules in the Sokin portal to change who can. The approver can be the person
who started it — the rules make sure the final step happens inside Sokin, not
that someone else checks it.
Anyone in your company who can edit approval rules can switch these off. If
they do, what you start through the connector follows only your company's
other approval rules, like a payment made in the portal, and goes straight
through where none apply.
A quoted rate lasts minutes, not hours. A conversion, or a payment in a
currency you do not hold, is approved at the rate you were quoted. If that rate
has expired by the time someone approves it, the portal will not approve it at
the old rate: the approver either rejects it, which shows as Rejected,
or takes a fresh rate, which closes the original as Failed with the
reason FX quote expired at approval. Either way, nothing is converted at the old rate.
To follow one through, ask your assistant to check it with
get_instruction, or watch the card, which keeps tracking it until it is
processed, rejected or failed.

Disconnecting#

Worth knowing before you start, and worth doing when you stop using a client.
Claude: Settings → Connectors → Sokin → 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 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#

SymptomFix
URL rejected when adding the connectorInclude the full URL with the trailing /mcp, and choose OAuth where the client asks
Sign-in failsUse your Sokin login, the one you use for the Sokin portal. If you are on a VPN, turn it off for the sign-in step
ChatGPT: sign-in fails right after creating the appCheck the app's Registration method is CIMD, not DCR — Sokin does not offer DCR
No tools listedOpen the connector's details page, refresh the tool list, and make sure the tools are toggled on
"No accessible corporates", or an empty resultYour login is not linked to a corporate — ask your Sokin contact
ChatGPT: no Developer mode toggleYou are on Free, or an admin has not enabled it for your workspace
ChatGPT: the app is missing in a chatRe-select it from the chat's + menu (under Developer mode if you created it yourself); it is chosen per conversation
A payment card says the payment may already have gone outA 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 statusPress Try again. If it keeps failing, ask your assistant to look for the payment with list_instructions before preparing it again: it may already have been sent
421 instead of 401A Host-header mismatch, not a token problem. Check the Host header your client sends
406 Not AcceptableYour Accept header is missing text/event-stream. If the request succeeds but your client cannot read the answer, it is not handling SSE: the result is in a data: event
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
something to try asking. 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-12 10:20:14
Previous
Sokin MCP
Next
Sokin MCP - Tool Guide
Built with