🚀 欧拉营销平台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
设置步骤
- 打开Claude Desktop
- 访问配置:
- 点击
Claude菜单 → 设置 → 开发者 → 编辑配置
- 或手动编辑上述位置的JSON文件
- 添加服务器配置:
{
"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"
}
}
}
}
- 重启Claude Desktop
- 验证连接:
- 查看右下角的锤子/工具图标(🔨)
- 点击该图标查看可用的欧拉工具
- 向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
设置步骤
- 创建或编辑设置文件:
mkdir -p ~/.gemini
nano ~/.gemini/settings.json
- 添加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"
}
}
}
}
- 启动Gemini CLI:
gemini
- 验证连接:
- 使用
/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标记为受信任。
验证连接
- 在终端中启动Codex:
codex
- 在交互式TUI中输入
/mcp查看所有已连接的MCP服务器。
- 确认
eulerian - marketing - platform出现在列表中,并显示其可用工具。
- 尝试询问:
你可以访问哪些欧拉营销平台工具?
管理服务器
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_ENDPOINT和EMP_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"
}
}
}
}
验证连接
- 启动Claude Code:
claude
- 输入
/mcp查看所有已连接的MCP服务器的状态。
- 确认
eulerian - marketing - platform出现并显示为已连接。
- 尝试询问:
你可以访问哪些欧拉营销平台工具?
管理服务器
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
设置步骤
- 打开(或创建)配置文件:
mkdir -p ~/.cursor
nano ~/.cursor/mcp.json
- 添加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"
}
}
}
}
- 重启Cursor以加载新配置。
- 验证连接:
- 打开Cursor设置 → 工具与集成 → MCP服务器
- 确认
eulerian - marketing - platform出现并显示绿色状态
- 在Copilot面板中切换到代理模式
- 询问:“你可以访问哪些欧拉营销平台工具?”
特定平台注意事项
Windows:
- 全局配置文件:
%USERPROFILE%\.cursor\mcp.json
- 若
python未添加到系统路径,可在command字段中使用Python可执行文件的完整路径。
macOS/Linux:
故障排除(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")。
设置步骤
- 创建工作区配置文件:
mkdir -p .vscode
nano .vscode/mcp.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"
}
}
}
}
或者,若要使服务器在所有工作区中全局可用,可将配置添加到用户设置(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"
}
}
}
}
}
- 启动MCP服务器:
- 在编辑器中打开
.vscode/mcp.json文件
- 点击服务器定义上方出现的启动按钮(代码透镜)
- 或使用命令面板:
MCP: List Servers → 选择服务器 → 启动
- 验证连接:
- 在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
调试模式
若需要详细调试,可执行以下命令:
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
📄 许可证
本项目采用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和令牌替换为你实际的欧拉营销平台凭证。