通用API网关MCP服务器
Universal API Gateway,可作为单个MCP服务器使用多个外部API。
项目结构
Universal-API-Gateway-MCP-Server/
├── backend/ # FastAPI 백엔드 + MCP 서버
│ ├── src/ # 소스 코드
│ ├── data/apis/ # API 정의 JSON 파일
│ └── venv/ # Python 가상환경
├── frontend/ # React 프론트엔드 대시보드
│ └── src/ # React 소스 코드
└── docs/ # 문서支持的API
1.蒸汽网API
- 说明:查看Steam游戏信息和玩家统计信息
- API密钥:不需要(Public API)
- 端点:
- Get Player Summaries:查看Steam用户配置文件信息
2.开放气象API
- 说明:查询全球天气信息
- API密钥:不需要(免费的公共API)
- 端点:
- Get Current Weather:查看当前天气信息 - Get Weather Forecast:查看天气预报
3.新闻API.org
- 说明:搜索和浏览全球新闻文章
- API密钥: 必需 (免费注册)
- API密钥发放: https://newsapi.org/register
- 端点:
- Get Top Headlines:最新头条新闻 - Search Everything:使用关键字搜索新闻
如何使用NewsAPI:
- https://newsapi.org/register在中注册免费帐户
- 复制通过电子邮件收到的API密钥
backend/.env文件创建和API密钥设置(请参见下文)
快速入门
设置环境变量
NewsAPI需要API密钥:
# 1. backend 디렉토리로 이동
cd backend
# 2. .env.example 파일을 복사하여 .env 파일 생성
cp .env.example .env
# 3. .env 파일을 열어 NewsAPI 키 입력
# NEWSAPI_KEY=your_actual_api_key_here后端运行
# 1. 백엔드 디렉토리로 이동
cd backend
# 2. Python 가상환경 활성화 (Windows)
venv\Scripts\activate
# 3. 의존성 설치 (처음 한 번만)
pip install -r requirements.txt
# 4. 서버 실행
cd src
python -m uvicorn main:app --host 127.0.0.1 --port 8000 --reload后端服务器:http://localhost:8000
前端运行
# 1. 프론트엔드 디렉토리로 이동
cd frontend
# 2. 의존성 설치 (처음 한 번만)
npm install
# 3. 개발 서버 실행
npm run dev前端仪表板:http://localhost:5173
API测试方法
- 在浏览器中http://localhost:5173连接
- 单击“APIs”菜单
- 选择要测试的API
- 选择端点
- 输入所需参数
- 单击“Test API”按钮
- 确认响应结果
注意:对于NewsAPI .env 必须在文件中预置API密钥。
用作MCP服务器
本地环境(stdio方式-传统)
在本地以stdio方式使用(不推荐):
{
"mcpServers": {
"universal-api-gateway": {
"command": "C:\\path\\to\\backend\\venv\\Scripts\\python.exe",
"args": [
"C:\\path\\to\\backend\\src\\mcp_server\\server.py"
]
}
}
}本地/远程环境(HTTP/SSE方式-推荐)
首先运行后端服务器:
cd backend/src
python -m uvicorn main:app --host 127.0.0.1 --port 8000Claude桌面设置(%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"universal-api-gateway": {
"url": "http://localhost:8000/mcp/sse"
}
}
}部署远程服务器时:
{
"mcpServers": {
"universal-api-gateway": {
"url": "https://your-domain.com/mcp/sse"
}
}
}技术堆栈
后端
- FastAPI 0.115.0:REST API框架
- Python 3.12:编程语言
- Pydantic 2.9.0:数据验证
- 版本 3.10.0:异步HTTP客户端
- MCP SDK 1.1.2:Model Context Protocol服务器
前端
- 反应18:UI库
- TypeScript:类型安全性
- 快速7.1.12:构建工具
- TanStack反应查询5.64.2:管理服务器状态
- React路由器7.1.1:路由
- 顺风CSS 4.0:造型
- 公理1.7.9:HTTP客户端
主要功能
- 集成3个公共API(Steam、Weather、News)
- RESTful API端点
- 宣传MCP(Model Context Protocol)服务器
- HTTP/SSE传输方式(本地和远程支持) - stdio传输方式(传统,仅本地)
- React仪表板UI
- 实时API测试功能
- 设置CORS(允许所有localhost端口)
- 参数验证和类型检查
- 基于JSONPath的响应映射
- 安全(URL白名单,阻止内部IP)
许可证
MIT许可证
作者
用Claude代码生成
