关于 MCP Server from OpenAPI
这是一个根据 OpenAPI 规范构建 MCP 服务的 Python 实现,支持 SSE 和流式模式,并提供 MCP 客户端及 ADK Agent 示例。
主要功能
- 01根据 OpenAPI 规范生成端点
- 02支持 SSE 和流式模式
- 03提供 MCP 与 ADK 客户端示例
- 04通过环境变量配置
适用场景
- 01向 MCP 客户端开放 OpenAPI 定义的 API
- 02通过 SSE 或流式模式测试 API 调用
- 03将 ADK Agent 连接到生成的端点
MCP 相关
根据 OpenAPI 规范生成 MCP 服务,并向 MCP 客户端开放 API 操作。项目包含 SSE 和流式模式的服务端及客户端实现。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
基于 OpenAPI 的 MCP 服务
基于 OpenAPI 规范实现的 MCP 服务,同时支持 SSE(服务器发送事件)和流式响应。
前置条件
- Python 3.x
- pip(Python 包管理器)
- Anthropic API 密钥(用于 MCP 客户端)
- Google API 密钥(用于 ADK Agent)
安装
- 创建并激活虚拟环境:
python3 -m venv venv
source venv/bin/activate
- 安装依赖:
pip install -r requirements.txt
服务设置
服务可通过两种模式运行:
SSE 模式
python server/mcp_server_sse.py --spec server/httpbin_openapi.yaml --name httpbin --base-url https://httpbin.org
流式模式
python server/mcp_server_stream.py --spec server/httpbin_openapi.yaml --name httpbin --base-url https://httpbin.org
客户端设置
MCP 客户端
- 在项目根目录中创建
.env文件,并添加你的 Anthropic API 密钥:
ANTHROPIC_API_KEY=your_api_key_here
- 运行你选择的客户端:
- 对于 SSE 客户端:
python client/sse_client.py- 对于流式客户端:
python client/stream_client.py
使用 MCP 或流式客户端的示例:
MCP Client Started!
Type your queries or 'quit' to exit.
Query: Get Headers
I'll help you get the headers using the api_call function.
[Calling tool api_call with args {'kwargs': '{"action": "get_headers"}'}]
Here are the headers from the response:
```json
{
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Content-Type": "application/json",
"Host": "httpbin.org",
"User-Agent": "python-httpx/0.28.1",
"X-Amzn-Trace-Id": "Root=1-683fecc4-674af7e9323b027c4b9bc740"
}
ADK Agent
前置条件
- 安装 ADK:
pip install google-adk
设置步骤
-
重要:流式模式的变通方案
- 从 Google ADK 仓库下载最新的
mcp_session_manager.py - 替换 ADK 安装目录中的现有文件:
# Typical path (adjust Python version as needed) cp mcp_session_manager.py venv/lib/python3.13/site-packages/google/adk/tools/mcp_tool/
- 从 Google ADK 仓库下载最新的
-
进入 Clients 目录:
cd client
-
配置环境:
- 在
httpb_sse_agent和httpbin_stream_agent目录下的.env文件中添加以下内容:
GOOGLE_GENAI_USE_VERTEXAI="False" GOOGLE_API_KEY="your_google_api_key_here" - 在
-
启动 ADK Web 界面:
adk web
功能
- 基于 OpenAPI 规范生成端点
- 支持 SSE 和流式响应
- 多种客户端实现(MCP 和 ADK)
- 通过环境变量轻松配置
故障排除
ADK 流式模式问题
如果 ADK Agent 在流式模式下遇到问题:
- 确认已替换
mcp_session_manager.py文件 - 检查
.env文件中是否正确设置了 Google API 密钥 - 确保使用的是最新版本的 ADK
许可证
本项目采用 Apache 2.0 许可证。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。