Eulerian Marketing Platform MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Eulerian Marketing Platform MCP Serverget campaign performance for last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Eulerian Marketing Platform MCP Server
A Model Context Protocol (MCP) proxy server that bridges AI assistants (Claude Desktop, Gemini CLI, etc ...) to a remote Eulerian Marketing Platform MCP server. This proxy handles authentication, request forwarding, and provides a local MCP interface to your remote Eulerian instance.
How It Works
This server acts as a transparent proxy between local MCP clients and your remote Eulerian Marketing Platform server:
┌─────────────┐ ┌──────────────────┐ ┌────────────────┐
│ Claude │ ◄─────►│ This MCP Proxy │◄─────► │ Remote Eulerian│
│ Desktop │ stdio │ (Local) │ HTTP │ MCP Server │
└─────────────┘ └──────────────────┘ └────────────────┘The proxy:
🔐 Handles authentication with your remote Eulerian server
📡 Forwards MCP requests via HTTP with Bearer token
🛠️ Exposes remote tools and resources to AI assistants
📝 Provides comprehensive logging for debugging
⚡ Uses async HTTP for better performance
Related MCP server: ServiceTitan MCP Server
Warning
Given the rapid pace of evolution of protocols, implementations and new features coming out, the MCP may or may not be compatible with your suite of tools. Please fill in an issue so that we can check it.
Features
🔌 Proxy Architecture: Bridges local MCP clients to remote Eulerian MCP server via HTTP
🔐 Secure Authentication: Uses Bearer token authentication for remote server access
🌐 Cross-platform support: Works on Windows, Linux, and macOS
🤖 Multiple AI clients: Compatible with Claude Desktop and Gemini CLI
📝 Comprehensive Logging: Logs all requests/responses for debugging
⚡ Async HTTP: Non-blocking requests using httpx for better performance
🛠️ Tool Discovery: Automatically discovers and exposes remote tools
⏱️ Configurable Timeouts: Adjustable request timeouts
Prerequisites
Python 3.10 or higher - Install Python
Access to a remote Eulerian Marketing Platform MCP server (HTTP endpoint)
Valid authentication token for the remote server
One of the following AI clients:
Claude Desktop (Windows, macOS, Linux)
Gemini CLI
Codex CLI (macOS, Linux)
Claude Code (macOS, Linux)
Cursor (Windows, macOS, Linux)
VS Code with GitHub Copilot (Windows, macOS, Linux)
Available Tools
All API Endpoints supported by the Eulerian API can be queried through the current MCP.
Installation
Quick Start (Recommended)
The easiest way to use this MCP server is with pip.
Make sure pip is installed : python -m pip install --upgrade pip
Install via pip
If you prefer to install the package globally:
pip install eulerian-marketing-platformAlternative: Install from source
git clone https://github.com/EulerianTechnologies/eulerian-marketing-platform-mcp.git
cd eulerian-marketing-platform-mcp
pip install -e .Configuration
Required Environment Variables
EMP_API_ENDPOINT: Your remote Eulerian Marketing Platform MCP server URL (HTTP endpoint)Example:
https://dem.api.eulerian.com/mcp
EMP_API_TOKEN: Your authentication token for the remote server, it is the one linked to your Eulerian account.
Optional Environment Variables
EMP_LOG_FILE: Log file location (default:/tmp/eulerian-mcp-proxy.log)EMP_TIMEOUT: Request timeout in seconds (default:300)
Example .env file
Create a .env.example file in your project:
# Required
EMP_API_ENDPOINT=https://your-eulerian-instance.com/mcp
EMP_API_TOKEN=your_authentication_token_here
# Optional
EMP_LOG_FILE=/var/log/eulerian-mcp-proxy.log
EMP_TIMEOUT=600Setup Instructions by Client
1. Claude Desktop
Two installation methods are available. The DXT extension is the easiest — no terminal required.
Option A: One-click DXT Extension (Recommended)
Desktop Extensions (DXT) let you install MCP servers in Claude Desktop with a single double-click, without editing JSON config files.
Requirements: Python 3.10+ with the package installed:
pip install eulerian-marketing-platformInstall steps:
Download the latest
.dxtfile from the releases pageDouble-click the
.dxtfile — Claude Desktop opens an installation dialogEnter your API Endpoint and API Token when prompted
Click Install — the server is ready immediately
That's it. No pip install, no config file editing, no restart required.
To update: download the new .dxt and double-click it again.
Option B: Manual JSON configuration
Claude Desktop supports local MCP servers via stdio transport.
Configuration File Locations
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Setup Steps
Open Claude Desktop
Access configuration:
Click
Claudemenu →Settings→Developer→Edit ConfigOr manually edit the JSON file at the location above
Add the server configuration:
{
"mcpServers": {
"eulerian-marketing-platform": {
"command": "python",
"args": ["-m", "eulerian_marketing_platform.server"],
"env": {
"EMP_API_ENDPOINT": "https://your-eulerian-instance.com/mcp",
"EMP_API_TOKEN": "your_authentication_token_here"
}
}
}
}Restart Claude Desktop
Verify the connection:
Look for a hammer/tools icon (🔨) in the bottom-right corner
Click it to see available Eulerian tools
Ask Claude: "What Eulerian Marketing Platform tools do you have access to?"
Platform-Specific Notes
Windows:
Use the Run dialog (
Win + R) and enter%APPDATA%\Claudeto quickly navigate to the config directoryIf using a local installation, ensure Python is in your PATH
Linux:
The config directory may not exist initially - create it with:
mkdir -p ~/.config/Claude
macOS:
Access the config via Finder:
Cmd + Shift + G→~/Library/Application Support/Claude/
2. Gemini CLI
Gemini CLI supports MCP servers through its configuration file.
Prerequisites
Install Gemini CLI if you haven't already:
npm install -g @google/gemini-cliConfiguration File Location
~/.gemini/settings.json
Setup Steps
Create or edit the settings file:
# Create the directory if it doesn't exist
mkdir -p ~/.gemini
# Edit the settings file
nano ~/.gemini/settings.jsonAdd the MCP server configuration:
{
"mcpServers": {
"eulerian-marketing-platform": {
"command": "python",
"args": ["-m", "eulerian_marketing_platform.server"],
"env": {
"EMP_API_ENDPOINT": "https://your-eulerian-instance.com/mcp",
"EMP_API_TOKEN": "your_authentication_token_here"
}
}
}
}Start Gemini CLI:
geminiVerify the connection:
Use the
/mcpcommand to see connected serversAsk Gemini: "What tools are available from the Eulerian Marketing Platform?"
Platform-Specific Notes
Windows:
Settings file location:
%USERPROFILE%\.gemini\settings.jsonCreate directory:
mkdir %USERPROFILE%\.gemini
Linux/macOS:
Standard location:
~/.gemini/settings.json
3. Codex CLI
Codex CLI supports MCP servers configured in ~/.codex/config.toml. The configuration is shared between the CLI and the Codex IDE extension (VS Code).
Prerequisites
Node.js 18+ and npm
Codex CLI installed:
npm install -g @openai/codexPython 3.10+ with this package installed (
pip install eulerian-marketing-platform)A ChatGPT Plus, Pro, Team, Edu, or Enterprise subscription (or an OpenAI API key)
Option A: Using the codex mcp add command (easiest)
Run the following command to register the Eulerian MCP server:
codex mcp add eulerian-marketing-platform \
--env EMP_API_ENDPOINT=https://your-eulerian-instance.com/mcp \
--env EMP_API_TOKEN=your_authentication_token_here \
-- python -m eulerian_marketing_platform.serverThat's it — Codex will update ~/.codex/config.toml for you.
Option B: Edit config.toml manually
Open (or create) ~/.codex/config.toml and add the following:
[mcp_servers.eulerian-marketing-platform]
command = "python"
args = ["-m", "eulerian_marketing_platform.server"]
tool_timeout_sec = 300
[mcp_servers.eulerian-marketing-platform.env]
EMP_API_ENDPOINT = "https://your-eulerian-instance.com/mcp"
EMP_API_TOKEN = "your_authentication_token_here"Note: The section name must use
mcp_servers(with an underscore). Usingmcp-serversor any other variant will silently fail.
Option C: Project-scoped configuration
To limit the MCP server to a specific project, create a .codex/config.toml file at the root of that project with the same content as above. The project must be marked as trusted by Codex.
Verify the connection
Launch Codex in your terminal:
codexType
/mcpin the interactive TUI to see all connected MCP servers.Confirm that
eulerian-marketing-platformappears in the list with its available tools.Try asking:
What Eulerian Marketing Platform tools do you have access to?
Managing the server
# List all configured MCP servers
codex mcp
# Remove the server
codex mcp remove eulerian-marketing-platformTroubleshooting (Codex CLI)
Server not appearing in
/mcp: Verify that the[mcp_servers.eulerian-marketing-platform]section is present in~/.codex/config.tomland that the TOML syntax is valid.Timeout errors: Increase
tool_timeout_secin config.toml (default is 60 seconds). Eulerian queries can take longer, so300is recommended.Authentication errors: Double-check that
EMP_API_ENDPOINTandEMP_API_TOKENare correct.Python not found: Ensure the
pythoncommand resolves to Python 3.10+. You may need to usepython3instead:command = "python3"Package not found: Make sure
eulerian-marketing-platformis installed in the Python environment that Codex will invoke. Runpython -m eulerian_marketing_platform.servermanually to confirm it works.Check logs: Monitor the proxy logs for detailed error information:
tail -f /tmp/eulerian-mcp-proxy.log
4. Claude Code
Claude Code is Anthropic's terminal-based coding agent. It supports MCP servers configured via the claude mcp CLI command or by editing ~/.claude.json.
Prerequisites
Node.js 18+ and npm
Claude Code installed:
npm install -g @anthropic-ai/claude-codePython 3.10+ with this package installed (
pip install eulerian-marketing-platform)An Anthropic API key or Claude subscription
Option A: Using the claude mcp add command (easiest)
claude mcp add eulerian-marketing-platform \
-e EMP_API_ENDPOINT=https://your-eulerian-instance.com/mcp \
-e EMP_API_TOKEN=your_authentication_token_here \
-- python -m eulerian_marketing_platform.serverBy default this adds the server with local scope (current project only). To make it available in all projects, add the -s user flag:
claude mcp add -s user eulerian-marketing-platform \
-e EMP_API_ENDPOINT=https://your-eulerian-instance.com/mcp \
-e EMP_API_TOKEN=your_authentication_token_here \
-- python -m eulerian_marketing_platform.serverOption B: Edit ~/.claude.json manually
Open ~/.claude.json and add the server under the mcpServers key:
{
"mcpServers": {
"eulerian-marketing-platform": {
"type": "stdio",
"command": "python",
"args": ["-m", "eulerian_marketing_platform.server"],
"env": {
"EMP_API_ENDPOINT": "https://your-eulerian-instance.com/mcp",
"EMP_API_TOKEN": "your_authentication_token_here"
}
}
}
}Verify the connection
Launch Claude Code:
claudeType
/mcpto see the status of all connected MCP servers.Confirm that
eulerian-marketing-platformappears and shows as connected.Try asking:
What Eulerian Marketing Platform tools do you have access to?
Managing the server
# List all configured MCP servers
claude mcp list
# Get details for a specific server
claude mcp get eulerian-marketing-platform
# Remove the server
claude mcp remove eulerian-marketing-platformTroubleshooting (Claude Code)
Server not appearing in
/mcp: Runclaude mcp listto confirm it is registered. Check~/.claude.jsonfor JSON syntax errors.Python not found: Ensure the
pythoncommand resolves to Python 3.10+. You may need to usepython3instead.Package not found: Make sure
eulerian-marketing-platformis installed in the Python environment that Claude Code will invoke.Debug mode: Launch Claude Code with verbose MCP logging:
claude --mcp-debugCheck logs: Monitor the proxy logs for detailed error information:
tail -f /tmp/eulerian-mcp-proxy.log
5. Cursor
Cursor is an AI-powered code editor with built-in MCP support.
Prerequisites
Cursor installed (download from cursor.com)
Python 3.10+ with this package installed (
pip install eulerian-marketing-platform)
Configuration File Location
Global:
~/.cursor/mcp.jsonProject-scoped:
.cursor/mcp.jsonin your project root
Setup Steps
Open (or create) the configuration file:
# Global configuration
mkdir -p ~/.cursor
nano ~/.cursor/mcp.jsonAdd the MCP server configuration:
{
"mcpServers": {
"eulerian-marketing-platform": {
"command": "python",
"args": ["-m", "eulerian_marketing_platform.server"],
"env": {
"EMP_API_ENDPOINT": "https://your-eulerian-instance.com/mcp",
"EMP_API_TOKEN": "your_authentication_token_here"
}
}
}
}Restart Cursor to load the new configuration.
Verify the connection:
Open Cursor Settings → Tools & Integrations → MCP Servers
Confirm that
eulerian-marketing-platformappears and shows a green statusSwitch to Agent mode in the Copilot pane
Ask: "What Eulerian Marketing Platform tools do you have access to?"
Platform-Specific Notes
Windows:
Global config file:
%USERPROFILE%\.cursor\mcp.jsonIf
pythonis not in your PATH, use the full path to the Python executable in thecommandfield.
macOS/Linux:
Standard location:
~/.cursor/mcp.json
Troubleshooting (Cursor)
Server not appearing: Verify that
~/.cursor/mcp.jsoncontains valid JSON. Restart Cursor after any config change.Tools not available: Make sure you are in Agent mode (not Ask mode) in the Cursor chat panel.
Python not found: Ensure the
pythoncommand resolves to Python 3.10+. You may need to usepython3or a full path.Check logs: Monitor the proxy logs:
tail -f /tmp/eulerian-mcp-proxy.log
6. VS Code / GitHub Copilot
Visual Studio Code supports MCP servers through GitHub Copilot's Agent mode. MCP requires VS Code 1.101 or later.
Prerequisites
VS Code 1.101+ with the GitHub Copilot extension
Python 3.10+ with this package installed (
pip install eulerian-marketing-platform)A GitHub Copilot subscription
Configuration File Locations
Workspace:
.vscode/mcp.jsonin your project root (recommended)User/Global: accessible via the command
MCP: Open User Configuration
Note: VS Code uses a
"servers"key (not"mcpServers") insidemcp.json.
Setup Steps
Create the workspace configuration file:
mkdir -p .vscode
nano .vscode/mcp.jsonAdd the MCP server configuration:
{
"servers": {
"eulerian-marketing-platform": {
"type": "stdio",
"command": "python",
"args": ["-m", "eulerian_marketing_platform.server"],
"env": {
"EMP_API_ENDPOINT": "https://your-eulerian-instance.com/mcp",
"EMP_API_TOKEN": "your_authentication_token_here"
}
}
}
}Alternatively, to make the server available globally across all workspaces, add the configuration to your User Settings (JSON) (Ctrl+Shift+P → Preferences: Open User Settings (JSON)):
{
"mcp": {
"servers": {
"eulerian-marketing-platform": {
"type": "stdio",
"command": "python",
"args": ["-m", "eulerian_marketing_platform.server"],
"env": {
"EMP_API_ENDPOINT": "https://your-eulerian-instance.com/mcp",
"EMP_API_TOKEN": "your_authentication_token_here"
}
}
}
}
}Start the MCP server:
Open the
.vscode/mcp.jsonfile in the editorClick the Start button that appears above the server definition (code lens)
Or use the Command Palette:
MCP: List Servers→ select the server → Start
Verify the connection:
Switch to Agent mode in the GitHub Copilot Chat panel (toggle located near the chat input)
Click the Tools button (🔧) in the Copilot pane to see available Eulerian tools
Ask: "What Eulerian Marketing Platform tools do you have access to?"
Using input variables for secrets
To avoid hardcoding your token, you can use VS Code input variables:
{
"inputs": [
{
"type": "promptString",
"id": "empToken",
"description": "Eulerian Marketing Platform API Token",
"password": true
}
],
"servers": {
"eulerian-marketing-platform": {
"type": "stdio",
"command": "python",
"args": ["-m", "eulerian_marketing_platform.server"],
"env": {
"EMP_API_ENDPOINT": "https://your-eulerian-instance.com/mcp",
"EMP_API_TOKEN": "${input:empToken}"
}
}
}
}VS Code will prompt you for the token when the server starts.
Troubleshooting (VS Code)
MCP not available: Ensure you are running VS Code 1.101 or later and have the GitHub Copilot extension installed and enabled.
Tools not appearing: MCP tools only work in Agent mode. Toggle to Agent mode in the Copilot Chat panel.
Start button not showing: The code lens (Start button) only appears if the
.vscodefolder is at the root of your workspace.Python not found: Ensure the
pythoncommand resolves to Python 3.10+. You may need to usepython3or a full path.Check logs: Monitor the proxy logs:
tail -f /tmp/eulerian-mcp-proxy.log
Usage Examples
Once configured with any client, you can interact with your remote Eulerian Marketing Platform:
User: "What tools are available from Eulerian?"
→ Proxy calls list_remote_tools() and returns all available tools
User: "Call the update_goal tool"
→ Proxy forwards to remote server and update goal settings
User: "Show me campaign details for CAMP-12345"
→ Claude uses call_eulerian_tool() to fetch specific campaign
User: "What resources are available?"
→ Proxy lists all available data sourcesThe AI assistant will automatically use the appropriate proxy tools to fulfill your requests.
Viewing Logs
Monitor proxy activity in real-time:
# Default log location
tail -f /tmp/eulerian-mcp-proxy.log
# Custom log location
tail -f /var/log/eulerian-mcp-proxy.logYou'll see detailed logging of:
Requests to the remote server
HTTP responses and status codes
Tool calls and results
Errors and warnings
Troubleshooting
Common Issues
"EMP_API_ENDPOINT environment variable is required"
Solution: Ensure you've set the
EMP_API_ENDPOINTin your configurationCheck that there are no typos in the environment variable name
"EMP_API_TOKEN environment variable is required"
Solution: Ensure you've set the
EMP_API_TOKENin your configurationVerify your token is valid and hasn't expired
Server not appearing in Claude Desktop
Solution:
Restart Claude Desktop completely
Check the configuration file for JSON syntax errors
Verify the file path in your config is correct
Look at logs:
macOS:
~/Library/Logs/Claude/mcp-server-*.logWindows:
%APPDATA%\Claude\logs\
Tools not showing in Gemini CLI
Solution:
Use
/mcpcommand to check server statusVerify the settings.json is valid JSON
Restart Gemini CLI
Debug Mode
For detailed debugging:
# Run with MCP Inspector
npx @modelcontextprotocol/inspector uvx eulerian-marketing-platform
# Or with environment variables
EMP_API_ENDPOINT=your_endpoint EMP_API_TOKEN=your_token uvx eulerian-marketing-platformDevelopment
Running Tests
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=eulerian_marketing_platformBuilding from Source
# Clone the repository
git clone https://github.com/EulerianTechnologies/eulerian-marketing-platform-mcp.git
cd eulerian-marketing-platform-mcp
# Install in development mode
pip install -e .
# Build Python distribution (wheel + tarball)
pip install build
python -m build
# Build DXT extension for Claude Desktop
npx @anthropic-ai/dxt pack .
# → eulerian-marketing-platform-mcp.dxtContributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
Issues: https://github.com/EulerianTechnologies/eulerian-marketing-platform-mcp/issues
Documentation: https://github.com/EulerianTechnologies/eulerian-marketing-platform-mcp#readme
Eulerian Technologies: https://www.eulerian.com
MCP server for MCP Registry
mcp-name: io.github.matjmat/eulerian-marketing-platform-mcp
Changelog
0.2.9
Add
manifest.jsonfor Claude Desktop DXT extension supportDXT package: one-click install with credential prompts, no JSON config editing
0.2.8
fixes for proxy disconnection
remove unnecessary logging
0.2.3
fixes disconnection issue with notifications
0.2.0
Move to full Proxy mode
Remove instructions for uvx deployment
Remove instructions for Mistral integration (too complex)
0.1.0 (Initial Release)
Initial MCP server implementation
Support for Claude Desktop, Gemini CLI
Cross-platform support (Windows, Linux, macOS)
Environment-based configuration
Note: Replace all placeholder URLs and tokens with your actual Eulerian Marketing Platform credentials before use.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/EulerianTechnologies/eulerian-marketing-platform-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server