一个生产就绪的模型上下文协议(MCP)服务器,集成了 POE(Poe.com API)与 Warp.dev 终端,提供具有上下文感知工具、自动化工作流和实时流媒体功能的 AI 助手。
# 克隆仓库
git clone https://github.com/Anansitrading/enhanced-poe-mcp.git
cd enhanced-poe-mcp
# 使用脚本快速安装
chmod +x install.sh
./install.sh
# 或手动设置
python3 -m venv venv
source venv/bin/activate # 在 Linux/macOS 上
pip install -e .
创建一个 .env 文件并填写您的凭证:
# 必需
POE_API_KEY=your_poe_api_key_here
# 可选(有默认值)
OPENAI_API_KEY=your_openai_key # 用于 OpenAI SDK 兼容性
DEBUG_MODE=false
USE_CLAUDE_COMPATIBLE=true
MAX_FILE_SIZE_MB=10
SESSION_EXPIRY_MINUTES=60
RATE_LIMIT_RPM=500
MAX_RETRIES=3
STREAM_BUFFER_SIZE=64
METRICS_ENABLED=true
HEALTH_CHECK_INTERVAL=30
打开 Warp MCP 设置:
Ctrl+P(Linux/Windows)或 Cmd+P(macOS)并搜索“打开 MCP 服务器”添加 POE MCP 服务器: 点击 + 添加 按钮并粘贴以下配置:
{
"enhanced-poe-mcp": {
"command": "python3",
"args": ["/home/david/Projects/Kijko/MVP/MVP_Kijko/enhanced-poe-mcp/poe_server_phase2.py"],
"env": {
"POE_API_KEY": "your_poe_api_key_here",
"PYTHONUNBUFFERED": "1",
"DEBUG_MODE": "false",
"RATE_LIMIT_RPM": "500"
}
}
}
重要:用您的实际安装路径替换 /home/david/Projects/Kijko/MVP/MVP_Kijko/enhanced-poe-mcp。
保存并启动:
Warp 支持远程 MCP 服务器! 将您的 MCP 服务器远程托管以避免本地稳定性问题。
部署到 Railway.app(最佳免费选项):
# 准备部署
cd enhanced-poe-mcp
echo "web: python poe_server_phase2.py" > Procfile
git add .
git commit -m "添加 Railway 部署文件"
git push origin main
配置 Railway:
POE_API_KEYPORT=8000配置 Warp 使用远程 MCP:
{
"enhanced-poe-mcp": {
"url": "https://your-app.up.railway.app/mcp/stream"
}
}
替代托管选项:
POE 是一个拥有数百个 LLM 的市场。您必须指定要使用的模型:
# 使用 Claude 3.5 Sonnet
@poe --model claude-3-5-sonnet "解释量子计算"
# 使用 GPT-4o
@poe --model gpt-4o "编写一个 Python 函数"
# 使用 Gemini Pro
@poe --model google-gemini-pro "分析这些数据"
流行模型标识符:
| 模型 | 机器人标识符 |
|---|---|
| Claude 3.5 Sonnet | claude-3-5-sonnet |
| Claude 3 Opus | claude-3-opus-20240229 |
| GPT-4 Turbo | gpt-4-turbo |
| GPT-4o | gpt-4o |
| Gemini Pro | google-gemini-pro |
| Llama 3 (70B) | llama-3-70b |
| Mistral Large | mistral-large |
| Perplexity | perplexity-online |
| 自定义机器人 | 使用 poe.com/[bot-name] 中的句柄 |
# 使用特定模型提问简单问题
@poe --model claude-3-5-sonnet 如何快速创建 Python 虚拟环境?
# 预期输出:
# Claude 将回答:“使用 `python -m venv <目录>` 创建虚拟环境。
# 在 Linux/macOS 上激活它,使用 `source <目录>/bin/activate`...”
# 让 Claude 3.5 审查这个 Dockerfile 的安全性问题 [attach:./Dockerfile]
# 预期输出:
# Claude 分析文件并提供安全建议:
# “发现潜在问题:1) 以 root 用户运行,2) 未定义健康检查...”
# 获取最近错误的帮助(POE 可见您的终端输出)
@poe --model gpt-4o 为什么我的 git 推送失败了?
# 预期输出:
# GPT-4o 分析最近的终端输出并回应:
# “推送失败是因为远程分支有您本地分支没有的更改。
# 首先运行 `git pull --rebase`...”
# 让 POE 使用 Gemini 执行安全命令
@poe --model google-gemini-pro 查找今天修改的所有 Python 文件并显示它们的大小
# 预期输出:
# Gemini 生成并执行:find . -name "*.py" -mtime 0 -ls
# 直接在终端中显示结果
# 对于复杂任务,使用 Claude Opus 获取流式输出
@poe --model claude-3-opus-20240229 --stream 生成一个完整的 FastAPI 应用程序,带身份验证
# 预期输出:
# Claude Opus 实时流式生成代码,展示每一部分的创建过程
# 清除对话上下文
@poe 清除会话
# 预期输出:
# “会话已清除。开始新的对话。”
# 查看所有可用的 AI 模型
@poe 列出模型
# 预期输出:
# 可用模型:
# - claude-3-opus: 高级推理和分析
# - gpt-4o: 最新的 GPT-4 变体
# - gemini-pro: Google 的高级模型
# - perplexity: 网络感知回复
# 检查服务器健康状况
@poe 健康检查
# 预期输出:
# 服务器状态:健康 ✓
# 运行时间:2小时 34分钟
# 活跃会话:3
# 请求速率:45 RPM
该项目包括针对不同使用场景的多种服务器实现:
| 服务器文件 | 描述 | 使用场景 |
|---|---|---|
poe_server.py | 基础 MCP 服务器 | 简单的 POE 代理 |
enhanced_poe_server.py | 增强版,带有 Warp 动作 | 终端自动化 |
poe_server_v2.py | SDK 兼容 | OpenAI SDK 替代 |
poe_server_phase2.py | 生产服务器 | 全部功能 + 监控 |
# 基础服务器
python poe_server.py
# 增强服务器,带有 Warp 集成
python enhanced_poe_server.py
# 生产服务器(推荐)
python poe_server_phase2.py
# 为 Web 客户端运行 SSE 模式
python run_sse_server.py [端口]
| 变量 | 描述 | 默认值 | 是否必需 |
|---|---|---|---|
POE_API_KEY | 您的 POE API 密钥 | - | ✅ |
OPENAI_API_KEY | OpenAI API 密钥(用于 SDK 模式) | - | ❌ |
DEBUG_MODE | 启用详细日志 | false | ❌ |
USE_CLAUDE_COMPATIBLE | Claude 思维协议 | true | ❌ |
MAX_FILE_SIZE_MB | 最大文件上传大小 | 10 | ❌ |
SESSION_EXPIRY_MINUTES | 会话生命周期 | 60 | ❌ |
RATE_LIMIT_RPM | 每分钟请求限制 | 500 | ❌ |
MAX_RETRIES | 失败重试次数 | 3 | ❌ |
STREAM_BUFFER_SIZE | SSE 缓冲区大小(KB) | 64 | ❌ |
METRICS_ENABLED | 启用指标收集 | true | ❌ |
HEALTH_CHECK_INTERVAL | 健康检查间隔(秒) | 30 | ❌ |
# 程序化检查服务器健康状况
import requests
health = requests.get("http://localhost:8000/health")
print(health.json())
# 输出:{"status": "healthy", "uptime": 3600, "active_sessions": 5}
# 获取性能指标
metrics = requests.get("http://localhost:8000/metrics")
print(metrics.json())
# 输出:{"total_requests": 1234, "error_rate": 0.02, "avg_latency_ms": 250}
问题:服务器无法启动或在 Warp MCP 面板中显示为“错误”
解决方案:
which python3 并更新配置chmod +x poe_server_phase2.pycd /path/to/server && python3 poe_server_phase2.py问题:“无效 API 密钥”或“认证失败”
解决方案:
.env 文件中的 POE_API_KEY问题:“超出速率限制”错误
解决方案:
RATE_LIMIT_RPM问题:POE 无法看到终端输出或上下文
解决方案:
poe_server_phase2.py(而不是基础服务器)问题:权限被拒绝或模块未找到
解决方案:
# 修复权限
chmod -R 755 /path/to/enhanced-poe-mcp
chown -R $USER:$USER /path/to/enhanced-poe-mcp
# 安装缺失的 Python 包
pip install -r requirements.txt
# 使用虚拟环境
source venv/bin/activate
准备您的项目:
cd enhanced-poe-mcp
# 为 Railway 创建 Procfile
echo 'web: python poe_server_phase2.py' > Procfile
# 确保 requirements.txt 完整
pip freeze > requirements.txt
# 创建 runtime.txt 以指定 Python 版本
echo "python-3.11.x" > runtime.txt
# 提交更改
git add .
git commit -m "添加 Railway 部署文件"
git push origin main
设置 Railway:
enhanced-poe-mcp 仓库配置环境变量: 在 Railway 控制面板中,转到 变量 标签并添加:
POE_API_KEY=your_poe_api_key_here
PORT=8000
DEBUG_MODE=false
RATE_LIMIT_RPM=500
PYTHONUNBUFFERED=1
获取您的服务器 URL:
https://your-app.up.railway.app)使用远程 URL 配置 Warp:
{
"enhanced-poe-mcp": {
"url": "https://your-app.up.railway.app/mcp/stream"
}
}
测试连接:
# 测试您的远程服务器
curl https://your-app.up.railway.app/health
# 应返回:
# {"status": "healthy", "version": "2.0.0"}
/metrics 端点/health 端点┌─────────────────┐ ┌──────────────────────────┐
│ Warp 终端 │ ◄──────►│ POE MCP 服务器 │
│ │ MCP