Token导航 LogoToken导航TokenDH.com
Python SSE MCP Client logo
数据服务stdio官方级别未说明来源级核验

Python SSE MCP Client

MCP Server

Python MCP客户端示例,支持SSE和StreamableHTTP两种协议连接远程MCP服务器,适用于云服务集成、数据查询和AI助手增强等场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
远程连接数据分析PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

BACH-AI-Tools

提供方

BACH-AI-Tools

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp

详细介绍

Python MCP 客户端示例

](https://github.com/BACH-AI-Tools/python-sse-mcp-client) ![License: MIT](https://opensource.org/licenses/MIT) ![Python 3.10+](https://www.python.org/downloads/)

在 Python 代码中连接远程 MCP 服务器,支持 SSEStreamableHTTP 两种协议。

⭐ 特点

双协议支持:支持 SSE 和 StreamableHTTP 两种 MCP 传输协议 ✅ 远程连接:通过 HTTP 连接云端 MCP 服务器 ✅ 开箱即用:完整示例代码,可直接运行 ✅ 实用演示:包含 OpenFDA 药品数据库查询示例 ✅ 详细文档:完整的使用指南和 API 说明

📦 项目结构

.
├── src/
│   ├── sse_client_example.py      # SSE MCP 基础连接示例
│   ├── streamable_http_demo.py    # StreamableHTTP MCP 连接示例
│   └── openfda_demo.py            # OpenFDA 实用查询示例
├── SSE_MCP_GUIDE.md               # SSE 协议使用指南
├── STREAMABLE_HTTP_GUIDE.md       # StreamableHTTP 协议使用指南
├── README.md                      # 本文件
├── requirements.txt               # 依赖列表
└── pyproject.toml                # 项目配置

🚀 快速开始

1. 安装依赖

pip install mcp

2. 运行示例

# 测试基础 SSE 连接(查看所有可用工具)
python src/sse_client_example.py

# 测试 StreamableHTTP 连接(FDA MCP 服务器)
python src/streamable_http_demo.py

# 运行实用查询示例(药品信息查询)
python src/openfda_demo.py

💡 核心代码

连接 SSE 服务器

from mcp import ClientSession
from mcp.client.sse import sse_client

# 服务器配置
server_url = "http://openfda.mcp.kaleido.guru/sse"
headers = {
    "emcp-key": "YOUR_KEY",
    "emcp-usercode": "YOUR_CODE"
}

# 连接并调用
async with sse_client(url=server_url, headers=headers) as (read, write):
    async with ClientSession(read, write) as session:
        await session.initialize()

        # 列出可用工具
        tools = await session.list_tools()

        # 调用工具
        result = await session.call_tool("tool_name", arguments={
            "param": "value"
        })

        print(result.content[0].text)

连接 StreamableHTTP 服务器

from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

# 服务器配置
server_url = "http://fda.sitmcp.kaleido.guru/mcp"
headers = {
    "emcp-key": "YOUR_KEY",
    "emcp-usercode": "YOUR_CODE"
}

# 连接并调用(支持会话管理)
async with streamablehttp_client(
    url=server_url,
    headers=headers,
    timeout=30.0,
    sse_read_timeout=300.0
) as (read, write, get_session_id):
    async with ClientSession(read, write) as session:
        await session.initialize()

        # 获取会话 ID
        session_id = get_session_id()
        print(f"Session ID: {session_id}")

        # 调用工具
        result = await session.call_tool("tool_name", arguments={
            "param": "value"
        })

🌟 OpenFDA 示例

项目包含完整的 OpenFDA(美国 FDA 药品数据库)查询示例:

可用工具

  1. search_drug_labels - 搜索 FDA 药品标签信息
  2. get_drug_adverse_reactions - 查询药品不良反应
  3. get_drug_warnings - 获取药品警告信息
  4. ae_pipeline_rag - RAG 药品安全分析
  5. get_drug_indications - 获取药品适应症

示例代码

import asyncio
from mcp import ClientSession
from mcp.client.sse import sse_client

async def query_drug(drug_name: str):
    server_url = "http://openfda.mcp.kaleido.guru/sse"
    headers = {
        "emcp-key": "DGBBWP0neHpDf8MH5l6QIVeRpmBOkZB1",
        "emcp-usercode": "2DebiJQI"
    }

    async with sse_client(url=server_url, headers=headers) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()

            # 搜索药品
            result = await session.call_tool("search_drug_labels", {
                "search": drug_name,
                "limit": 5
            })

            print(result.content[0].text)

# 运行
asyncio.run(query_drug("aspirin"))

📚 详细文档

文档包含:

  • 完整的 API 文档
  • 协议对比和选择建议
  • 所有工具的参数说明
  • 更多实用示例
  • 常见问题解答

🎯 使用场景

  • 云服务集成:连接远程 MCP API 服务
  • 数据查询:查询 OpenFDA、天气、股票等公共 API
  • AI 助手增强:为 Claude/Cursor 等提供外部工具
  • 企业应用:连接企业内部 MCP 服务器

📋 MCP 配置示例

如果要在 Cursor/Claude Desktop 中使用:

SSE 类型服务器

{
  "mcpServers": {
    "openfda": {
      "url": "http://openfda.mcp.kaleido.guru/sse",
      "headers": {
        "emcp-key": "YOUR_KEY",
        "emcp-usercode": "YOUR_CODE"
      },
      "type": "sse"
    }
  }
}

StreamableHTTP 类型服务器

{
  "mcpServers": {
    "fda": {
      "url": "http://fda.sitmcp.kaleido.guru/mcp",
      "headers": {
        "emcp-key": "YOUR_KEY",
        "emcp-usercode": "YOUR_CODE"
      },
      "type": "streamableHttp"
    }
  }
}

🔗 相关资源

📄 许可证

MIT License - 查看 LICENSE 文件了解详情

🤝 贡献

欢迎提交 Issue 和 Pull Request!

👤 作者

Feng Rongquan

目录标签

目录标签

远程连接数据分析PythonClaude混合部署双协议支持数据查询云服务集成AI助手增强

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP