一、前言

AI 圈子里有流传这样一个说法: 2023 是大模型元年,2024 是 AI-Agent 元年,那 2025 就是 MCP 元年。

这样一说,MCP 应该就是今年或以后的爆发点了,从他出现到现在不过才七个月,国内外各大互联网巨头都开始押注,纷纷推出了自己的 MCP 市场。

那 MCP 到底是个什么东西?为什么大家对他都很关注,并且纷纷入场,下面我就以一个也才刚接触不久的新人视角,简单介绍一下他,其中包括他和 LLM、AI-Agent 间的关系,应用场景以及如何使用。

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/01.jpg)

二、MCP 简介

MCP 英文全称 Model Context Protocol,字面意思就是模型上下文协议,也有说他是为解决大语言模型商业落地最后一公里而生。

因为不管是阿里的通义、字节豆包还是 DeepSeek,亦或是 ChatGPT,全都有以下几点局限性:

\1. 数据不实时,因为都是对历史数据进行训练,而对于像新闻、天气、股市这种一直变动的是无法获取的。

\2. 功能有限,虽然他可以通过提示词实现很多功能,但还是因为旧数据原因,没法灵活更新功能。

\3. 私密数据不保障,已知知名模型训练都是抓取的全球公开数据,而商业落地的本质是私有制,就是我想有你大模型的全部功能,但是不能把我的数据给你。

所以,MCP 就是解决这三个痛点而被提出来的,他就像一个 USB-C 接口,能对接各大 LLM 供应商,而我们可以用 MCP 再基于模型,实现比如本公司业务的问答系统、传统工业软件的对话扩展,我感觉未来的软件就是图形化和自然语言化共存。

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/02.png)

三、MCP 核心功能

\1. 资源 (Resources)

提供静态 / 动态数据读取接口,可以用来访问本地文件、数据库记录、API 数据(如天气查询)。

\2. 工具 (Tools)

暴露可执行函数,供 LLM 调用(需用户授权),可以用于发送邮件、合并 GitHub PR、操作 Excel 文件。

\3. 提示 (Prompts)

提供预置任务模板,比如快速生成文档框架、优化搜索指令。

四、MCP 传输协议

\1. STDIO:本地文件的操作、敏感数据处理,客户端以子进程形式启动 MCP 服务器,通过标准输入(stdin)发送 JSON-RPC 消息,服务器从 stdin 读取请求,处理后将响应写入标准输出。

\2. SSE(Server-Sent Events):服务器发送事件传输,客户端通过 HTTP 建立 SSE 长连接,服务器实时推送事件流。

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/03.png)

五、自定义 MCP

这里用 Python 的 FastMCP 来在 TRAE 中实现一个简单的 MCP Server。

TRAE 是字节推出的一个专为 AI 编程的 IDE,不光可以通过自然语言写代码、改 Bug,还可以在编辑器上创建 MCP(本身是客户端)、创建智能体、以及通过对话调试。

\1. 环境准备

在本地安装 FastMCP 库,这个库包括了 MCP 的所有核心功能外还能通过命令启动 MCP Inspector。

1
2
3
4
5
6
7
pip install "MCP[cli]"

#uv方式安装
uv add "MCP[cli]"

#查看是否安装
pip list

\2. 创建一个小红书内容审核助手

这里主要用到 MCP 功能之一的 Tool 工具,传输协议是 stdio,由于还用了 qwen-plus 模型,所以要先去百炼平台申请 API Key。

\1. 添加 API Key

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/04.png)

\2. 安装 dashscope

1
2
3
4
pip install dashscope

#查看列表
pip list

\3. 编码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# -*- coding: utf-8 -*-
from mcp.server.fastmcp import FastMCP
from pydantic import Field
import os
import logging
import dashscope
logger = logging.getLogger('mcp')

settings = {
'log_level': 'DEBUG'
}

# 初始化mcp服务
mcp = FastMCP('xhs-bailian-mcp-server', log_level='ERROR', settings=settings)

