Back to MCP directory
publicPublicdnsLocal runtime

eulerian-marketing-platform-mcp

这是一个Eulerian营销平台的MCP代理服务器,作为AI助手与远程Eulerian服务器之间的桥梁,处理认证和请求转发,为本地AI客户端提供远程工具和资源访问。

article

README

🚀 欧拉营销平台MCP服务器

欧拉营销平台MCP服务器是一个模型上下文协议(MCP)代理服务器,它能够将AI助手(如Claude Desktop、Gemini CLI等)连接到远程的欧拉营销平台MCP服务器。该代理负责处理身份验证、请求转发,并为远程欧拉实例提供本地MCP接口。

🚀 快速开始

本服务器作为本地MCP客户端与远程欧拉营销平台服务器之间的透明代理,其工作原理如下:

┌─────────────┐        ┌──────────────────┐        ┌────────────────┐
│   Claude    │ ◄─────►│  本MCP代理  │◄─────► │ 远程欧拉服务器 │
│   Desktop   │  stdio │  (本地)  │  HTTP  │  MCP服务器  │
└─────────────┘        └──────────────────┘        └────────────────┘

该代理具备以下功能:

  • 🔐 处理与远程欧拉服务器的身份验证
  • 📡 通过HTTP和Bearer令牌转发MCP请求
  • 🛠️ 向AI助手公开远程工具和资源
  • 📝 提供全面的日志记录,方便调试
  • ⚡ 使用异步HTTP,提升性能

✨ 主要特性

  • 🔌 代理架构:通过HTTP将本地MCP客户端连接到远程欧拉MCP服务器
  • 🔐 安全认证:使用Bearer令牌认证访问远程服务器
  • 🌐 跨平台支持:支持Windows、Linux和macOS系统
  • 🤖 多AI客户端支持:与Claude Desktop、Gemini CLI等兼容
  • 📝 全面日志记录:记录所有请求和响应,便于调试
  • ⚡ 异步HTTP:使用httpx进行非阻塞请求,提升性能
  • 🛠️ 工具发现:自动发现并公开远程工具
  • ⏱️ 可配置超时:可调整请求超时时间

📦 安装指南

快速开始(推荐)

使用pip安装本MCP服务器是最简单的方式。

通过pip安装

若想全局安装该包,可执行以下命令:

pip install eulerian-marketing-platform

从源码安装

git clone https://github.com/EulerianTechnologies/eulerian-marketing-platform-mcp.git
cd eulerian-marketing-platform-mcp
pip install -e .

💻 使用示例

基础用法

配置好任意客户端后,你可以与远程欧拉营销平台进行交互:

用户:“欧拉有哪些可用工具?”
→ 代理调用list_remote_tools()并返回所有可用工具

用户:“调用update_goal工具”
→ 代理将请求转发到远程服务器并更新目标设置

用户:“显示CAMP - 12345活动的详细信息”
→ Claude使用call_eulerian_tool()获取特定活动信息

用户:“有哪些可用资源?”
→ 代理列出所有可用数据源

AI助手将自动使用合适的代理工具来满足你的请求。

查看日志

实时监控代理活动:

# 默认日志位置
tail -f /tmp/eulerian-mcp-proxy.log

# 自定义日志位置
tail -f /var/log/eulerian-mcp-proxy.log

你将看到详细的日志记录,包括:

  • 对远程服务器的请求
  • HTTP响应和状态码
  • 工具调用和结果
  • 错误和警告

📚 详细文档

配置

必需环境变量

  • EMP_API_ENDPOINT:远程欧拉营销平台MCP服务器的URL(HTTP端点)
    • 示例:https://dem.api.eulerian.com/mcp
  • EMP_API_TOKEN:远程服务器的认证令牌,与你的欧拉账户关联。

