以下是针对MCP在AI驱动场景下的三个典型应用(实时数据查询、企业数据整合、自动化工具链)的具体Demo实现方案及技术解析,结合真实案例和代码示例说明:
场景描述
用户通过自然语言提问(如“北京今天天气如何?”),大模型自动调用气象API获取实时数据,无需手动输入或切换界面。
from fastmcp import FastMCP
import requests
mcp = FastMCP("WeatherService")
@mcp.tool()
def get_weather(city: str) -> str:
"""调用气象API查询实时天气"""
api_url = f"https://api.weather.com/v3/current?city={city}"
response = requests.get(api_url)
data = response.json()
return f"{city}天气:{data['condition']},温度{data['temp']}℃"
# 启动MCP服务器(端口8000)
mcp.run(port=8000)
工作流程:
关键点:
场景描述
AI连接企业内部数据库(如订单系统),自动生成销售分析报告或客户订单状态。
from fastmcp import FastMCP
import mysql.connector
mcp = FastMCP("BizReport")
@mcp.tool()
def get_order_status(order_id: str) -> str:
"""查询订单状态并生成报告"""
conn = mysql.connector.connect(
host="localhost", user="admin",
password=os.getenv("DB_PASS"), database="orders" # 密码通过环境变量注入
)
cursor = conn.cursor()
cursor.execute(f"SELECT status FROM orders WHERE id='{order_id}'")
result = cursor.fetchone()
return f"订单{order_id}状态:{result[0]}" if result else "订单不存在"
# 错误处理:捕获无效订单号
@mcp.error_handler
def handle_db_error(e):
return "系统繁忙,请稍后再试"
工作流程:
案例:
关键点:
场景描述
大模型通过MCP控制IDE编写代码、操作浏览器抓取网页内容,实现全流程自动化。
# 场景1:Figma自动设计(Figma MCP)
@mcp.tool()
def design_ui(spec: str) -> str:
"""根据文本描述生成Figma设计稿"""
figma_api_url = "https://api.figma.com/v1/design"
payload = {"spec": spec, "action": "create_screen"}
response = requests.post(figma_api_url, json=payload)
return f"设计稿已生成:{response.json()['url']}"
# 场景2:网页爬取(Firecrawl MCP)
@mcp.tool()
def crawl_web(url: str) -> str:
"""抓取网页内容并总结重点"""
firecrawl_url = "https://api.firecrawl.io/v1/scrape"
data = {"url": url, "extract": "main_content"}
result = requests.post(firecrawl_url, json=data).json()
return f"网页总结:{result['summary']}"
工作流程:
design_ui("现代风格登录页")
→ 生成Figma设计稿。crawl_web("竞品官网")
→ 抓取数据并生成分析摘要。案例:
关键点:
场景 | 技术价值 | 案例效果 |
---|---|---|
实时数据查询 | 动态API调用 + 自然语言转协议 | 气象/金融数据秒级响应 1 |
企业数据整合 | 数据库安全连接 + 错误友好处理 | 客服效率提升90% 6 |
自动化工具链 | 多工具协同 + 真实环境操作模拟 | Figma设计+网页爬取联动 4 |
建议开发路线: