mcpField
M
MCP SSE Client-Server

MCP SSE Client-Server

本地服务
github.com/flyingcloud-code开发工具078 周前更新

关于 MCP SSE Client-Server

这是一个使用 Python 和 Server-Sent Events(SSE)实现的 MCP 客户端与服务端示例,适合探索异步查询流程的开发者。它整合搜索、网页内容获取工具,并支持 OpenAI API 或 OpenRouter。

主要功能

  1. 01通过 SSE 进行客户端与服务端通信
  2. 02集成搜索和网页内容获取工具
  3. 03使用 asyncio 异步处理查询
  4. 04支持 OpenAI API 和 OpenRouter
  5. 05记录日志并处理错误

适用场景

  1. 01构建 SSE 驱动的 MCP 查询流程
  2. 02通过搜索工具查找网页信息
  3. 03获取网页正文供后续处理

MCP 相关

项目包含 SSE MCP 客户端与服务端,并集成 google_search、get_web_content、get_weekday_from_date 和 get_weather_for_date 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP SSE Client-Server

使用 Server-Sent Events(SSE)的 MCP 客户端和服务端简单 Python 实现。

功能特性

  • 基于 SSE 的客户端与服务端通信
  • 集成 MCP 平台工具(google_search、get_web_content)
  • 使用 Python 的 asyncio 异步处理查询
  • 全面的日志记录和错误处理
  • 集成 OpenAI API,并在其不可用时回退到 OpenRouter
  • 支持环境变量配置

要求

  • Python 3.10+
  • pyproject.toml 中列出的依赖项:
    • 用于 HTTP 请求的 httpx
    • 用于环境变量的 python-dotenv
    • 用于 LLM 集成的 openai
    • 用于 MCP 平台集成的 mcp[cli]

安装

  1. 克隆此仓库
  2. 创建并激活虚拟环境:
    uv venv
    # On Windows
    .venv\Scripts\activate
    # On Unix/macOS
    source .venv/bin/activate
    
  3. 安装依赖项:
    uv sync .
    

配置

在项目根目录中创建 .env 文件,并填入 API 密钥:

# Required - use either OPENAI_API_KEY or OPENROUTER_API_KEY
OPENAI_API_KEY=your_api_key
OPENROUTER_API_KEY=your_api_key

# Optional - specify custom base URL
OPENAI_BASE_URL=https://your-custom-url
OPENROUTER_BASE_URL=https://your-custom-url

使用方法

首先启动 MCP 服务,该服务运行在 8081 端口。 然后启动 MCP 客户端。

MCP 服务设置
uv run mcp-server-search.py
MCP 客户端用法
uv run mcp-client-sse.py --help
usage: mcp-client-sse.py [-h] [--server SERVER] [--verbose] [--quiet]

Run MCP SSE-based client

options:
  -h, --help       show this help message and exit
  --server SERVER  MCP SSE server URL (default: http://localhost:8081/sse)
  --verbose        Enable verbose logging mode (DEBUG level)
  --quiet          Set logging to WARNING level (overrides --verbose)

uv run mcp-client-sse.py --server URL_ADDRESS-server-url:8081/sse --verbose
可用的 MCP 工具

客户端支持以下 MCP 工具:

  • google_search:执行网页搜索
  • get_web_content:获取完整的网页内容
  • get_weekday_from_date:日期工具
  • get_weather_for_date:天气信息

开发

日志记录

客户端会在 mcp-client.log 中生成日志,其中包含时间戳和详细信息。

测试

待实现……

贡献

欢迎提交拉取请求。对于重大更改,请先创建议题以讨论拟议的更改。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。