一个轻量级的模型上下文协议(MCP)服务器实现,通过Poe的API提供对OpenAI的o3模型和其他模型的访问。此服务器允许您将Poe的AI能力集成到任何兼容MCP的应用程序中。
克隆这个仓库:
git clone https://github.com/Anansitrading/po3_MCP.git
cd po3_MCP
创建虚拟环境(推荐):
python -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
安装所需的依赖项:
pip install -r requirements.txt
设置环境变量:
cp sample.env .env
编辑.env文件并添加您的Poe API密钥:
POE_API_KEY=your_poe_api_key_here
运行服务器:
python poe_o3_mcp_server.py
服务器将启动并监听标准输入/输出上的MCP协议消息。
您可以通过在提示中添加标志来选择Poe上可用的不同模型:
--Claude-3.5-Sonnet 告诉我关于量子计算的信息
这将把您的查询路由到Claude-3.5-Sonnet模型而不是默认的o3模型。
标志可以放置在消息中的任何位置:
--GPT-4 法国的首都是什么?告诉我 --Claude-3-Opus 关于罗马的历史机器人三大定律是什么? --Claude-3.5-Sonnet在发送给模型之前,标志将自动从消息中移除。
如果没有指定标志,服务器将默认使用“o3”模型。
此服务器提供了两个工具:
o3_query - 向o3模型(或通过标志向其他模型)发送查询并获得响应ping - 一个简单的测试工具,返回“pong”使用MCP客户端与服务器交互的示例:
from mcp.client import MCPClient
# 连接到MCP服务器
client = MCPClient(server_command=["python", "path/to/poe_o3_mcp_server.py"])
# 调用o3_query工具,默认使用o3模型
response = client.call_tool("o3_query", {"message": "告诉我关于量子计算的信息"})
print(response)
# 使用标志调用o3_query工具,使用不同的模型
response = client.call_tool("o3_query", {"message": "--Claude-3.5-Sonnet 告诉我关于量子计算的信息"})
print(response)
# 使用ping测试连接
ping_response = client.call_tool("ping", {})
print(ping_response) # 应该打印“pong”
您也可以运行包含的示例脚本:
python example.py
服务器使用以下环境变量:
POE_API_KEY:您的Poe API密钥(必需)LOG_LEVEL:日志级别(可选,默认为DEBUG)如果您遇到问题:
.env文件中MIT