Back to MCP directory
publicPublicdnsLocal runtime

py-mcp-sse

这是一个基于SSE的MCP协议实现的Python项目,包含服务器和客户端组件,通过OpenRouter.ai平台调用LLM服务,提供图书搜索功能。

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

安装步骤

  1. 克隆项目
git clone [your-repository-url]
cd jay-py-mcp-sse
  1. 环境配置 使用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 .
  1. 配置环境变量 复制环境变量示例文件并填写必要信息:
cp .env.sample .env

编辑 .env 文件,填入你的OpenRouter API密钥:

OPENROUTER_API_KEY=your_api_key_here

💻 使用示例

运行服务

  1. 启动服务器
uv run mcp_server.py

或指定接口和端口:

uv run mcp_server.py --interface "0.0.0.0" --port 8000
  1. 启动客户端
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            # 环境变量示例文件

故障排除

  1. 检查Python版本
    • 确保你使用的是Python 3.13或更高版本。
  2. 检查环境变量配置
    • 确保 .env 文件中的 OPENROUTER_API_KEY 正确填写。
  3. 启动问题
    • 如果服务器或客户端无法启动,请检查控制台输出中的错误信息。
    • 确保所有依赖项已正确安装。
  4. 连接问题
    • 如果客户端无法连接到服务器,请检查网络配置和端口是否正确。

获取帮助

如果遇到问题,请参考项目文档或在GitHub仓库中提交问题:https://github.com/yourusername/jay-py-mcp-sse

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client