Skip to main content
Glama

Enhanced POE MCP Server for Warp.dev

A production-ready Model Context Protocol (MCP) server that integrates POE (Poe.com API) with Warp.dev terminal, enabling AI-powered terminal assistance with context-aware tooling, automated workflows, and real-time streaming capabilities.

🚀 Features

Core Capabilities

  • Multi-Model Support: Access GPT-4o, Claude 3 Opus/Sonnet, Gemini Pro, Perplexity, and O3 models

  • Warp Terminal Integration: Deep integration with Warp's context extraction and action execution

  • OpenAI SDK Compatibility: Drop-in replacement for OpenAI API with POE backend

  • Production-Ready: Rate limiting, health checks, metrics, and graceful shutdown

Advanced Features

  • Context-Aware Queries: Automatically extracts terminal output, selections, CWD, git state

  • Real-Time Streaming: Server-Sent Events (SSE) with delta content streaming

  • Command Execution: Safe execution of terminal commands with validation

  • File Operations: Create and modify files directly from model responses

  • Session Management: Maintain conversation context across multiple queries

  • Rate Limiting: Exponential backoff with 500 RPM limit and request queuing

  • Health Monitoring: Built-in health checks and Prometheus-style metrics

Related MCP server: MCP Server for Replicate

📋 Prerequisites

  • Operating System: Linux (tested on Ubuntu, Zorin OS), macOS, or WSL2 on Windows

  • Python: Version 3.8 or higher

  • Warp Terminal: Download from warp.dev

  • POE API Key: Get yours from poe.com/api_key

🔧 Installation

Step 1: Clone and Setup

# Clone the repository
git clone https://github.com/Anansitrading/enhanced-poe-mcp.git
cd enhanced-poe-mcp

# Quick installation with script
chmod +x install.sh
./install.sh

# Or manual setup
python3 -m venv venv
source venv/bin/activate  # On Linux/macOS
pip install -e .

Step 2: Configure Environment

Create a .env file with your credentials:

# Required
POE_API_KEY=your_poe_api_key_here

# Optional (with defaults)
OPENAI_API_KEY=your_openai_key  # For OpenAI SDK compatibility
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

Step 3: Configure in Warp Terminal

Option A: Local Installation (Can cause stability issues)

  1. Open Warp MCP Settings:

    • Navigate to: Settings → AI → Manage MCP servers

    • Or press Ctrl+P (Linux/Windows) or Cmd+P (macOS) and search for "Open MCP Servers"

  2. Add the POE MCP Server: Click the + Add button and paste this configuration:

    {
      "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"
        }
      }
    }

    Important: Replace /home/david/Projects/Kijko/MVP/MVP_Kijko/enhanced-poe-mcp with your actual installation path.

  3. Save and Start:

    • Click Save to add the configuration

    • Click Start next to your server entry

    • The server status should show as "Running"

Warp supports remote MCP servers! Host your MCP server remotely to avoid local stability issues.

  1. Deploy to Railway.app (Best free option):

    # Prepare for deployment
    cd enhanced-poe-mcp
    echo "web: python poe_server_phase2.py" > Procfile
    git add .
    git commit -m "Add Procfile for Railway"
    git push origin main
  2. Configure Railway:

    • Sign up at railway.app

    • Create new project → Deploy from GitHub

    • Add environment variables in Railway dashboard:

      • POE_API_KEY

      • PORT=8000

      • Any other config variables

  3. Configure Warp for Remote MCP:

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

Alternative Hosting Options:

  • Render.com: Good free tier, easy deployment

  • Google Cloud Run: Generous free tier, requires Docker

  • Fly.io: Global deployment, more complex setup

  • Vercel: ❌ NOT COMPATIBLE - Cannot handle persistent connections, SSE streaming, or long-running tasks

🎮 Usage in Warp Terminal

Specifying POE Models

POE is a marketplace with hundreds of LLMs. You must specify which model to use:

# Using Claude 3.5 Sonnet
@poe --model claude-3-5-sonnet "Explain quantum computing"

# Using GPT-4o
@poe --model gpt-4o "Write a Python function"

# Using Gemini Pro
@poe --model google-gemini-pro "Analyze this data"

Popular Model Identifiers:

Model

Bot Identifier

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

Custom Bots

Use the handle from poe.com/[bot-name]

Basic POE Query

# Ask a simple question with specific model
@poe --model claude-3-5-sonnet What is the fastest way to create a Python virtual environment?