可选环境变量

  • EMP_LOG_FILE:日志文件位置(默认:/tmp/eulerian-mcp-proxy.log
  • EMP_TIMEOUT:请求超时时间(秒)(默认:300

示例.env文件

在项目中创建一个.env.example文件:

# 必需
EMP_API_ENDPOINT=https://your-eulerian-instance.com/mcp
EMP_API_TOKEN=your_authentication_token_here

# 可选
EMP_LOG_FILE=/var/log/eulerian-mcp-proxy.log
EMP_TIMEOUT=600

各客户端设置说明

1. Claude Desktop

Claude Desktop通过stdio传输支持本地MCP服务器。

配置文件位置
  • Windows%APPDATA%\Claude\claude_desktop_config.json
  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux~/.config/Claude/claude_desktop_config.json
设置步骤
  1. 打开Claude Desktop
  2. 访问配置
    • 点击Claude菜单 → 设置开发者编辑配置
    • 或手动编辑上述位置的JSON文件
  3. 添加服务器配置
{
  "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"
      }
    }
  }
}
  1. 重启Claude Desktop
  2. 验证连接
    • 查看右下角的锤子/工具图标(🔨)
    • 点击该图标查看可用的欧拉工具
    • 向Claude询问:“你可以访问哪些欧拉营销平台工具?”
特定平台注意事项

Windows

  • 使用运行对话框(Win + R)并输入%APPDATA%\Claude,可快速导航到配置目录
  • 若使用本地安装,确保Python已添加到系统路径

Linux

  • 配置目录可能最初不存在,可使用以下命令创建:mkdir -p ~/.config/Claude

macOS

  • 通过Finder访问配置文件:Cmd + Shift + G~/Library/Application Support/Claude/

2. Gemini CLI

Gemini CLI通过其配置文件支持MCP服务器。

前提条件

若尚未安装Gemini CLI,请执行以下命令:

npm install -g @google/gemini-cli
配置文件位置

~/.gemini/settings.json

设置步骤
  1. 创建或编辑设置文件
# 若目录不存在则创建
mkdir -p ~/.gemini

# 编辑设置文件
nano ~/.gemini/settings.json
  1. 添加MCP服务器配置
{
  "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"
      }
    }
  }
}
  1. 启动Gemini CLI
gemini
  1. 验证连接
    • 使用/mcp命令查看已连接的服务器
    • 向Gemini询问:“欧拉营销平台有哪些可用工具?”
特定平台注意事项

Windows

  • 设置文件位置:%USERPROFILE%\.gemini\settings.json
  • 创建目录:mkdir %USERPROFILE%\.gemini

Linux/macOS

  • 标准位置:~/.gemini/settings.json

3. Codex CLI

Codex CLI支持在~/.codex/config.toml中配置MCP服务器。该配置在CLI和Codex IDE扩展(VS Code)之间共享。

前提条件
  • Node.js 18+和npm
  • 已安装Codex CLI:npm install -g @openai/codex
  • 安装了Python 3.10+并安装了本包(pip install eulerian-marketing-platform
  • 拥有ChatGPT Plus、Pro、Team、Edu或Enterprise订阅(或OpenAI API密钥)
选项A:使用codex mcp add命令(最简单)

运行以下命令注册欧拉MCP服务器:

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.server

Codex将自动更新~/.codex/config.toml

选项B:手动编辑config.toml

打开(或创建)~/.codex/config.toml并添加以下内容:

[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"

注意:部分名称必须使用mcp_servers(带下划线)。使用mcp - servers或其他变体将导致静默失败。

选项C:项目范围配置

若要将MCP服务器限制在特定项目中,可在该项目的根目录创建一个.codex/config.toml文件,内容与上述相同。该项目必须被Codex标记为受信任。

验证连接
  1. 在终端中启动Codex:
codex
  1. 在交互式TUI中输入/mcp查看所有已连接的MCP服务器。
  2. 确认eulerian - marketing - platform出现在列表中,并显示其可用工具。
  3. 尝试询问:
你可以访问哪些欧拉营销平台工具?
管理服务器
# 列出所有已配置的MCP服务器
codex mcp

# 删除服务器
codex mcp remove eulerian-marketing-platform
故障排除(Codex CLI)
  • 服务器未在/mcp中显示:验证~/.codex/config.toml中是否存在[mcp_servers.eulerian-marketing-platform]部分,且TOML语法是否有效。
  • 超时错误:增加config.toml中的tool_timeout_sec(默认值为60秒)。欧拉查询可能需要更长时间,建议设置为300
  • 认证错误:仔细检查EMP_API_ENDPOINTEMP_API_TOKEN是否正确。
  • 未找到Python:确保python命令指向Python 3.10+。你可能需要使用python3代替:
command = "python3"
  • 未找到包:确保eulerian - marketing - platform已安装在Codex将调用的Python环境中。手动运行python -m eulerian_marketing_platform.server以确认其正常工作。
  • 查看日志:监控代理日志以获取详细的错误信息:
tail -f /tmp/eulerian-mcp-proxy.log

4. Claude Code

Claude Code是Anthropic的基于终端的编码代理。它支持通过claude mcp CLI命令或编辑~/.claude.json来配置MCP服务器。

前提条件
  • Node.js 18+和npm
  • 已安装Claude Code:npm install -g @anthropic-ai/claude-code
  • 安装了Python 3.10+并安装了本包(pip install eulerian-marketing-platform
  • 拥有Anthropic API密钥或Claude订阅
选项A:使用claude mcp add命令(最简单)
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.server

默认情况下,这将以本地范围(仅当前项目)添加服务器。若要使其在所有项目中可用,可添加-s user标志:

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.server
选项B:手动编辑~/.claude.json

打开~/.claude.json并在mcpServers键下添加服务器:

{
  "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"
      }
    }
  }
}
验证连接
  1. 启动Claude Code:
