Skip to main content
This is a separate server and this one is self-hosted by you and can perform real, authenticated actions — including sending real messages — using your own API key.

What it does

This server exposes a single tool, call_api, which lets a connected AI client call the Transactional Messaging API directly — for example, sending a transactional email, sending a batch, or fetching a delivery report — without you having to write the request by hand.
Because this server can take real, billable actions on your account, only install it where you intend that, and treat your API key with the same care you would in any backend service. Never share a running instance’s access with people you don’t trust with your account.

How it works

The server runs locally as a child process of your MCP client (stdio transport), not as a public endpoint. Your API key lives in an environment variable on your machine — the AI model itself never sees or handles the key. When the model calls call_api, the server attaches the key server-side and forwards the request to https://api.effilink.co. For safety, the server only allows paths under /v5/transactional/. A call to any other path is refused before a network request is made.

Setup

1

Get the server code

Download the effilink-mcp-server project (index.js, package.json, README.md) and install dependencies:
2

Set your API key

Get an API key from your account settings, then export it as an environment variable:
3

Add it to your MCP client

Point your client at the server’s entry file. For Claude Desktop or Cursor, add this to your MCP config:
4

Test in sandbox mode

Try a call with sandboxMode: true first — see the example below — so you can confirm everything is wired up correctly before sending anything real.

The call_api tool

Example: send a transactional email

With sandboxMode: true, the request is validated end-to-end but no real email is sent — see Sandbox Mode. Drop that flag once you’re ready to send for real.

Example prompts

Once connected, you could ask your AI client things like:
  • “Send a password reset email to jane@example.com using our reset template.”
  • “Send a batch of order confirmation emails to this list of customers.” (with the list provided in the conversation)
  • “Look up the delivery status of message ID abc123.”
The client will call call_api with the correct path, method, and body based on the API reference.

Limitations

  • Scoped to Transactional Messaging. Only /v5/transactional/* paths are allowed by default. Campaigns, SMS, and contacts endpoints aren’t reachable unless you extend the ALLOWED_PREFIX in the server code.
  • Local by default. The server runs via stdio on your own machine — it isn’t shared across a team unless you adapt it to run over HTTP with its own authentication layer in front.
  • No built-in rate limiting beyond EffiLink’s own API limits. See Limits & Quotas.

Looking for the read-only docs server?

See the MCP Server page for the server that lets AI tools search and cite EffiLink documentation.