教学实战:用 FastMCP 构建地图查询 AI 工具
如果你使用支持 MCP 的大模型(如 Claude 3、OpenAI GPT-4.5 with MCP),你只需将 MCP 服务器地址注册为工具服务,模型即可通过自然语言调用它。FastMCP 是一个开源框架,帮助你用 Python 快速搭建 MCP Server 和工具,兼容 Claude、ChatGPT、Qwen 等支持 MCP 的模型。MCP(Model Context Protocol)是
一、什么是 MCP?
MCP(Model Context Protocol)是一种为大型语言模型(LLM)设计的开放协议,允许模型访问实时数据、外部工具和业务系统。它的核心价值是让模型具备“调用能力”,不仅能说,还能做。
FastMCP 是一个开源框架,帮助你用 Python 快速搭建 MCP Server 和工具,兼容 Claude、ChatGPT、Qwen 等支持 MCP 的模型。
二、项目介绍:构建一个“地图查询” AI 工具
我们将构建一个简单的地图查询服务:
用户对话内容: “请告诉我上海的地理位置”
大模型调用 FastMCP 工具,通过地理 API 查询该城市的经纬度,并将结果返回。
三、安装与环境准备
1. 创建虚拟环境(推荐)
python3 -m venv mcp-env
source mcp-env/bin/activate
2. 安装 FastMCP
pip install fastmcp
3. 安装地图查询依赖(使用
OpenStreetMap Nominatim API
)
pip install requests
四、完整代码实现:地图查询工具
创建文件 map_mcp_server.py:
from fastmcp import FastMCP
import requests
# 创建 MCP 实例
mcp = FastMCP("MapLookup")
# 定义地图查询工具
@mcp.tool()
def geo_lookup(location: str) -> dict:
"""
查询地理位置,返回经纬度等信息
"""
url = "https://nominatim.openstreetmap.org/search"
params = {
"q": location,
"format": "json",
"limit": 1
}
headers = {"User-Agent": "FastMCP-Demo/1.0"}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if not data:
return {"error": f"未找到位置: {location}"}
result = data[0]
return {
"display_name": result["display_name"],
"latitude": result["lat"],
"longitude": result["lon"]
}
# 启动 MCP 服务
if __name__ == "__main__":
mcp.run()
五、运行 MCP 服务
在终端执行:
python map_mcp_server.py
默认会在 http://localhost:3000 启动 MCP 服务。
你将看到如下启动日志:
✅ Server 'MapLookup' running at http://localhost:3000
六、测试运行效果(模拟模型调用)
你可以使用 Postman 或 CURL 模拟模型调用 MCP 工具:
curl -X POST http://localhost:3000/tools/geo_lookup \
-H "Content-Type: application/json" \
-d '{"location": "上海"}'
返回结果示例:
{
"display_name": "上海市, 中国",
"latitude": "31.230416",
"longitude": "121.473701"
}
七、集成到大模型(如 Claude、ChatGPT)
如果你使用支持 MCP 的大模型(如 Claude 3、OpenAI GPT-4.5 with MCP),你只需将 MCP 服务器地址注册为工具服务,模型即可通过自然语言调用它。
示例 Prompt:
“请告诉我北京的经纬度”
→ 模型会自动选择 geo_lookup 工具并返回准确坐标。
八、扩展建议
你可以轻松扩展此项目:
-
添加多语言支持(如自动翻译地名)
-
返回地图截图(集成静态图 API)
-
查询路线、距离等高级功能
九、总结
通过 MCP 和 FastMCP,你可以:
-
用 Python 快速构建 AI 工具;
-
让模型安全调用外部 API;
-
轻松集成业务功能与自动化流程。
在 AI Agent 浪潮中,MCP 是构建智能工具生态的关键标准。而 FastMCP 则是开发者落地 MCP 最实用的利器。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐

所有评论(0)