100+ integrations are ready to connect to your AI.Connect your first MCP

Klarna MCP server for your AI

Capture or refund an order, make a payment link, answer a dispute with evidence, and reconcile a payout against your bank, all by asking, on live or playground.

PopMCPKlarna

What can still be captured or refunded on this order?

Supported Klarna tools

Every Klarna merchant API a key can call is here: Order Management, Payments, Hosted Payment Page, Customer Token, Settlements, Merchant Card Service, in-store and Disputes. The everyday tools load by default and the rest are one search away. A few do a whole job at once, such as capturing what is left on an order after checking it first.

72 tools in the full catalog: 30 read and 42 write. 38 load by default, and the rest are found with tool search.

klarna_add_capture_shipping_info

Add tracking details (carrier, tracking number, return tracking) to a capture.

klarna_cancel_order

Cancel an order so the customer owes nothing.

klarna_capture_order

Capture part or all of an order: this moves real money, starts the customer's payment plan and tells Klarna the goods shipped.

klarna_capture_remaining_amount

Capture everything still uncaptured on an order: this moves real money and starts the customer's payment plan.

klarna_extend_order_authorization_time

Extend how long an order can still be captured, when its expires_at is close.

klarna_get_capture

Get one capture on an order.

klarna_get_order

Get one order: status, amounts, order lines, addresses, captures and refunds.

klarna_get_refund

Get one refund on an order.

klarna_list_captures

List every capture on an order, with capture_id, amount, date and order lines.

klarna_order_overview

Everything about one order in one call: status, amounts, what can be captured, refunded or cancelled now, its captures and refunds, any disputes, and its settlement lines.

klarna_refund_order

Refund part or all of a captured order: this returns real money to the customer and cannot be undone.

klarna_refund_remaining_amount

Refund everything captured and not yet refunded on an order: this returns real money to the customer and cannot be undone.

klarna_release_remaining_authorization

Give up the uncaptured rest of a partly captured order, so it can no longer be captured and the customer owes only what was captured.

klarna_update_order_amount

Change a not yet fully captured order's total and order lines.

klarna_update_order_customer_details

Change the billing or shipping address on an order.

klarna_update_order_merchant_references

Set merchant_reference1 and merchant_reference2 on an order, your own order numbers that also appear in settlement reports.

klarna_accept_dispute_loss

Accept a dispute as lost: the disputed amount goes back to the customer and the dispute closes.

klarna_get_dispute

Get one dispute with its reason, amounts, deadlines, customer and merchant evidence and attachments.

klarna_get_payout

Get one payout by its payment_reference, the reference on your bank statement and in klarna_list_payouts.

klarna_get_payout_summary

Sum payouts per currency over a date range: sales, returns, fees, holds and amount paid.

klarna_get_payouts_transactions_report_csv

Get all payouts and transactions in a date range as CSV text.

klarna_list_disputes

List payment disputes with deadlines and state.

klarna_list_payout_transactions

List the sales, returns, fees and other lines in a payout or for one order.

klarna_list_payouts

List the payouts Klarna has paid to your bank, with totals per payout.

klarna_payout_overview

One payout with its transactions, totalled per transaction type, for reconciling a bank deposit.

klarna_respond_to_dispute

Answer a dispute's representment request with your evidence: uploaded attachments, additional_information, and optionally partner_proposed_refund_amount in minor units.

klarna_upload_dispute_attachment

Upload one evidence file for a dispute and get its id.

klarna_create_order_from_authorization

Turn a customer's authorization into an order.

klarna_create_payment_link

Make a Klarna payment link in one step: creates a payment session and a hosted payment page, and returns redirect_url for the customer, a QR code link, and both session ids.

klarna_create_payment_session

Start a Klarna payment: returns session_id, client_token for Klarna's checkout widget, and the payment methods on offer.

klarna_get_payment_session

Get a payment session: status, expires_at, amounts, order lines, and authorization_token once the customer has authorized.

klarna_update_payment_session

Change the amounts, order lines or customer on a payment session that has not been authorized yet.

klarna_disable_hosted_payment_page

Turn a hosted payment page off so its link stops working.

klarna_get_hosted_payment_page

Get a hosted payment page's status (WAITING, BACK, IN_PROGRESS, MANUAL_ID_CHECK, COMPLETED, CANCELLED, FAILED, DISABLED, ERROR), and the authorization_token or order_id once paid.

klarna_create_order_with_customer_token

Charge a saved customer by creating an order on their token, with no customer present.

klarna_get_customer_token

Get a customer token's status, payment method type and masked card or bank details.

klarna_update_customer_token_status

Cancel a customer token by setting status to CANCELLED, so it can no longer be charged.

klarna_account_overview

Start here: which Klarna system this connection is on (live or playground, region), the merchant id when known, the latest payouts and the disputes waiting on you.

klarna_acknowledge_order

Acknowledge a Kustom checkout order so it stops being sent as new.

klarna_add_order_shipping_info

Add tracking details to an order before it is captured.

klarna_extend_capture_due_date

Give the customer more days to pay a capture.

klarna_list_due_date_extension_options

List the extra days a capture's due date can be extended by, and what each costs.

klarna_resend_capture_customer_communication

Send the customer their payment details for a capture again.

klarna_appeal_dispute

Appeal Klarna's preliminary decision on a dispute while it is in PRE_ARBITRATION.

klarna_download_dispute_attachment

Download a dispute's attachment.

klarna_enroll_merchant_in_disputes

Turn on the Disputes API for one merchant id.

klarna_enroll_partner_in_disputes

Turn on the Disputes API for all merchants under a partner account.

