返回市场
代理服务器MCP

代理服务器MCP

作者:Anansitrading8 星标更新:2025-09-26

项目介绍

MseeP.ai 安全评估徽章

增强型 POE MCP 服务器用于 Warp.dev

一个生产就绪的模型上下文协议(MCP)服务器,集成了 POE(Poe.com API)与 Warp.dev 终端,提供具有上下文感知工具、自动化工作流和实时流媒体功能的 AI 助手。

🚀 特性

核心能力

  • 多模型支持:访问 GPT-4o、Claude 3 Opus/Sonnet、Gemini Pro、Perplexity 和 O3 模型
  • Warp 终端集成:深度集成 Warp 的上下文提取和动作执行
  • OpenAI SDK 兼容性:作为 OpenAI API 的替代方案,后端使用 POE
  • 生产就绪:速率限制、健康检查、指标和优雅关闭

高级特性

  • 上下文感知查询:自动提取终端输出、选择内容、当前工作目录、git 状态
  • 实时流媒体:服务器发送事件(SSE)带有增量内容流
  • 命令执行:安全地执行终端命令并进行验证
  • 文件操作:直接从模型响应创建和修改文件
  • 会话管理:在多个查询之间维护对话上下文
  • 速率限制:每分钟 500 次请求限制,请求队列
  • 健康监控:内置健康检查和 Prometheus 风格的指标

📋 先决条件

  • 操作系统:Linux(已在 Ubuntu、Zorin OS 上测试过),macOS 或 Windows 上的 WSL2
  • Python:版本 3.8 或更高
  • Warp 终端从 warp.dev 下载
  • POE API 密钥:从 poe.com/api_key 获取

🔧 安装

第一步:克隆和设置

# 克隆仓库
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 终端中配置

方案 A:本地安装(可能导致稳定性问题)

  1. 打开 Warp MCP 设置

    • 导航到:设置 → AI → 管理 MCP 服务器
    • 或按 Ctrl+P(Linux/Windows)或 Cmd+P(macOS)并搜索“打开 MCP 服务器”
  2. 添加 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

  3. 保存并启动

    • 点击 保存 添加配置
    • 点击您服务器条目旁边的 启动
    • 服务器状态应显示为“运行中”

方案 B:远程托管(推荐稳定)

Warp 支持远程 MCP 服务器! 将您的 MCP 服务器远程托管以避免本地稳定性问题。

  1. 部署到 Railway.app(最佳免费选项):

    # 准备部署
    cd enhanced-poe-mcp
    echo "web: python poe_server_phase2.py" > Procfile
    git add .
    git commit -m "添加 Railway 部署文件"
    git push origin main
    
  2. 配置 Railway

    • railway.app 注册(免费,通过 GitHub)
    • 创建新项目 → 从 GitHub 仓库部署
    • 在 Railway 控制面板中添加环境变量:
      • POE_API_KEY
      • PORT=8000
      • 任何其他配置变量
  3. 配置 Warp 使用远程 MCP

    {
      "enhanced-poe-mcp": {
        "url": "https://your-app.up.railway.app/mcp/stream"
      }
    }
    

替代托管选项

  • Render.com:良好的免费层级,易于部署
  • Google Cloud Run:慷慨的免费层级,需要 Docker
  • Fly.io:全球部署,更复杂的设置
  • Vercel:❌ 不兼容 - 无法处理持久连接、SSE 流媒体或长时间运行的任务

🎮 在 Warp 终端中的使用

指定 POE 模型

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 Sonnetclaude-3-5-sonnet
Claude 3 Opusclaude-3-opus-20240229
GPT-4 Turbogpt-4-turbo
GPT-4ogpt-4o
Gemini Progoogle-gemini-pro
Llama 3 (70B)llama-3-70b
Mistral Largemistral-large
Perplexityperplexity-online
自定义机器人使用 poe.com/[bot-name] 中的句柄

基本 POE 查询

# 使用特定模型提问简单问题
@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.pySDK 兼容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_KEYOpenAI API 密钥(用于 SDK 模式)-
DEBUG_MODE启用详细日志false
USE_CLAUDE_COMPATIBLEClaude 思维协议true
MAX_FILE_SIZE_MB最大文件上传大小10
SESSION_EXPIRY_MINUTES会话生命周期60
RATE_LIMIT_RPM每分钟请求限制500
MAX_RETRIES失败重试次数3
STREAM_BUFFER_SIZESSE 缓冲区大小(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}

🐛 故障排除

MCP 服务器在 Warp 中无法启动

问题:服务器无法启动或在 Warp MCP 面板中显示为“错误”

解决方案

  1. 验证 Python 路径:which python3 并更新配置
  2. 检查文件权限:chmod +x poe_server_phase2.py
  3. 手动测试:cd /path/to/server && python3 poe_server_phase2.py
  4. 检查日志:查看终端输出中的错误信息

认证错误

问题:“无效 API 密钥”或“认证失败”

解决方案

  1. 验证 .env 文件中的 POE_API_KEY
  2. 确保密钥已添加到 Warp MCP 配置环境中
  3. poe.com/api_key 测试密钥

速率限制问题

问题:“超出速率限制”错误

解决方案

  1. 在配置中增加 RATE_LIMIT_RPM
  2. 启用请求队列(Phase 2 服务器自动启用)
  3. 在客户端代码中实现指数退避

上下文不起作用

问题:POE 无法看到终端输出或上下文

解决方案

  1. 使用 poe_server_phase2.py(而不是基础服务器)
  2. 确保启用了 Warp 上下文权限
  3. 更新到最新版本的 Warp

Linux 特定问题

问题:权限被拒绝或模块未找到

解决方案

# 修复权限
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

🚀 远程部署指南(Railway)

为什么要远程托管?

  • 避免本地稳定性问题
  • 即使您的机器关机也始终可用
  • 集中配置管理
  • 更适合团队协作

步骤式 Railway 部署

  1. 准备您的项目

    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
    
  2. 设置 Railway

    • railway.app 注册(免费,通过 GitHub)
    • 点击 “新建项目”“从 GitHub 仓库部署”
    • 选择您的 enhanced-poe-mcp 仓库
    • Railway 将自动检测 Python 并开始部署
  3. 配置环境变量: 在 Railway 控制面板中,转到 变量 标签并添加:

    POE_API_KEY=your_poe_api_key_here
    PORT=8000
    DEBUG_MODE=false
    RATE_LIMIT_RPM=500
    PYTHONUNBUFFERED=1
    
  4. 获取您的服务器 URL

    • 转到 Railway 控制面板中的 设置 标签
    • 域名 下点击 “生成域名”
    • 复制您的 URL(例如,https://your-app.up.railway.app
  5. 使用远程 URL 配置 Warp

    {
      "enhanced-poe-mcp": {
        "url": "https://your-app.up.railway.app/mcp/stream"
      }
    }
    
  6. 测试连接

    # 测试您的远程服务器
    curl https://your-app.up.railway.app/health
    
    # 应返回:
    # {"status": "healthy", "version": "2.0.0"}
    

监控您的远程服务器

  • 日志:在 Railway 控制面板的“部署”下查看
  • 指标:检查 /metrics 端点
  • 健康:监控 /health 端点
  • 使用情况:Railway 在控制面板中显示资源消耗

🌗️ 架构

┌─────────────────┐         ┌──────────────────────────┐
│  Warp 终端      │ ◄──────►│   POE MCP 服务器         │
│                 │  MCP