MCP cover image
See in Github
2025-04-14

A FastMCP v2 server that proxies the Poe.com API, supporting both STDIO and SSE transports

0

Github Watches

0

Github Forks

0

Github Stars

Poe Proxy MCP Server

A FastMCP server that proxies the Poe.com API, exposing tools for querying Poe models and sharing files. This server is specifically designed to ensure compatibility with Claude 3.7 Sonnet and other models available through Poe.

Features

  • Multiple Model Support: Query various models available on Poe including GPT-4o, Claude 3 Opus, Claude 3 Sonnet, Gemini Pro, and more
  • Claude 3.7 Sonnet Compatibility: Special handling for Claude's thinking protocol
  • File Sharing: Share files with models that support it
  • Session Management: Maintain conversation context across multiple queries
  • Streaming Responses: Get real-time streaming responses from models
  • Web Client Support: Use the server with web clients via SSE transport

Installation

Prerequisites

  • Python 3.8 or higher
  • A Poe API key (get one from Poe.com)

Quick Installation

Use the provided installation script:

git clone https://github.com/Anansitrading/poe-proxy-mcp.git
cd poe-proxy-mcp
chmod +x install.sh
./install.sh

The script will:

  1. Create a virtual environment
  2. Install all dependencies
  3. Create a .env file if it doesn't exist
  4. Set up the server for both STDIO and SSE transports

Manual Setup

If you prefer to set up manually:

  1. Clone this repository:

    git clone https://github.com/Anansitrading/poe-proxy-mcp.git
    cd poe-proxy-mcp
    
  2. Create a virtual environment and install dependencies:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
    
  3. Create a .env file with your Poe API key:

    cp .env.example .env
    # Edit .env with your API key
    

Installation as a Package

You can also install the server as a Python package:

pip install -e .

This will make the poe-mcp and poe-mcp-sse commands available in your environment.

Configuration

The server can be configured using environment variables:

Variable Description Default
POE_API_KEY Your Poe API key (required) None
DEBUG_MODE Enable verbose logging false
CLAUDE_COMPATIBLE Enable Claude compatibility mode true
MAX_FILE_SIZE_MB Maximum file size for uploads 10
SESSION_EXPIRY_MINUTES Session expiry duration in minutes 60

Usage

Running the Server

Standard Mode (STDIO)

This is the default mode and is suitable for command-line usage:

# If installed as a package:
poe-mcp

# Or directly:
python poe_server.py

Web Mode (SSE)

This mode enables the server to be used with web clients:

# If installed as a package:
poe-mcp-sse [port]

# Or directly:
python run_sse_server.py [port]

The server will start on port 8000 by default, or you can specify a different port.

Available Tools

The server exposes the following tools:

ask_poe

Ask a question to a Poe bot.

response = await mcp.call("ask_poe", {
    "bot": "claude",  # or "o3", "gemini", "perplexity", "gpt"
    "prompt": "What is the capital of France?",
    "session_id": "optional-session-id",  # Optional
    "thinking": {  # Optional, for Claude models
        "thinking_enabled": True,
        "thinking_depth": 2
    }
})

ask_with_attachment

Ask a question to a Poe bot with a file attachment.

response = await mcp.call("ask_with_attachment", {
    "bot": "claude",
    "prompt": "Analyze this code",
    "attachment_path": "/path/to/file.py",
    "session_id": "optional-session-id",  # Optional
    "thinking": {  # Optional, for Claude models
        "thinking_enabled": True
    }
})

clear_session

Clear a session's conversation history.

response = await mcp.call("clear_session", {
    "session_id": "your-session-id"
})

list_available_models

List available Poe models and their capabilities.

response = await mcp.call("list_available_models", {})

get_server_info

Get information about the server configuration.

response = await mcp.call("get_server_info", {})

Web Client

