Worlds_skate_parks API-MCP
FastAPI后端返回给定城市的滑板公园。对数据使用OpenStreetMap(Overpass),对地理编码使用Nomination,对地址使用可选的反向地理编码。
堆栈:Python 3.10+、FastAPI、httpx、geopy、pydantic设置。通过env进行配置(请参见 app/core/config.py).
缓存:用于地理编码和覆盖结果的内存TTL缓存(请参见 app/core/cache.py).减少对提名和超车的呼叫;TTL是可配置的。设计为以后可以在不更改调用者的情况下切换到Redis。
如何跑步:
make server创造 .venv 如果丢失,则安装deps,在启动API http://127.0.0.1:8000.
- 文件:
http://127.0.0.1:8000/docs - 健康:
GET /health - 滑板公园:
GET /skateparks/by-city?city=Lisbon(可选:resolve_address=true用于反向地理编码地址)
Makefile
| 目标 | 描述 |
|---|---|
make | 显示帮助 |
make setup | 创建 .venv 如果需要 |
make install | 安装依赖项 |
make server | 运行API(安装+安装+uvicorn) |
make mcp | 在8010(游标+终端)上运行MCP服务器:stdio+HTTP |
make mcp-stdio | 仅限MCP stdio(例如用于光标) |
make mcp-http | MCP HTTP仅适用于:8010(适用于curl/其他终端) |
MCP服务器
提供MCP服务器,以便助手可以调用滑板公园搜索作为工具。
- 默认值(
make mcp)\*\*:在上同时运行stdio和HTTPhttp://127.0.0.1:8010/mcp/(可流式传输的http)。针对该URL使用MCP客户端从另一个终端与MCP通信。 - 仅限stdio(
make mcp-stdio):用于光标;在MCP配置(stdio)中添加服务器。 - 仅限HTTP(
make mcp-http):端口8010上只有HTTP。
工具 get_skateparks(city_name, resolve_address?) 返回那个城市的滑板公园。