claude
  1. 输入/mcp查看所有已连接的MCP服务器的状态。
  2. 确认eulerian - marketing - platform出现并显示为已连接
  3. 尝试询问:
你可以访问哪些欧拉营销平台工具?
管理服务器
# 列出所有已配置的MCP服务器
claude mcp list

# 获取特定服务器的详细信息
claude mcp get eulerian-marketing-platform

# 删除服务器
claude mcp remove eulerian-marketing-platform
故障排除(Claude Code)
  • 服务器未在/mcp中显示:运行claude mcp list确认服务器已注册。检查~/.claude.json是否存在JSON语法错误。
  • 未找到Python:确保python命令指向Python 3.10+。你可能需要使用python3代替。
  • 未找到包:确保eulerian - marketing - platform已安装在Claude Code将调用的Python环境中。
  • 调试模式:使用详细的MCP日志启动Claude Code:
claude --mcp-debug
  • 查看日志:监控代理日志以获取详细的错误信息:
tail -f /tmp/eulerian-mcp-proxy.log

5. Cursor

Cursor是一款支持内置MCP的AI代码编辑器。

前提条件
  • 已安装Cursor(从cursor.com下载)
  • 安装了Python 3.10+并安装了本包(pip install eulerian-marketing-platform
配置文件位置
  • 全局~/.cursor/mcp.json
  • 项目范围:项目根目录下的.cursor/mcp.json
设置步骤
  1. 打开(或创建)配置文件
# 全局配置
mkdir -p ~/.cursor
nano ~/.cursor/mcp.json
  1. 添加MCP服务器配置
{
  "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"
      }
    }
  }
}
  1. 重启Cursor以加载新配置。
  2. 验证连接
    • 打开Cursor设置 → 工具与集成MCP服务器
    • 确认eulerian - marketing - platform出现并显示绿色状态
    • 在Copilot面板中切换到代理模式
    • 询问:“你可以访问哪些欧拉营销平台工具?”
特定平台注意事项

Windows

  • 全局配置文件:%USERPROFILE%\.cursor\mcp.json
  • python未添加到系统路径,可在command字段中使用Python可执行文件的完整路径。

macOS/Linux

  • 标准位置:~/.cursor/mcp.json
故障排除(Cursor)
  • 服务器未显示:验证~/.cursor/mcp.json是否包含有效的JSON。配置更改后重启Cursor。
  • 工具不可用:确保在Cursor聊天面板中处于代理模式(而非询问模式)。
  • 未找到Python:确保python命令指向Python 3.10+。你可能需要使用python3或完整路径。
  • 查看日志:监控代理日志:
tail -f /tmp/eulerian-mcp-proxy.log

6. VS Code / GitHub Copilot

Visual Studio Code通过GitHub Copilot的代理模式支持MCP服务器。MCP要求VS Code版本为1.101或更高。

前提条件
  • 安装了VS Code 1.101+并安装了GitHub Copilot扩展
  • 安装了Python 3.10+并安装了本包(pip install eulerian-marketing-platform
  • 拥有GitHub Copilot订阅
配置文件位置
  • 工作区:项目根目录下的.vscode/mcp.json(推荐)
  • 用户/全局:可通过命令MCP: Open User Configuration访问

注意:VS Code在mcp.json中使用"servers"键(而非"mcpServers")。

设置步骤
  1. 创建工作区配置文件
mkdir -p .vscode
nano .vscode/mcp.json
  1. 添加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"
      }
    }
  }
}