# 定义工具
@mcp.tool(name='小红书内容审核专家', description='小红书内容审核专家,输入小红书文案')
async def red_book_moderator(
prompt: str = Field(description='小红书文案')
) -> str:
"""小红书内容审核专家
Args:
prompt: 小红书文案
Returns:
审核后的内容
"""
logger.info('收到小红书文案:{}'.format(prompt))
api_key = os.getenv("API_KEY", "")
if not api_key:
return '请先设置API_KEY环境变量'
# call sync api, will return the result
print('please wait...')
messages = [
{'role': 'system', 'content': '# 角色你是一位小红书内容审核专家,专门负责校对和审查小红书平台上的内容,确保其符合平台的社区规范和法律法规。## 技能### 技能 1:敏感词检测与校对- 熟练掌握小红书平台的敏感词列表和社区规范。- 能够快速准确地识别并标记出文本中的敏感词。- 提供替换建议或修改意见,确保内容合规且适合发布。### 技能 2:内容审查与优化- 审查用户提供的文案,确保其不包含任何违法、违规或不适宜的内容。- 对于可能引起争议或不适的内容,提供具体的修改建议。- 保持内容的流畅性和可读性,同时确保其符合平台的要求。### 技能 3:工具使用- 使用搜索工具或知识库来获取最新的敏感词列表和社区规范更新。- 利用现有的审核工具进行辅助审查,提高效率和准确性。## 限制- 仅针对小红书平台的内容进行审核和校对。- 避免引入个人观点或偏见,严格依据平台规则和法律法规进行审核。- 所有修改建议必须保持内容的原意和风格,不得改变用户的表达意图。- 如果需要调用搜索工具或查询知识库,请明确说明并执行。'},
{'role': 'user', 'content': prompt}
]

response = dashscope.Generation.call(
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
api_key=api_key,
model="qwen-plus",
studio/getting-started/models
messages=messages,
result_format='message'
)
return str(response)

def run():
mcp.run(transport='stdio')

if __name__ == '__main__':
run()

\4. TRAE 中添加 MCP

点击 “AI 功能管理”(设置图标)->“MCP”->“添加”->“手动配置”。

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/05.png)

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/06.png)

\5. MCP JSON 添加

也就是在 TRAE 启动的基本参数,包括名称,启动方式,路径,环境变量,像 go 语言这种依赖 mod 文件最好打包成 exe 进行配置,以下用 python 举例。

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"mcpServers": {
"xhs_check": {
"command": "python",
"args": [
"D:\\3code\\3Python\\python_lean\\10_mcp_server\\xhs_check_server.py"
],
"env": {
"API_KEY": "sk-***********************"
}
}
}
}

\6. 启动

添加后如果是绿色表示成功,红色可以查看提示,也可以进入日志路径查看具体报错信息,目录位置: C:\Users\Administrator\AppData\Roaming\Trae CN\logs。

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/07.png)

\7. 添加智能体

还是和 MCP 添加类似,进入到下面位置,添加个名称,勾选一下自定义的 MCP 就可以添加了。

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/08.png)

\8. 测试 MCP Server

进入到 TRAE 对话框,选择自定义的智能体,然后把小红书文本粘贴进去就可以了。

![img](/img/AI应用开发(一):TRAE下自定义MCP Server/09.jpg)

六、写在后面

如今大预言模型市场份额已基本定型,如果你是独立开发者,走 AI 应用层,MCP 是个不错的方向。当然本身 LLM 这种也就有实力或有能力的团队能抢占到不错的结果,就跟当年的云计算一样,头部的都是那些家底厚的 Team。

尽管大模型市场格局略见雏形,但各大厂依然还在为 AI 的真正商业落地不断发力,比如构建自己的生态,甚至有的还下沉到农村划油漆大字报宣传等等。由此可见,AI 应用还是可以的,所以我后面也会继续出关于 MCP、RAG、Agent 等相关的文章,当然,上一次 Spine 游戏动画的系列视频也会继续~

image-20250408192801332