Connect Claude Desktop, Claude Code, Cursor, and ChatGPT directly to your Merko account.
Manage campaigns, audiences, leads, templates, and images from natural language — securely via OAuth 2.0.
The Merko MCP Server uses OAuth 2.0 Dynamic Client Registration. Your AI
client registers automatically, opens your browser for Merko login, and requests scoped access — no manual
tokens or secrets.
The MCP server gives any compliant AI assistant a standardized way to:
Access account and profile information
List, analyze, and create marketing campaigns
Browse audiences, segments, and recipient lists
Create, update, and delete lead profiles
Upload images to Merko CDN via URL or base64
Create and retrieve branded HTML email templates
📋Prerequisites
1
A Merko account
You need an active account at app.merko.ai. Your existing login is used for OAuth authorization.
Confirm URL is exactly https://mcp.merko.ai/mcp. Test
GET https://mcp.merko.ai/health → 200 OK.
OAuth popup doesn’t open
Disable popup blocker for your AI client, or use the desktop app. The client must be
able to open /authorize.
Authorized but no tools appear
Start a completely new chat/session — clients load tools only at session start.
401 Unauthorized
Token expired or missing. Re-authenticate: disconnect the Merko server and reconnect to
trigger OAuth again.
Page number must be 1 or higher
All paginated tools expect page_number as string "1", not
number 1.
Token expired mid-session
Client auto-refreshes via refresh_token. If it fails, disconnect and
reconnect in Settings.
ChatGPT: tools not listed
Ensure Developer mode is on and Merko app is enabled via the + button
in a new conversation.
Cursor: red dot
Check URL, ensure Type is HTTP, and re-authorize via browser.
📡Endpoints & Errors
Endpoints
POST/mcpStreamable HTTP — primary MCP endpoint
GET/healthHealth check — 200 OK
OAuth discovery via /.well-known/oauth-authorization-server, protected resource via
/.well-known/oauth-protected-resource, and JWKS via /.well-known/jwks.json. Your
client discovers these automatically — no manual calls needed.
Error Codes
HTTP
Error
Description
401
Unauthorized
Missing/invalid bearer token. Re-authenticate.
400
invalid_request
Missing required parameters.
400
unsupported_grant_type
grant_type must be authorization_code or
refresh_token.
400
invalid_token
Token signature failed or expired.
500
server_error
Unexpected server error. Contact Merko support if persistent.