DOKU MCP Server

Set up DOKU MCP server to integrate DOKU APIs with your AI tools

Learn more about what Model Context Protocol is here

On this page, you will learn how to integrate to DOKU MCP server. It outlines the requirements, step-by-step integration guide, and detailed descriptions of all available tools. Each tool includes what it does, when to use it, and how it fits into common payment scenarios such as checkout, QRIS, or Virtual Account transfers. This section is your go-to resource whether you are building a full AI-powered integration or simply connecting your backend systems to streamline payments.

Requirements

Before you start, make sure you fulfill the following requirements:

  1. Become a DOKU Merchant (follow the guide here)

  2. Prepare an AI assistant (e.g. Visual Studio Code, Claude, or any AI assistant of your choice)

Integration Guide

This section guides you through connecting with our MCP Server: authenticating requests, discovering tools, making JSON-RPC calls, handling responses and webhooks, and testing in sandbox before going live.

1. Generate API Keys

Please contact our team to retrieve your credentials by filling the form here. Please be sure to select "Payment Integration via MCP Server (AI Agents)"

2. Encode API Keys

Once you have received the API keys, you will need to encode them by running the following command:

base64 <<< api_key_xxxxxxxxxx:e

Important Note: Do not remove the : separator. Save the encoded string as you’ll use it in the next step.

3. Configure Your AI Assistant

Now that you have your AI assistant prepared and base64 encoded token, connect your assistant AI assistant with your choice of application. Below is a guide on how you can configure with Visual Studio Code.

  1. Open Visual Studio Code

  2. Open Command Palette and type MCP: Open User Configuration

  3. Paste the following configuration:

{
    "servers": {
        "doku-mcp-server": {
            "type": "http",
            "url": "https://mcp.doku.com/sse",
            "headers": {
                "Client-Id": "{doku-client-id}",
                "Authorization": "Basic {base64.encode(doku_api_key:)}"
            }
        }
    }
}
  1. Replace {doku-client-id} and {base64-encoded-token} with your values.

  2. Verify by opening Command Palette → MCP: Show Installed Servers → select doku-mcp-server. If successful, you’ll see logs confirming the connection and available tools.

4. Restart Your AI Assistant Application

Restart your AI assistant app. In the chat window, switch to Agent Mode, then ask:

Show me the available DOKU tools

If connected, the server will list all MCP tools (e.g., checkout, payment link, QRIS). You can then try calling a tool such as checkout to confirm everything works.

Tools

DOKU MCP server comes equipped with over 15 powerful tools, designed to handle every stage of the payment process:

No.
Tool Name
Description
Use Case

1

create_payment_link

Generate a payment link that can be used to accept payments without determining customer data

Customer will have to input their data (e.g. name, email, etc.) before proceeding to checkout and select payment methods

2

checkout

Generate a checkout link that can be used to accept payments with customer data specified

Customer select payment methods and checkout immediately

3

find_report_by_invoice_number

Retrieve the transaction details such as status, amount, and payment method used based on the invoice number

Tracking if an order has been paid

4

find_report_by_customer_name

Retrieve the transaction details such as status, amount, and payment method used based on the customer name

Viewing all orders from a particular customer

5

find_report_by_date_range

Retrieve the transaction details such as status, amount, and payment method used within a specified start and end date

Monthly reconciliation for accounting

6

get_merchant_payment_channels

Retrieve a list of all payment methods activated for your merchant account.

Checking which banks, cards, or wallets are active

7

create_virtual_account

Generate a Virtual Account number for bank transfer.

Allowing customer to pay via BCA VA

8

update_virtual_acccount

Modify details of an existing Virtual Account

Extending deadline for an unpaid VA

9

delete_virtual_account

Close or disable payment of an existing VA

Cancelling an unused VA number

10

generate_qris

Generate a QRIS code for direct payments

Customer scans QR to pay for an order in IDR

11

add_customer

Create a new customer with details like name, email, and phone

Registering a new buyer before issuing an invoice

12

update_customer

Update existing customer details (e.g., phone, email)

Correcting customer contact info

13

delete_customer

Remove a customer from your records.

Cleaning inactive or duplicate customer data

14

find_customer_by_id

Retrieve customer details using their unique customer ID

Checking details of a returning customer

15

find_customer_by_name

Retrieve customer details using the customer’s full name or partial name

Finding a repeat customer without knowing their ID

16

find_customer_by_email

Retrieve customer details using the customer’s registered email address

Identifying a customer using their email contact

17

find_all_customers

Retrieve all customers linked to your merchant account.

Viewing your full customer base

Last updated

Was this helpful?