AI 应用开发(一):TRAE 下自定义 MCP Server

一、前言

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

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

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

6f338ba6dd9be77e23f0af94a79888a2_up-c8051202978c45817af3b4c6bafa58fd5ab.jpg

二、MCP 简介

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

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

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

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

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

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

930a7d6447b3410c1b642cb0c63e955e_up-7d021e2c0f42e877c1f401d098f9054e6ad.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 长连接,服务器实时推送事件流。

459d727c0744752b15daa67c10e0d20c_up-eeb3ae91df580a431718b8f2b725678b67b.png

五、自定义 MCP

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

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

1. 环境准备

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

pip install "MCP[cli]"

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

#查看是否安装
pip list

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

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

3. 添加 API Key

9a2ef58195aa0dcb25eb8db54124b3e2_up-3cb7b6110ebea417b7b9c4a1d50de6b2687.png

4. 安装 dashscope

pip install dashscope

#查看列表
pip list 

5. 编码

# -*- 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()

6. TRAE 中添加 MCP

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

f5ee0cc3828f13bb0c8c07a61523e2d8_up-11dc6f33259171b07e3368e9d7439527d5e.png

c0cf79a2adfacc9e0ace43dbbdc732ee_up-c50edef3616179e172f6cf5a47ccc709d1c.png

7. MCP JSON 添加

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

{
  "mcpServers": {
    "xhs_check": {
      "command": "python",
      "args": [
        "D:\\3code\\3Python\\python_lean\\10_mcp_server\\xhs_check_server.py"
      ],
      "env": {
        "API_KEY": "sk-***********************"
      }
    }
  }
}

8. 启动

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

d09cdad1d017cd57f88828bd2fd81e27_up-9cc9ee3c0781f8dd018c9c22a817ae15006.png

9. 添加智能体

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

c7d45bd7a775fa5d5f50c55e84529681_up-7ab4dcb7567a403eeee1b6e8f7115452a02.png

10. 测试 MCP Server

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

578471123683174ee744a25b6986847b_up-5c288e3e1c6e73651593aba3f51f8719857.jpg

六、写在后面

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容