# Expected output:
# Claude will respond with: "Use `python -m venv <directory>` to create a virtual environment. 
# Activate it with `source <directory>/bin/activate` on Linux/macOS..."

Query with File Attachment

# Review a configuration file with Claude 3.5
@poe --model claude-3-5-sonnet Review this Dockerfile for security issues [attach:./Dockerfile]

# Expected output:
# Claude analyzes the file and provides security recommendations:
# "Found potential issues: 1) Running as root user, 2) No health check defined..."

Context-Aware Query

# Get help with a recent error (POE sees your terminal output)
@poe --model gpt-4o Why did my git push fail?

# Expected output:
# GPT-4o analyzes recent terminal output and responds:
# "The push failed because the remote has changes not in your local branch. 
# Run `git pull --rebase` first..."

Execute Terminal Commands

# Let POE execute safe commands using Gemini
@poe --model google-gemini-pro Find all Python files modified today and show their sizes

# Expected output:
# Gemini generates and executes: find . -name "*.py" -mtime 0 -ls
# Shows results directly in terminal

Stream Long Responses

# Get streaming output for complex tasks with Claude Opus
@poe --model claude-3-opus-20240229 --stream Generate a complete FastAPI application with authentication

# Expected output:
# Claude Opus streams the code generation in real-time, showing each part as it's created

Session Management

# Clear conversation context
@poe clear session

# Expected output:
# "Session cleared. Starting fresh conversation."

List Available Models

# See all available AI models
@poe list models

# Expected output:
# Available models:
# - claude-3-opus: Advanced reasoning and analysis
# - gpt-4o: Latest GPT-4 variant
# - gemini-pro: Google's advanced model
# - perplexity: Web-aware responses

Health Check

# Check server health
@poe health check

# Expected output:
# Server Status: Healthy ✓
# Uptime: 2h 34m
# Active Sessions: 3
# Request Rate: 45 RPM

🛠️ Advanced Configuration

Server Variants

The project includes multiple server implementations for different use cases:

Server File

Description

Use Case

poe_server.py

Basic MCP server

Simple POE proxy

enhanced_poe_server.py

Enhanced with Warp actions

Terminal automation

poe_server_v2.py

SDK-compatible

OpenAI SDK replacement

poe_server_phase2.py

Production server

Full features + monitoring

Running Different Modes

# Basic server
python poe_server.py

# Enhanced server with Warp integration
python enhanced_poe_server.py

# Production server (recommended)
python poe_server_phase2.py

# SSE mode for web clients
python run_sse_server.py [port]

Environment Variables Reference

Variable

Description

Default

Required

POE_API_KEY

Your POE API key

-

OPENAI_API_KEY

OpenAI API key (for SDK mode)

-

DEBUG_MODE

Enable verbose logging

false

USE_CLAUDE_COMPATIBLE

Claude thinking protocol

true

MAX_FILE_SIZE_MB

Max file upload size

10

SESSION_EXPIRY_MINUTES

Session lifetime

60

RATE_LIMIT_RPM

Requests per minute limit

500

MAX_RETRIES

Retry attempts for failures

3

STREAM_BUFFER_SIZE

SSE buffer size (KB)

64

METRICS_ENABLED

Enable metrics collection

true

HEALTH_CHECK_INTERVAL

Health check interval (seconds)

30

📊 Monitoring & Metrics

Health Check Endpoint

# Check server health programmatically
import requests
health = requests.get("http://localhost:8000/health")
print(health.json())
# Output: {"status": "healthy", "uptime": 3600, "active_sessions": 5}

Metrics Endpoint

# Get performance metrics
metrics = requests.get("http://localhost:8000/metrics")
print(metrics.json())
# Output: {"total_requests": 1234, "error_rate": 0.02, "avg_latency_ms": 250}

🐛 Troubleshooting

MCP Server Won't Start in Warp

Issue: Server fails to start or shows as "Error" in Warp MCP panel

Solutions:

  1. Verify Python path: which python3 and update configuration

  2. Check file permissions: chmod +x poe_server_phase2.py

  3. Test manually: cd /path/to/server && python3 poe_server_phase2.py

  4. Check logs: Look for errors in terminal output

Authentication Errors

Issue: "Invalid API key" or "Authentication failed"

Solutions:

  1. Verify POE_API_KEY in .env file

  2. Ensure key is added to Warp MCP config environment

  3. Test key at poe.com/api_key

Rate Limiting Issues

Issue: "Rate limit exceeded" errors

Solutions:

  1. Increase RATE_LIMIT_RPM in configuration

  2. Enable request queuing (automatic in Phase 2 server)

  3. Implement exponential backoff in client code