或者,若要使服务器在所有工作区中全局可用,可将配置添加到用户设置(JSON)Ctrl + Shift + PPreferences: 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"
        }
      }
    }
  }
}
  1. 启动MCP服务器
    • 在编辑器中打开.vscode/mcp.json文件
    • 点击服务器定义上方出现的启动按钮(代码透镜)
    • 或使用命令面板:MCP: List Servers → 选择服务器 → 启动
  2. 验证连接
    • 在GitHub Copilot聊天面板中切换到代理模式(聊天输入框附近的切换按钮)
    • 点击Copilot面板中的工具按钮(🔧)查看可用的欧拉工具
    • 询问:“你可以访问哪些欧拉营销平台工具?”
使用输入变量处理机密信息

为避免硬编码令牌,可使用VS Code输入变量:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "empToken",
      "description": "欧拉营销平台API令牌",
      "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将提示你输入令牌。

故障排除(VS Code)
  • MCP不可用:确保你使用的VS Code版本为1.101或更高,并且已安装并启用GitHub Copilot扩展。
  • 工具未显示:MCP工具仅在代理模式下可用。在Copilot聊天面板中切换到代理模式。
  • 启动按钮未显示:代码透镜(启动按钮)仅在.vscode文件夹位于工作区根目录时出现。
  • 未找到Python:确保python命令指向Python 3.10+。你可能需要使用python3或完整路径。
  • 查看日志:监控代理日志:
tail -f /tmp/eulerian-mcp-proxy.log

可用工具

所有由欧拉API支持的API端点都可以通过当前MCP进行查询。

🔧 技术细节

故障排除

常见问题

  • “EMP_API_ENDPOINT环境变量是必需的”
    • 解决方案:确保在配置中设置了EMP_API_ENDPOINT
    • 检查环境变量名称是否有拼写错误
  • “EMP_API_TOKEN环境变量是必需的”
    • 解决方案:确保在配置中设置了EMP_API_TOKEN
    • 验证令牌是否有效且未过期
  • Claude Desktop中未显示服务器
    • 解决方案
      • 完全重启Claude Desktop
      • 检查配置文件是否存在JSON语法错误
      • 验证配置文件路径是否正确
      • 查看日志:
        • macOS:~/Library/Logs/Claude/mcp-server-*.log
        • Windows:%APPDATA%\Claude\logs\
  • Gemini CLI中工具未显示
    • 解决方案
      • 使用/mcp命令检查服务器状态
      • 验证settings.json是否为有效的JSON
      • 重启Gemini CLI

调试模式

若需要详细调试,可执行以下命令:

# 使用MCP Inspector运行
npx @modelcontextprotocol/inspector uvx eulerian-marketing-platform

# 或使用环境变量
EMP_API_ENDPOINT=your_endpoint EMP_API_TOKEN=your_token uvx eulerian-marketing-platform

开发

运行测试

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
pytest

# 运行并生成覆盖率报告
pytest --cov=eulerian_marketing_platform

从源码构建

# 克隆仓库
git clone https://github.com/EulerianTechnologies/eulerian-marketing-platform-mcp.git
cd eulerian-marketing-platform-mcp

# 以开发模式安装
pip install -e .

# 构建发行版
pip install build
python -m build

# 生成以下文件:
# dist/eulerian_marketing_platform-0.1.0.tar.gz
# dist/eulerian_marketing_platform-0.1.0-py3-none-any.whl

📄 许可证

本项目采用MIT许可证,请参阅LICENSE文件以获取详细信息。

支持

  • 问题反馈:https://github.com/EulerianTechnologies/eulerian-marketing-platform-mcp/issues
  • 文档:https://github.com/EulerianTechnologies/eulerian-marketing-platform-mcp#readme
  • 欧拉技术公司:https://www.eulerian.com

MCP服务器的MCP注册表信息

mcp名称:io.github.matjmat/eulerian-marketing-platform-mcp

变更日志

0.2.8

  • 修复代理断开连接问题
  • 移除不必要的日志记录

0.2.3

  • 修复通知断开连接问题

0.2.0

  • 切换到全代理模式
  • 移除uvx部署说明
  • 移除Mistral集成说明(过于复杂)

0.1.0(初始版本)

  • 初始MCP服务器实现
  • 支持Claude Desktop、Gemini CLI
  • 跨平台支持(Windows、Linux、macOS)
  • 基于环境的配置

⚠️ 重要提示

使用前,请将所有占位符URL和令牌替换为你实际的欧拉营销平台凭证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client