Keplars

Other MCP Clients

Connect Cursor, Windsurf, Claude Code, Codex CLI, or any HTTP-based MCP client to the Keplars MCP Server.

The Keplars MCP Server works with any client that supports the Streamable HTTP transport. The config structure is the same across all clients.

Two API keys

All clients need the same two keys: a send key (live_ prefix) and an admin key (adm_ prefix). Get both from the Keplars dashboard under API Keys in your workspace settings.


Claude Code

Claude Code (the CLI) supports HTTP MCP servers natively — no bridge process needed.

Add the server with one command

claude mcp add --transport http keplars https://mcp.keplars.com/mcp \
  --header "Authorization:<your-send-key>" \
  --header "X-Admin-Api-Key:<your-admin-key>"

This writes the config to your user-level settings (~/.claude/settings.json) and makes the tools available in every project.

To scope it to a single project instead, run the same command with --scope project from inside the project directory. This writes to .claude/settings.json in the project root.

Verify

claude mcp list

You should see keplars listed with http transport and the endpoint URL.

Use in a session

Start a Claude Code session and ask naturally:

Send a transactional email to [email protected] with subject "Your verification code" and body "Your code is 482910"

Manual config

You can also edit ~/.claude/settings.json directly and add the server under mcpServers:

{
  "mcpServers": {
    "keplars": {
      "type": "http",
      "url": "https://mcp.keplars.com/mcp",
      "headers": {
        "Authorization": "<your-send-key>",
        "X-Admin-Api-Key": "<your-admin-key>"
      }
    }
  }
}

OpenAI Codex CLI

The Codex CLI supports MCP servers via ~/.codex/config.toml.

Open the Codex config

~/.codex/config.toml

Create the file if it does not exist.

Add the Keplars server

[mcp_servers.keplars]
command = "npx"
args = [
  "-y", "mcp-remote",
  "https://mcp.keplars.com/mcp",
  "--header", "Authorization:<your-send-key>",
  "--header", "X-Admin-Api-Key:<your-admin-key>"
]

This uses mcp-remote as a stdio bridge. Install it once if you have not already:

npm install -g mcp-remote

Verify

Run Codex and ask it to list available tools. The Keplars tools should appear.


Cursor

Open Cursor settings

Press Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows) and search for Open MCP Settings. This opens ~/.cursor/mcp.json.

If the file does not exist, create it at that path.

Add the Keplars server

{
  "mcpServers": {
    "keplars": {
      "url": "https://mcp.keplars.com/mcp",
      "headers": {
        "Authorization": "<your-send-key>",
        "X-Admin-Api-Key": "<your-admin-key>"
      }
    }
  }
}

Restart Cursor

Close and reopen Cursor. The tools appear in the Agent panel under the MCP section.

Verify

In Cursor Agent mode, click the tools icon and confirm the Keplars tools are listed.


Windsurf

Enable MCP in Windsurf settings

Open Windsurf Settings and navigate to AI Features. Make sure MCP is enabled.

Open the MCP config

The config file is at:

~/.codeium/windsurf/mcp_config.json
%USERPROFILE%\.codeium\windsurf\mcp_config.json

Create it if it does not exist.

Add the Keplars server

{
  "mcpServers": {
    "keplars": {
      "serverUrl": "https://mcp.keplars.com/mcp",
      "headers": {
        "Authorization": "<your-send-key>",
        "X-Admin-Api-Key": "<your-admin-key>"
      }
    }
  }
}

Restart Windsurf

Close and reopen Windsurf. The Keplars tools will be available in Cascade.


Generic HTTP MCP client

If you are building a custom integration or using a client not listed above, here are the raw connection details.

PropertyValue
Endpointhttps://mcp.keplars.com/mcp
TransportStreamable HTTP (POST)
Content-Typeapplication/json
Acceptapplication/json, text/event-stream
Auth header 1Authorization: <your-send-key>
Auth header 2X-Admin-Api-Key: <your-admin-key>

Verify connectivity with curl

curl -s -X POST https://mcp.keplars.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: <your-send-key>" \
  -H "X-Admin-Api-Key: <your-admin-key>" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
  | jq '.result.tools[].name'

A successful response lists all 15 tool names. If you get an Unauthorized error, check that both headers are present and the keys are valid.


Troubleshooting

Tools not appearing in Cursor or Windsurf

Restart the editor fully after editing the config. Both Cursor and Windsurf load MCP config on startup only.

claude mcp add says the server already exists

Remove it first with claude mcp remove keplars, then re-add it.

Codex says mcp-remote is not found

Run npm install -g mcp-remote and make sure npx can resolve global packages.

JSON parse error on startup

Validate your config file at jsonlint.com. A trailing comma or mismatched brace will prevent the server from loading silently.

"Unauthorized" on email sends

The send key in the Authorization header is missing or invalid. Regenerate a live_ key from the dashboard.

"Unauthorized" on templates, contacts, or campaigns

These tools require the admin key in X-Admin-Api-Key. Make sure that header is present in your config alongside the Authorization header.

On this page