一、什么是 MCPMCP 即 Model Context Protocol模型上下文协议是给 AI 提供的标准化工具接口。通过这个接口AI 可以实现多种操作比如读取文件、查询数据库、执行命令、调用接口以及访问各类服务。二、MCP 适合用什么语言编写官方首选语言是 TypeScript简称 TS/JS上手便捷、适配性最佳。Java 也可编写但代码结构复杂、体量较重不推荐新手使用。Python 同样支持编写但在 Windsurf 生态的适配性上不如 TS 完善。三、MCP 工具的固定编写结构无论是什么功能的 MCP 工具核心都只有 4 个部分缺一不可工具名称明确 AI 调用该工具时使用的标识工具描述清晰说明工具的功能让 AI 理解其用途入参定义规定 AI 调用工具时需要传递的参数信息执行逻辑工具实现具体功能的核心代码四、MCP 编写模板TS 版// 1. 定义 MCP 工具 mcp.tool({ // // 2. 工具基本信息 // name: my_first_tool, // 工具名英文小写下划线 description: 我的第一个MCP工具, // 给AI看的说明 // // 3. 入参AI 必须传的参数 // parameters: { name: { type: string, description: 用户名称, required: true }, age: { type: number, description: 年龄 } }, // // 4. 执行逻辑真正干活 // async execute({ name, age }) { // 这里写业务代码 return 你好 ${name}你的年龄是 ${age}; } });五、实际案例读取 Java 文件的 MCPmcp.tool({ name: read_java_file, description: 读取项目中的Java文件, parameters: { filePath: { type: string, description: Java文件路径, required: true } }, async execute({ filePath }) { // 真实代码读取文件 const content fs.readFileSync(filePath, utf-8); return { path: filePath, content: content }; } });六、MCP 编写规则编写 MCP 工具需严格遵循以下规则确保 AI 能正常调用、工具稳定运行1. 工具名规范必须满足以下三点缺一不可全部为小写字母单词之间用下划线连接禁止包含空格、中文及特殊字符示例正确read_java_file错误ReadJavaFile大小写混合错误读取文件包含中文2. 参数类型规范参数必须明确标注类型常用类型如下string字符串类型number数字类型boolean布尔类型true/falsearray数组类型3. 执行函数规范执行逻辑的函数必须满足必须定义为 async execute() 异步函数返回值只能是对象或字符串不可返回其他类型函数内部需做好异常处理禁止出现报错确保工具稳定运行