OpenMerchant
For sellers and businesses on OpenMerchant: every tool in the API as one MCP server, for the agent you build. Sell to agents, pay vendors, and purchase with cards. Add it by URL with your secret key.
https://api.openmerchant.dev/mcp/v1Sign-in from Claude and ChatGPT is coming soon.
Updated
Add it to your app
Claude Code
- Set
OPENMERCHANT_API_KEYto your secret key in your shell. - Run the command below.
- Run
/mcpin Claude Code to check that it is connected.
Terminal
claude mcp add --transport http --scope user \
openmerchant-custom https://api.openmerchant.dev/mcp/v1 \
--header "Authorization: Bearer $OPENMERCHANT_API_KEY"
Codex
- Set
OPENMERCHANT_API_KEYto your secret key where Codex runs. - Add this to
~/.codex/config.toml, or run the command below. - Run
/mcpin Codex to check that it is connected.
~/.codex/config.toml
[mcp_servers.openmerchant-custom]
url = "https://api.openmerchant.dev/mcp/v1"
bearer_token_env_var = "OPENMERCHANT_API_KEY"
Or in a terminal
codex mcp add openmerchant-custom \
--url https://api.openmerchant.dev/mcp/v1 \
--bearer-token-env-var OPENMERCHANT_API_KEY
The Codex CLI, the Codex IDE extension and the ChatGPT desktop app share this file.
VS Code
- Select Add to VS Code and confirm, or add this to
.vscode/mcp.json. - When the server first starts, VS Code asks for your secret key and stores it.
- Confirm that you trust the server, then use it from Chat.
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "openmerchant-secret-key",
"description": "OpenMerchant secret key",
"password": true
}
],
"servers": {
"openmerchant-custom": {
"type": "http",
"url": "https://api.openmerchant.dev/mcp/v1",
"headers": {
"Authorization": "Bearer ${input:openmerchant-secret-key}"
}
}
}
}
Cursor
- Set
OPENMERCHANT_API_KEYto your secret key in your shell profile, then restart Cursor so it can read it. - Select Add to Cursor, or add this to
~/.cursor/mcp.json. - Check that it is on under Customize > MCPs.
~/.cursor/mcp.json
{
"mcpServers": {
"openmerchant-custom": {
"url": "https://api.openmerchant.dev/mcp/v1",
"headers": {
"Authorization": "Bearer ${env:OPENMERCHANT_API_KEY}"
}
}
}
}
Other apps
Gemini CLI
- Set
OPENMERCHANT_API_KEYto your secret key where Gemini CLI runs. - Run this, then run
/mcpin Gemini CLI to check that it is connected.
Terminal
gemini mcp add --transport http --scope user \
--header 'Authorization: Bearer ${OPENMERCHANT_API_KEY}' \
openmerchant-custom https://api.openmerchant.dev/mcp/v1
Devin Desktop (formerly Windsurf)
- Set
OPENMERCHANT_API_KEYto your secret key where Devin Desktop runs. - Add this to
~/.config/devin/mcp_config.json.
~/.config/devin/mcp_config.json
{
"mcpServers": {
"openmerchant-custom": {
"url": "https://api.openmerchant.dev/mcp/v1",
"headers": {
"Authorization": "Bearer ${env:OPENMERCHANT_API_KEY}"
}
}
}
}
Cline
Open MCP Servers, then Configure and Configure MCP Servers, and add this with your secret key in place of pr_sk_test_….
cline_mcp_settings.json
{
"mcpServers": {
"openmerchant-custom": {
"type": "streamableHttp",
"url": "https://api.openmerchant.dev/mcp/v1",
"headers": {
"Authorization": "Bearer pr_sk_test_…"
}
}
}
}
Zed
Add this to your settings, with your secret key in place of pr_sk_test_….
settings.json
{
"context_servers": {
"openmerchant-custom": {
"url": "https://api.openmerchant.dev/mcp/v1",
"headers": {
"Authorization": "Bearer pr_sk_test_…"
}
}
}
}
Steps follow each app’s own documentation. Checked .
Try it
With a test key set, ask your agent for any of these. Test mode moves no money.
- List the invoices that are waiting for review.
- Create a transfer request for the oldest unpaid invoice and show me its status.
- Create a purchase intent for a $120 keyboard.
What it can do
Every tool in the OpenMerchant API: whatever your secret key can do, an agent holding it can do.
- Vendor payments
- Submit invoices and transfer requests, follow them to paid, and ask a vendor for payout details. No vendor-payment tool approves, pays, cancels or retries a payment; a person does that in the dashboard.
- Purchasing
- Create purchase intents, and approve, cancel or retry them.
- Cards and limits
- Issue card credentials and Shared Payment Tokens, and read or change budgets and spending policies.
- Selling
- Manage your catalog, promotions, rate cards and markets, and answer quote requests and orders.
Keys have no scopes, so build with a test-mode key, which moves no money.
Test or live
The key decides. A test key (pr_sk_test_…) runs everything in test mode and moves no money; a live key is live. Get and rotate keys in the dashboard under Developers.
If a tool call fails
An authentication error usually means the key did not arrive. Check that OPENMERCHANT_API_KEY is set where your app can read it, that the header is Bearer followed by the key, and restart the app after setting it.
Invoices and transfer requests take an idempotency key, so an agent can retry a submission with the same key without creating a second one.
Sources
Claude, Claude Code and the Claude logo are trademarks of Anthropic. ChatGPT, Codex, OpenAI and the OpenAI logo are trademarks of OpenAI. They identify the apps these steps are for and imply no endorsement of OpenMerchant.