omnisend-mcp
If you are the rightful owner of omnisend-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcpreview.com.
A Model Context Protocol (MCP) server that integrates with Omnisend API V5, written in TypeScript.
Omnisend MCP Server
A Model Context Protocol (MCP) server that integrates with Omnisend API V5, written in TypeScript.
Version: 2.3.0
Features
- Contact management (list, create, get, update)
- Product management (list, create, get, replace, delete)
- Event tracking
- Product categories management
- Brand information access
- Cursor-based pagination support with next/previous URLs and limit/offset information
- MCP Inspector integration for debugging and testing
- Human-readable resource names with proper JSON schema responses
Changes in Version 2.3.0
- Added brand information support with
/v5/brands/current
endpoint integration - Implemented
getCurrentBrand
tool for retrieving current brand data - Added
Brand information
resource for live brand data access - Added
Brand schema
resource with proper JSON schema definition - Updated all schema resources to return serialized JSON instead of dummy text
- Improved resource naming with human-readable names and "schema" suffix
- Added MCP Inspector integration with
npm run inspect
andnpm run inspect:env
scripts - Enhanced debugging capabilities with visual testing interface
- Updated documentation with comprehensive debugging and testing guide
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
Debugging and Testing
MCP Inspector
The project includes scripts to run the MCP Inspector for testing and debugging:
# Basic inspector (requires .env file or environment variables)
npm run inspect
# Inspector with explicit environment variables
OMNISEND_API_KEY=your_api_key npm run inspect:env
The MCP Inspector provides:
- Interactive testing of all tools and resources
- Real-time debugging of MCP communication
- Visual interface for exploring server capabilities
- Request/response logging and error analysis
The inspector will open in your browser (typically at http://localhost:6274
) and allow you to:
- Test all available tools (ping, contacts, products, categories, events, brands)
- Browse resources (schemas and live data)
- Monitor server logs and notifications
- Export configuration for use with other MCP clients
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 file for details.