MCP API服务器(城市日导航器)
这是城市日导航器的后端API服务器。它提供了一组安全、速率限制和日志记录的微工具,将复杂的第三方API抽象为一个简单、统一的接口。
该服务器提供“工具”(例如。, geocode, forecast, eta)编排器用于收集数据。
______________________________________________________________________
架构图
此图显示了MCP服务器如何充当所有外部API的安全网关。
______________________________________________________________________
🛠️ API终点
所有端点都受到X-API-KEY报头和30请求/分钟速率限制的保护。
mcp地理
GET/mcp/geo/geocode
- 查询参数:
city={name} - 退货:
{"lat": 35.01, "lon": 135.76, "display_name": "..."}
GET/mcp/geo/附近
- 查询参数:
lat={lat}&lon={lon}&query={query}&radius_m=5000&limit=15 - 退货:
{"places": [{"name": "Kinkaku-ji", ...}]}
mcp天气
GET/mcp/天气/预报
- 查询参数:
lat={lat}&lon={lon}&date={YYYY-MM-DD} - 退货:
{"temp_c": 11.2, "precip_prob": 3, ...}
mcp空气
GET/mcp/空气/空气
- 查询参数:
lat={lat}&lon={lon} - 退货:
{"pm25": 10.5, "category": "Good", ...}
mcp路线
POST/mcp/route/eta
- 主体:
{"profile": "car", "points": [{"lat": ..., "lon": ...}, ...]} - 退货:
{"distance_km": 10.5, "duration_min": 25.1, ...}
mcp日历
GET/mcp/日历/假期
- 查询参数:
country_code={CC}&year={YYYY} - 退货:
[{"date": "2025-01-01", "localName": "元日"}, ...]
mcp fx
GET/mcp/fx/转换
- 查询参数:
amount={num}&from={CUR}&to={CUR} - 退货:
{"rate": 148.5, "converted": 29700}
mcp维基数据
POST/mcp/wikedata/query
- 主体:
{"query": "SELECT ..."} - 退货:
{"results": {"bindings": [...]}}
______________________________________________________________________
🚀 设置和运行
- 克隆仓库:
git clone https://github.com/ayushh2k/city-nav-mcp.git
cd city-nav-mcp- 安装依赖项:
go mod tidy
make install-air- 创建
.env文件:
OPENAQ_API_KEY="your_openaq_key"
EXCHANGERATE_API_KEY="your_exchangeratesapi_key"- 运行开发服务器:
make dev服务器将在上运行 http://localhost:8000.
______________________________________________________________________
🐳 使用Docker运行
先决条件
- 已安装Docker和Docker Compose。
- 确保您的
.env文件在mcp-server和orchestrator具有所有必需的API密钥的目录。
运行:
docker-compose up --build```