Poe Proxy MCP Server

MIT License
  • Linux
  • Apple

Integrations

  • Supports configuration through environment variables stored in .env files for settings like API keys, debug mode, and file size limits.

  • Provides file sharing capabilities with AI models, allowing users to upload and analyze files with size limits configurable through environment variables.

  • Repository hosting for the project code with installation instructions for cloning from GitHub.

Servidor proxy MCP PoE

Un servidor FastMCP que actúa como proxy de la API de Poe.com, ofreciendo herramientas para consultar modelos PoE y compartir archivos. Este servidor está diseñado específicamente para garantizar la compatibilidad con Claude 3.7 Sonnet y otros modelos disponibles a través de PoE.

Características

  • Compatibilidad con varios modelos : consulte varios modelos disponibles en Poe, incluidos GPT-4o, Claude 3 Opus, Claude 3 Sonnet, Gemini Pro y más
  • Compatibilidad del soneto Claude 3.7 : Manejo especial del protocolo de pensamiento de Claude
  • Uso compartido de archivos : comparta archivos con modelos que lo admitan
  • Gestión de sesiones : mantener el contexto de la conversación en múltiples consultas
  • Respuestas en streaming : obtén respuestas en streaming en tiempo real de los modelos
  • Compatibilidad con clientes web : utilice el servidor con clientes web a través del transporte SSE

Instalación

Prerrequisitos

  • Python 3.8 o superior
  • Una clave API de Poe (obtenga una en Poe.com )

Instalación rápida

Utilice el script de instalación proporcionado:

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

El guión hará lo siguiente:

  1. Crear un entorno virtual
  2. Instalar todas las dependencias
  3. Crea un archivo .env si no existe
  4. Configurar el servidor para los transportes STDIO y SSE

Configuración manual

Si prefiere configurarlo manualmente:

  1. Clonar este repositorio:
    git clone https://github.com/Anansitrading/poe-proxy-mcp.git cd poe-proxy-mcp
  2. Cree un entorno virtual e instale dependencias:
    python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
  3. Cree un archivo .env con su clave API Poe:
    cp .env.example .env # Edit .env with your API key

Instalación como paquete

También puedes instalar el servidor como un paquete de Python:

pip install -e .

Esto hará que los comandos poe-mcp y poe-mcp-sse estén disponibles en su entorno.

Configuración

El servidor se puede configurar mediante variables de entorno:

VariableDescripciónPor defecto
POE_API_KEYSu clave API de Poe (obligatoria)Ninguno
DEBUG_MODEHabilitar el registro detalladofalse
CLAUDE_COMPATIBLEHabilitar el modo de compatibilidad de Claudetrue
MAX_FILE_SIZE_MBTamaño máximo de archivo para cargas10
SESSION_EXPIRY_MINUTESDuración de la expiración de la sesión en minutos60

Uso

Ejecución del servidor

Modo estándar (STDIO)

Este es el modo predeterminado y es adecuado para el uso de la línea de comandos:

# If installed as a package: poe-mcp # Or directly: python poe_server.py
Modo web (SSE)

Este modo permite utilizar el servidor con clientes web:

# If installed as a package: poe-mcp-sse [port] # Or directly: python run_sse_server.py [port]

El servidor se iniciará en el puerto 8000 de forma predeterminada, o puede especificar un puerto diferente.

Herramientas disponibles

El servidor expone las siguientes herramientas:

ask_poe

Hazle una pregunta a un bot de Poe.

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

Haz una pregunta a un bot de Poe con un archivo adjunto.

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

Borrar el historial de conversaciones de una sesión.

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

Enumere los modelos Poe disponibles y sus capacidades.

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

Obtenga información sobre la configuración del servidor.

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

Cliente web

El directorio de examples incluye un cliente web sencillo. Para usarlo:

  1. Inicie el servidor en modo SSE:
    python run_sse_server.py
  2. Abra examples/web_client.html en su navegador.
  3. Ingrese la URL del servidor (predeterminada: http://localhost:8000 ) y haga clic en "Obtener modelos disponibles".
  4. Seleccione un modelo, ingrese su mensaje y haga clic en "Enviar".

Ejemplos

Consulta simple

# 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())

Archivo adjunto

# 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())

Compatibilidad de Claude

Este servidor incluye un manejo especial para los modelos de Claude, en particular para el Soneto Claude 3.7, que requiere un formato específico para el protocolo de pensamiento. Al usar los modelos de Claude:

  1. El servidor detecta automáticamente los modelos de Claude y aplica el formato apropiado.
  2. Puede habilitar el protocolo de pensamiento proporcionando un parámetro thinking :
    "thinking": { "thinking_enabled": True, "thinking_depth": 2, # Optional, default is 1 "thinking_style": "detailed" # Optional }
  3. Si el protocolo de pensamiento falla, el servidor volverá a intentarlo automáticamente sin él.

Pruebas

Para ejecutar el conjunto de pruebas:

python run_tests.py

Para una salida detallada:

python run_tests.py --verbose

Solución de problemas

Problemas comunes

  1. Error de autenticación : asegúrese de que su clave API Poe sea correcta en el archivo .env .
  2. Error de conexión : verifique que pueda acceder a Poe.com desde su red.
  3. Error de carga de archivo : asegúrese de que el archivo exista y esté dentro del límite de tamaño.
  4. Problemas con el protocolo de pensamiento de Claude : si encuentra errores con el protocolo de pensamiento de Claude, intente deshabilitarlo configurando CLAUDE_COMPATIBLE=false en su archivo .env .

Depuración

Habilite el modo de depuración configurando DEBUG_MODE=true en su archivo .env para obtener registros más detallados.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor FastMCP que actúa como proxy de la API de Poe.com, lo que permite a los usuarios consultar varios modelos de IA (incluido Claude 3.7 Sonnet) y compartir archivos con modelos que lo admiten.

  1. Features
    1. Installation
      1. Prerequisites
      2. Quick Installation
      3. Manual Setup
      4. Installation as a Package
    2. Configuration
      1. Usage
        1. Running the Server
        2. Available Tools
      2. Web Client
        1. Examples
          1. Simple Query
          2. File Attachment
        2. Claude Compatibility
          1. Testing
            1. Troubleshooting
              1. Common Issues
              2. Debugging
            2. License

              Related MCP Servers

              • A
                security
                F
                license
                A
                quality
                An MCP protocol server that enables web search functionality using the Tavily API, allowing AI assistants to perform internet searches in real-time.
                Last updated -
                4
                2
                Python
              • -
                security
                A
                license
                -
                quality
                An MCP server that enables AI assistants like Claude to interact with Substack newsletters, allowing for post retrieval, content searching, and author information access through a standardized interface.
                Last updated -
                Python
                MIT License
                • Linux
                • Apple
              • -
                security
                A
                license
                -
                quality
                An MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.
                Last updated -
                125
                Python
                MIT License
                • Apple
                • Linux
              • -
                security
                F
                license
                -
                quality
                An MCP server that crawls API documentation websites and exposes their content to AI models, enabling them to search, browse, and reference API specifications.
                Last updated -
                Python

              View all related MCP servers

              ID: f5z8e8j9gt