本项目是一个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客户端实现。git clone [your-repository-url]
cd jay-py-mcp-sse
# 安装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 # 环境变量示例文件
.env 文件中的 OPENROUTER_API_KEY 正确填写。如果遇到问题,请参考项目文档或在GitHub仓库中提交问题:https://github.com/yourusername/jay-py-mcp-sse