Context Not Working

Issue: POE doesn't see terminal output or context

Solutions:

  1. Use poe_server_phase2.py (not basic server)

  2. Ensure Warp context permissions are enabled

  3. Update to latest Warp version

Linux-Specific Issues

Issue: Permission denied or module not found

Solutions:

# Fix permissions
chmod -R 755 /path/to/enhanced-poe-mcp
chown -R $USER:$USER /path/to/enhanced-poe-mcp

# Install missing Python packages
pip install -r requirements.txt

# Use virtual environment
source venv/bin/activate

🚀 Remote Deployment Guide (Railway)

Why Host Remotely?

  • Avoids local stability issues

  • Always available, even when your machine is off

  • Centralized configuration management

  • Better for team collaboration

Step-by-Step Railway Deployment

  1. Prepare Your Project:

    cd enhanced-poe-mcp
    
    # Create Procfile for Railway
    echo 'web: python poe_server_phase2.py' > Procfile
    
    # Ensure requirements.txt is complete
    pip freeze > requirements.txt
    
    # Create runtime.txt for Python version
    echo "python-3.11.x" > runtime.txt
    
    # Commit changes
    git add .
    git commit -m "Add Railway deployment files"
    git push origin main
  2. Set Up Railway:

    • Sign up at railway.app (free with GitHub)

    • Click "New Project""Deploy from GitHub repo"

    • Select your enhanced-poe-mcp repository

    • Railway will auto-detect Python and begin deployment

  3. Configure Environment Variables: In Railway dashboard, go to Variables tab and add:

    POE_API_KEY=your_poe_api_key_here
    PORT=8000
    DEBUG_MODE=false
    RATE_LIMIT_RPM=500
    PYTHONUNBUFFERED=1
  4. Get Your Server URL:

    • Go to Settings tab in Railway

    • Under Domains, click "Generate Domain"

    • Copy your URL (e.g., https://your-app.up.railway.app)

  5. Configure Warp with Remote URL:

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

    # Test your remote server
    curl https://your-app.up.railway.app/health
    
    # Should return:
    # {"status": "healthy", "version": "2.0.0"}

Monitoring Your Remote Server

  • Logs: View in Railway dashboard under "Deployments"

  • Metrics: Check /metrics endpoint

  • Health: Monitor /health endpoint

  • Usage: Railway shows resource consumption in dashboard

🌗️ Architecture

┌─────────────────┐         ┌──────────────────────────┐
│  Warp Terminal  │ ◄──────►│   POE MCP Server         │
│                 │  MCP     ├──────────────────────────┤
│  - User Input   │  Proto   │ • Request Handler        │
│  - Context      │         │ • Rate Limiter           │
│  - Actions      │         │ • Session Manager        │
└─────────────────┘         │ • Warp Context Handler   │
                            │ • Streaming Engine       │
                            └───────────┬──────────────┘
                                       │
                            ┌───────────▼──────────────┐
                            │      POE API             │
                            │                          │
                            │ • Claude, GPT-4o         │
                            │ • Gemini, Perplexity     │
                            └──────────────────────────┘

🧪 Testing

# Run all tests
python run_tests.py

# Run with verbose output
python run_tests.py --verbose

# Test specific components
python -m pytest tests/test_poe_server.py -v
python -m pytest tests/test_rate_limiter.py -v
python -m pytest tests/test_streaming.py -v

📚 API Documentation

MCP Tools Reference

Tool

Description

Parameters

ask_poe

Basic POE query

prompt, model, session_id

ask_with_attachment

Query with file

prompt, model, file_path

ask_poe_with_warp_context

Context-aware query

prompt, model, warp_context

stream_poe_to_warp

Streaming response

prompt, model, stream=true

execute_warp_action

Run terminal command

action_type, content, validate

clear_session

Reset conversation

session_id

list_available_models

Get model list

-

health_check

Server health

-

get_metrics

Performance stats

-

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Setup

# Clone and setup development environment
git clone https://github.com/Anansitrading/enhanced-poe-mcp.git
cd enhanced-poe-mcp
python3 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"

# Run in development mode
DEBUG_MODE=true python poe_server_phase2.py

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Poe.com for the API access

  • Warp.dev for the amazing terminal

  • FastMCP for the MCP framework

  • The open-source community for continuous support

📞 Support


Note: This project is not affiliated with Poe.com or Warp.dev. It's an independent integration tool.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

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/Anansitrading/poe-proxy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server