A simple web client is included in the examples directory. To use it:

  1. Start the server in SSE mode:

    python run_sse_server.py
    
  2. Open examples/web_client.html in your browser.

  3. Enter the server URL (default: http://localhost:8000) and click "Get Available Models".

  4. Select a model, enter your prompt, and click "Submit".

Examples

Simple Query

# examples/simple_query.py
import asyncio
from fastmcp import MCPClient

async def main():
    client = MCPClient("http://localhost:8000")
    
    response = await client.call("ask_poe", {
        "bot": "claude",
        "prompt": "Explain quantum computing in simple terms"
    })
    
    print(f"Session ID: {response['session_id']}")
    print(f"Response: {response['text']}")

if __name__ == "__main__":
    asyncio.run(main())

File Attachment

# examples/file_attachment.py
import asyncio
from fastmcp import MCPClient

async def main():
    client = MCPClient("http://localhost:8000")
    
    response = await client.call("ask_with_attachment", {
        "bot": "claude",
        "prompt": "Analyze this code and suggest improvements",
        "attachment_path": "examples/simple_query.py"
    })
    
    print(f"Session ID: {response['session_id']}")
    print(f"Response: {response['text']}")

if __name__ == "__main__":
    asyncio.run(main())

Claude Compatibility

This server includes special handling for Claude models, particularly Claude 3.7 Sonnet, which requires specific formatting for the thinking protocol. When using Claude models:

  1. The server automatically detects Claude models and applies the appropriate formatting.
  2. You can enable the thinking protocol by providing a thinking parameter:
    "thinking": {
        "thinking_enabled": True,
        "thinking_depth": 2,  # Optional, default is 1
        "thinking_style": "detailed"  # Optional
    }
    
  3. If the thinking protocol fails, the server will automatically retry without it.

Testing

To run the test suite:

python run_tests.py

For verbose output:

python run_tests.py --verbose

Troubleshooting

Common Issues

  1. Authentication Error: Make sure your Poe API key is correct in the .env file.
  2. Connection Error: Check that you can access Poe.com from your network.
  3. File Upload Error: Ensure the file exists and is within the size limit.
  4. Claude Thinking Protocol Issues: If you encounter errors with Claude's thinking protocol, try disabling it by setting CLAUDE_COMPATIBLE=false in your .env file.

Debugging

Enable debug mode by setting DEBUG_MODE=true in your .env file for more detailed logs.

License

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

相关推荐

  • Aurity Ltd
  • Create and Publish Business Websites in seconds. AI will gather all the details about your website and generate link to your website.

  • John Rafferty
  • Text your favorite pet, after answering 10 questions about their everyday lives!

  • Convincible Ltd
  • You're in a stone cell – can you get out? A classic choose-your-adventure interactive fiction game, based on a meticulously-crafted playbook. With a medieval fantasy setting, infinite choices and outcomes, and dice!

  • Ian O'Connell
  • Provide players' names or enter Quickstart to start the game!

  • Matthieu Savioux
  • Evaluates language quality of texts, responds with a numerical score between 50-150.

  • analogchat.com
  • Efficient Spotify assistant for personalized music data.

  • seabiscuit.ai
  • Discover A More Robust Business: Craft tailored value proposition statements, develop a comprehensive business model canvas, conduct detailed PESTLE analysis, and gain strategic insights on enhancing business model elements like scalability, cost structure, and market competition strategies. (v1.18)

  • Carl Oscar Aaro
  • Structured recipes for food and desserts – ingredient lists and step-by-step recipe instructions from any input. Become surprised, try something new or breathe life into grandma's old recipe notebook.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的LLM资料总结(Agent框架、辅助编程、数据处理、模型训练、模型推理、o1 模型、MCP、小语言模型、视觉语言模型) | Summary of the world's best LLM resources.

  • n8n-io
  • Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

  • av
  • Effortlessly run LLM backends, APIs, frontends, and services with one command.

  • Azure
  • The Azure MCP Server, bringing the power of Azure to your agents.

  • 1Panel-dev
  • 🔥 1Panel provides an intuitive web interface and MCP Server to manage websites, files, containers, databases, and LLMs on a Linux server.

  • langgenius
  • Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.

  • alibaba
  • an easy-to-use dynamic service discovery, configuration and service management platform for building AI cloud native applications.

  • metorial
  • Containerized versions of hundreds of MCP servers 📡 🧠

  • caio-moliveira
  • This project was created to demonstrate how we can connect with different Model Context Protocols (MCPs).

  • rulego
  • ⛓️RuleGo is a lightweight, high-performance, embedded, next-generation component orchestration rule engine framework for Go.

  • Byaidu
  • PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero

    Reviews

    2.2 (6)
    Avatar
    user_S4OxcfU4
    2025-04-24

    I've been using the poe-proxy-mcp from Anansitrading and I'm thoroughly impressed. The tool is incredibly robust and easy to integrate into my projects. It offers seamless proxy functionalities which have significantly improved my workflow. Highly recommend it to anyone looking for reliable proxy management!

    Avatar
    user_o7rVuOt6
    2025-04-24

    I've been using poe-proxy-mcp by Anansitrading and it's fantastic! It significantly simplifies managing multiple proxies for Path of Exile with its intuitive interface. The seamless integration and robust performance have made my gaming experience much more enjoyable. Highly recommend it to fellow Path of Exile players!

    Avatar
    user_LN07ttN2
    2025-04-24

    As a devoted user of the poe-proxy-mcp developed by Anansitrading, I am thoroughly impressed by its seamless functionality and user-friendly interface. This tool has significantly simplified my workflow, providing an efficient and robust solution for my needs. Highly recommend it to anyone looking for a reliable proxy application!

    Avatar
    user_19kx9eG2
    2025-04-24

    I've been using the poe-proxy-mcp by Anansitrading and it has significantly improved my workflow. The intuitive design and seamless integration with my existing systems save me a great deal of time. The robust features and reliable performance make it an indispensable tool for anyone dealing with proxies. Highly recommend it!

    Avatar
    user_RF5YVKJB
    2025-04-24

    I've been using poe-proxy-mcp by Anansitrading and I'm thoroughly impressed. This tool is incredibly efficient and reliable for managing proxies. It's user-friendly and integrates seamlessly into my workflow. The support provided is excellent, and it significantly improves productivity. Highly recommend!

    Avatar
    user_wYjX5AfH
    2025-04-24

    POE-Proxy-MCP by Anansitrading is a fantastic tool for managing proxies with ease. Its intuitive interface and reliable performance make it a standout in its category. The seamless integration and user-friendly experience save time and boost productivity. Highly recommend to anyone in need of a top-notch proxy management solution!