1. 为什么你需要Trae和MCP?
如果你经常需要处理天气数据查询、Excel表格整理这类重复性工作,或者想让不同AI工具协同完成复杂任务,Trae+MCP的组合就是为你量身定制的解决方案。这就像给你的工作流程装上了"自动驾驶"系统——原本需要手动操作的任务,现在只需简单配置就能自动完成。
我最近用这套方案帮市场部同事解决了大问题:他们每天要收集全国20个城市的天气数据,整理成Excel报表发给管理层。过去这需要人工查询天气网站、复制粘贴数据、调整表格格式,现在通过Trae配置MCP服务后,整个过程完全自动化,每天节省3小时工作量。
2. 5分钟搭建你的第一个MCP服务
2.1 环境准备:比泡面还简单
打开终端(Windows用CMD/PowerShell,Mac用Terminal),执行以下命令安装必要工具:
# 安装Python环境(如果已有可跳过) python --version # 安装MCP核心包 pip install mcp-core trae-client验证安装是否成功:
mcp --version # 应该输出类似:mcp, version 0.8.22.2 创建天气查询服务
新建weather_server.py文件,写入以下代码:
from mcp.server import FastMCP import requests server = FastMCP("WeatherService") @server.tool() def get_weather(city: str) -> str: """获取指定城市天气数据""" api_url = f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid=你的API密钥&units=metric" response = requests.get(api_url) data = response.json() return f"{city}当前天气:{data['weather'][0]['description']},温度:{data['main']['temp']}℃" if __name__ == "__main__": server.run()提示:记得替换代码中的API密钥(去openweathermap.org免费注册获取)
启动服务:
python weather_server.py看到"Server started at http://127.0.0.1:8000"就说明服务已就绪。
3. 在Trae中调用MCP服务
3.1 配置Trae连接MCP服务
打开Trae客户端,按以下步骤操作:
- 点击左下角"设置"图标
- 选择"MCP配置"
- 点击"添加服务"
- 填写配置信息:
- 服务名称:MyWeather
- 类型:HTTP
- 地址:http://localhost:8000
保存后状态灯变绿表示连接成功。
3.2 测试天气查询
在Trae聊天窗口输入:
@MyWeather 查询北京天气你会立即收到结构化天气数据回复。我第一次看到这个自动返回的结果时,简直像发现了新大陆——原来编程可以这么简单!
4. 进阶实战:Excel自动化处理
4.1 创建Excel处理服务
新建excel_server.py文件,写入:
from mcp.server import FastMCP import pandas as pd from io import BytesIO server = FastMCP("ExcelService") @server.tool() def process_excel(file_bytes: bytes, operations: list) -> bytes: """处理Excel文件""" df = pd.read_excel(BytesIO(file_bytes)) # 执行操作序列 for op in operations: if op["action"] == "remove_duplicates": df = df.drop_duplicates() elif op["action"] == "fill_na": df = df.fillna(op.get("value", 0)) output = BytesIO() df.to_excel(output, index=False) return output.getvalue() if __name__ == "__main__": server.run()这个服务支持两种操作:
- 删除重复行
- 填充空值(默认填0)
4.2 配置Excel服务
重复之前的配置步骤,添加新服务:
- 服务名称:MyExcel
- 类型:HTTP
- 地址:http://localhost:8001
4.3 在Trae中处理Excel
上传一个测试Excel文件,然后输入:
@MyExcel 处理这个文件,操作:[{"action":"remove_duplicates"},{"action":"fill_na","value":0}]你会立即收到处理后的Excel文件。我团队的数据分析师小张用这个功能后,处理报表的时间从2小时缩短到5分钟。
5. 串联工作流:从天气查询到Excel报告
5.1 创建组合服务
新建workflow_server.py:
from mcp.server import FastMCP from excel_server import process_excel from weather_server import get_weather import pandas as pd from datetime import datetime server = FastMCP("WorkflowService") @server.tool() def generate_weather_report(cities: list) -> bytes: """生成城市天气报告""" weather_data = [] for city in cities: weather = get_weather(city) weather_data.append({"城市": city, "天气": weather}) df = pd.DataFrame(weather_data) df["更新时间"] = datetime.now().strftime("%Y-%m-%d %H:%M") output = process_excel( df.to_excel(index=False), [{"action": "fill_na", "value": "数据缺失"}] ) return output5.2 调用完整工作流
在Trae中输入:
@Workflow 生成天气报告,城市:["北京","上海","广州","深圳"]10秒内你就会收到一份格式规范的天气报告Excel文件。市场总监看到这个自动化报告时惊讶地问:"这是魔法吗?"我笑着回答:"不,这只是AI协作的常规操作。"
6. 避坑指南与性能优化
在实际使用中我踩过几个坑,分享给你避免重复犯错:
服务稳定性:MCP服务默认超时是30秒,处理大文件时需要调整:
server.run(timeout=300) # 设置为5分钟错误处理:务必添加异常捕获:
@server.tool() def safe_get_weather(city: str): try: return get_weather(city) except Exception as e: return f"查询失败:{str(e)}"性能优化:频繁调用的服务可以启用缓存:
from functools import lru_cache @lru_cache(maxsize=100) @server.tool() def cached_get_weather(city: str): return get_weather(city)安全建议:对外暴露的服务一定要添加认证:
server.run(auth_token="你的安全密钥")
7. 扩展应用场景
除了天气和Excel,MCP还能做更多:
- 数据库查询:让AI直接查询公司数据库生成报告
- 图像处理:自动调整上传图片尺寸并添加水印
- 邮件自动化:定期发送定制化报表给指定人员
- API聚合:将多个第三方API封装成统一接口
我们技术团队最近用MCP做了个智能客服系统,对接了CRM、订单系统和知识库,客服人员现在可以直接问AI:"客户12345的最新订单状态是什么?"AI会通过MCP查询各系统后生成完整回复。