klarna_get_payout_report_pdf

Get one payout's summary as a PDF.

klarna_get_payout_transactions_report_csv

Get one payout with all its transactions as CSV text, for reconciliation.

klarna_get_payouts_summary_report_pdf

Get a summary of all payouts in a date range as a PDF.

klarna_accept_dispute_loss_v3

Older Disputes API v3: accept a dispute as lost.

klarna_cancel_authorization

Cancel an authorization the customer gave, when no order will be made from it.

klarna_cancel_payment_session

Cancel a payment session that has not been completed, for example an in-store payment the customer gave up on.

klarna_create_customer_token_from_authorization

Save a customer's authorization as a reusable customer token for subscriptions or later purchases.

klarna_download_dispute_attachment_v3

Older Disputes API v3: download a dispute's attachment.

klarna_enroll_merchant_in_disputes_v3

Older Disputes API v3: turn it on for one merchant id.

klarna_enroll_partner_in_disputes_v3

Older Disputes API v3: turn it on for a partner account.

klarna_get_dispute_v3

Older Disputes API v3: get one dispute.

klarna_list_disputes_v3

Older Disputes API v3: list disputes.

klarna_respond_to_dispute_v3

Older Disputes API v3: answer Klarna's evidence request.

klarna_upload_dispute_attachment_v3

Older Disputes API v3: upload one evidence file.

klarna_create_card_promise

Promise a virtual card for an order, for merchants settling Klarna orders with virtual cards.

klarna_create_card_settlement

Issue the funded virtual card for a completed order.

klarna_get_card_order_cancellation

Get the status of a virtual card order's cancellation request.

klarna_get_card_promise

Get a virtual card promise.

klarna_get_card_settlement

Get a virtual card settlement.

klarna_get_card_settlement_by_order

Get the virtual card settlement for an order.

klarna_request_card_order_cancellation

Ask for a virtual card order to be cancelled.

klarna_create_hosted_payment_page

Create a Klarna-hosted payment page for an existing payment session, and get its redirect_url.

klarna_send_hosted_payment_page

Send a hosted payment page's link to a customer by email or SMS.

klarna_get_in_store_distribution

Check an in-store payment's status (WAITING, DISTRIBUTED, ACCESSED, COMPLETED, CANCELED, FAILED), with its QR code and payment link, and order_id once paid.

klarna_retry_in_store_distribution

Send a failed in-store payment again, when klarna_get_in_store_distribution says FAILED with retryable true.

Connect Klarna to Claude, ChatGPT and Claude Code

Credentials off one Klarna screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

In the Klarna Merchant Portal, open Settings, then Klarna API keys, and select Generate new Klarna API key. Klarna shows the key once, so download it. Open Klarna in PopMCP, paste the key and connect. PopMCP works out whether it is live or playground and which region it belongs to, so there is nothing else to fill in.

Klarna API key••••••••••••3f7a
Username (only for older credentials)K123456_abcdefg
ConnectionVerified

Then just ask for the work

  • “What can still be captured or refunded on this order?”

    • get_order
    • list_captures
  • “Refund SEK 150 on this order and tell me what is left to refund”

    • get_order
    • refund_order
  • “Which disputes are waiting on me, and when are they due?”

    • list_disputes
    • get_dispute
  • “Answer this dispute with the attached proof of delivery”

    • get_dispute
    • upload_dispute_attachment
    • respond_to_dispute
  • “Break down last month's payouts and list the fees on the biggest one”

    • get_payout_summary
    • list_payouts
    • list_payout_transactions

Use Klarna from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Klarna MCP server questions

What teams ask before putting Klarna behind an AI client.

Do I need a developer app?

No. A merchant admin generates an API key under Settings, Klarna API keys in the Merchant Portal, and pastes it into PopMCP. If you have an older username and password from Klarna, they work too: put the username under More options.

Do I need a Klarna merchant account?

Yes. Klarna reviews a business before opening a live merchant account, and the keys come from that account's Merchant Portal. To try things first, make a test account at portal.playground.klarna.com and use its key.

Is this live or a test?

The key decides. One starting klarna_live_ works on real orders, and one starting klarna_test_ works on Klarna's playground, with no real money. PopMCP also finds the region, Europe, North America or Oceania, and the AI can read all of this from the connection profile.

Can the AI list all my orders?

No, because Klarna has no API to list or search orders. It works from an order id you give it, from your store or the Merchant Portal. Settled orders can also be found through payout transactions, and disputed ones through the dispute list.

Can the AI move money?

Only if you allow it. New connections start read-only. Once writes are on, captures and refunds are real, so ask it to confirm first. Each one carries an idempotency key, so a retry does not act twice.

Does this cover Klarna Checkout?

No. Klarna Checkout is now Kustom Checkout, run by Kustom with its own accounts and API. Orders you already have in Klarna can still be managed here. Klarna Payments, the Hosted Payment Page and in-store payments are all covered.

Why are my disputes empty or refused?

The Disputes API has to be turned on once for your merchant id, which the AI can do with a write action. Accounts still on an older version can use the v3, v2 and v1 tools, which are available through search.

Do I have to run or host the Klarna MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Klarna to Claude Code?

Connect Klarna in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Klarna on the consent screen. The Klarna tools are then available in that session, and no Klarna credential is stored on your machine.

Why do only 38 of the 72 tools load by default?

Loading 72 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 38-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 72 here. A trigger is something PopMCP watches for you: 4 Klarna events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Klarna.

Connect Klarna to your AI in minutes

Launch a hosted MCP endpoint for Klarna, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP