Omnisend MCP Server
by plutzilla
An MCP server that integrates with the Omnisend API V5, written in TypeScript. It allows AI assistants and other MCP clients to interact with Omnisend data.
Last updated: N/A
Omnisend MCP Server
A Model Context Protocol (MCP) server that integrates with Omnisend API V5, written in TypeScript.
Version: 2.2.0
<a href="https://glama.ai/mcp/servers/@plutzilla/omnisend-mcp"> <img width="380" src="https://glama.ai/mcp/servers/@plutzilla/omnisend-mcp/badge" alt="Omnisend Server MCP server" /> </a>Features
- Contact management (list, create, get, update)
- Product management (list, create, get, replace, delete)
- Event tracking
- Product categories management
- Cursor-based pagination support with next/previous URLs and limit/offset information
Changes in Version 2.2.0
- Refactored codebase to a more modular structure
- Implemented domain-specific modules (contacts, products, categories, events)
- Organized code into logical directories (/types, /filters, /api-resources, /resources, /tools)
- Made server version dynamic in the ping tool
- Added better error handling in API requests
- Improved code maintainability with barrel exports
- Removed redundant and duplicate code
Changes in Version 2.1.0
- Updated to @modelcontextprotocol/sdk v1.11.0
- Improved error handling throughout the application
- Enhanced API stability with better error messages
- Added request timeout configuration to prevent hanging connections
- Fixed SSE connection issues with MCP Inspector
- Optimized console output to be compatible with MCP clients
- Added cursor-based pagination context in MCP responses (next/previous URLs, limit/offset)
Changes in Version 2.0.0
- Migrated entire codebase to TypeScript
- Updated MCP resource structure according to latest specification
- Added proper type declarations for all API responses and requests
- Improved error handling with typed exceptions
- Enhanced code organization and maintainability
Installation
npm install
Building
To compile TypeScript code:
npm run build
Running in Development Mode
For development with auto-reloading:
npm run dev
Configuration
Create a .env
file in the root directory with your Omnisend API key:
OMNISEND_API_KEY=your_api_key_here
OMNISEND_API_URL=https://api.omnisend.com/v5
Usage
To start the MCP server:
npm start
Interacting with the MCP Server
The MCP server is designed to be used with clients that understand the Model Context Protocol. Here are ways to interact with it:
VS Code Integration
For use with VS Code, a configuration file is provided in .vscode/mcp.json
.
VS Code with the appropriate MCP extension can communicate with this server.
AI Assistants
AI assistants like Claude that support MCP can communicate with this server to access Omnisend data and perform operations.
Using with Claude Desktop
To use this MCP server with Claude Desktop:
-
Download and install Claude Desktop from the official website.
-
Make sure you have Node.js installed on your system. You can verify by running:
node --version
If Node.js is not installed, download it from nodejs.org.
-
Open the Claude menu on your computer and select "Settings..."
-
Click on "Developer" in the left-hand bar of the Settings pane, and then click on "Edit Config"
-
This will open your Claude Desktop configuration file. Replace the file contents with or add the following configuration:
{ "mcpServers": { "omnisend": { "command": "node", "args": [ "/path/to/dist/index.js" ], "env": { "OMNISEND_API_KEY": "your_api_key_here" } } } }
Make sure to replace
your_api_key_here
with your actual Omnisend API key. -
Save the configuration file and restart Claude Desktop.
-
After restarting, you should see a hammer icon in the bottom right corner of the input box.
-
Click on the hammer icon to see the available Omnisend tools.
-
You can now ask Claude to perform operations such as:
- "List my recent contacts in Omnisend"
- "Create a new product in my Omnisend catalog"
- "Send a customer event to Omnisend"
Custom MCP Clients
You can develop custom clients using the @modelcontextprotocol/sdk
library:
import { McpClient } from '@modelcontextprotocol/sdk/client/mcp';
import { ProcessClientTransport } from '@modelcontextprotocol/sdk/client/process';
const transport = new ProcessClientTransport(serverProcess);
const client = new McpClient(transport);
// Connect to the server
await client.connect();
// Execute tools
const result = await client.executeTool("listContacts", { limit: 10 });
API Documentation
For more information about the Omnisend API, see the official documentation.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.