mcpx-py
用于与服务交互的Python客户端库。
安装
# 使用 uv(推荐)
uv add mcpx-py
# 或使用 pip
pip install mcpx-py
前置准备
依赖项
uv
npm
ollama
(可选)
获取 mcp.run 会话 ID
# 自动写入配置文件
npx --yes -p @dylibso/mcpx gen-session --write
# 或手动设置环境变量
export MCP_RUN_SESSION_ID=$(npx --yes -p @dylibso/mcpx gen-session | grep "会话:" | cut -d' ' -f2)
基本使用
from mcpx_py import Chat
# 创建 LLM 实例
llm = Chat("claude-3-5-sonnet-latest")
# 或 llm = Chat("gpt-4o")
# 或 llm = Chat("ollama:qwen2.5")
# 或 llm = Chat("gemini-2.0-flash")
# 发送消息并获取响应
response = llm.send_message_sync("总结 example.com 的内容")
print(response.data)
结构化输出
from mcpx_py import Chat, BaseModel, Field
from typing import List
class Summary(BaseModel):
"""某些较长文本的摘要"""
source: str = Field("原始文本的来源")
original_text: str = Field("要被摘要的原始文本")
items: List[str] = Field("摘要要点列表")
llm = Chat("claude-3-5-sonnet-latest", result_type=Summary)
response = llm.send_message_sync("总结 example.com 的内容")
print(response.data)
命令行使用
# 安装 CLI 工具
uv tool install mcpx-py
# 聊天模式
mcpx-client chat
# 列出可用工具
mcpx-client list
# 调用工具
mcpx-client tool eval-js '{"code": "2+2"}'
API 密钥设置
- Claude:
ANTHROPIC_API_KEY=your_key_here
- OpenAI:
OPENAI_API_KEY=your_key_here
- Gemini:
GEMINI_API_KEY=your_key_here
- Ollama: 本地运行,无需 API 密钥
- Llamafile: 本地运行,无需 API 密钥
更多示例请查看 GitHub 仓库。