article
README
🚀 MCP客户端与服务器Python样例项目
本项目是一个MCP客户端与MCP服务器的样例实现(Python版本),于2025年3月30日创建。它优化自https://github.com/sidharthrajaram/mcp-sse,原项目基于https://github.com/modelcontextprotocol/python-sdk/issues/145的原始讨论,你可下载原项目获取更多说明。原版本使用ANTHROPIC LLM实现,本版本调整为使用OpenRouter.ai的LLM中转调用平台实现。
🚀 快速开始
本项目提供了基于SSE的 MCP 服务器和客户端。
mcp_server.py是基于SSE的MCP服务器,提供了基于古腾堡计划API的图书搜索工具,改编自MCP文档中的示例STDIO服务器实现。client.py是MCP客户端,可连接并使用基于SSE的MCP服务器提供的工具,改编自MCP文档中的示例STDIO客户端实现。
📦 安装指南
系统要求
- Python 3.13 或更高版本
- uv包管理器(推荐)或pip
安装步骤
- 克隆项目
git clone [your-repository-url]
cd jay-py-mcp-sse
- 环境配置 使用uv(推荐):
# 安装uv(如果未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 创建虚拟环境并安装依赖
uv venv
uv pip install .
或使用传统pip:
# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate # Linux/MacOS
# 或
.venv\Scripts\activate # Windows
# 安装依赖
pip install .
- 配置环境变量 复制环境变量示例文件并填写必要信息:
cp .env.sample .env
编辑 .env 文件,填入你的OpenRouter API密钥:
OPENROUTER_API_KEY=your_api_key_here
💻 使用示例
运行服务
- 启动服务器
uv run mcp_server.py
或指定接口和端口:
uv run mcp_server.py --interface "0.0.0.0" --port 8000
- 启动客户端
uv run client.py
示例输出
以下是运行时的示例输出:
[2025-03-30T16:00:00+00:00] INFO - Server is running on http://localhost:8000
[2025-03-30T16:00:01+00:00] INFO - Client connected to server at http://localhost:8000
[2025-03-30T16:00:02+00:00] INFO - Available tools: search_books, recommend_books
📚 详细文档
项目结构
jay-py-mcp-sse/
├── mcp_server.py # 基于SSE的MCP服务器实现
├── client.py # MCP客户端实现
├── README.md # 项目说明文档
└── .env.sample # 环境变量示例文件
故障排除
- 检查Python版本
- 确保你使用的是Python 3.13或更高版本。
- 检查环境变量配置
- 确保
.env文件中的OPENROUTER_API_KEY正确填写。
- 确保
- 启动问题
- 如果服务器或客户端无法启动,请检查控制台输出中的错误信息。
- 确保所有依赖项已正确安装。
- 连接问题
- 如果客户端无法连接到服务器,请检查网络配置和端口是否正确。
获取帮助
如果遇到问题,请参考项目文档或在GitHub仓库中提交问题:https://github.com/yourusername/jay-py-mcp-sse
微信扫一扫