微信 SDK Senparc.AI MCP 打造微信 AI 开发助手二在 Cursor、VS Code 等 IDE 中自动编写引言从“手动开发”到“AI 自动编码”还记得上一篇文章中我们如何用微信 SDK 和 Senparc.AI 搭建了一个能自动回复消息的微信机器人吗当时我们手动写了大量代码配置消息处理、调用 AI 接口、返回响应……虽然功能实现了但如果你是一个追求效率的开发者肯定会想“能不能让 AI 直接帮我写这些代码” 答案是能借助 MCPModel Context Protocol模型上下文协议我们可以让 AI 助手比如 Cursor、VS Code 中的 Copilot直接理解你的项目结构并自动生成符合微信 SDK 规范的代码。本文将带你一步步实现这个“偷懒”的梦想。## 什么是 MCP为什么它能让 AI 自动写代码MCP 是 Anthropic 提出的一种协议它允许 AI 模型如 Claude、GPT与外部工具或代码库进行交互。简单来说MCP 就像一个“桥梁” -AI 模型负责理解需求、生成代码。 -MCP 服务器暴露项目中的 API、类库、文档等信息。 -IDE 客户端Cursor/VS Code通过 MCP 协议获取这些信息辅助 AI 生成更准确的代码。 例如当你在 Cursor 中要求“用微信 SDK 创建一个发送文本消息的函数”AI 会通过 MCP 查询到Senparc.Weixin.MP.Containers和Senparc.Weixin.MP.AdvancedAPIs的用法然后自动生成代码。 ## 准备工作搭建 MCP 环境### 1. 安装 MCP 客户端插件在 VS Code 中安装MCP Client扩展如果你使用 Cursor它已内置 MCP 支持。小技巧在 Cursor 中按CtrlShiftP搜索“MCP: Add Server”即可配置你的项目。### 2. 创建 MCP 服务器我们需要一个 MCP 服务器来暴露微信 SDK 的相关信息。这里我用 Python 写一个简单的服务器因为 Senparc.AI 支持多语言但微信 SDK 核心是 C#不过 MCP 是语言无关的。python# mcp_wechat_server.py# 这是一个 MCP 服务器用于暴露微信 SDK 的常用功能到 AI 模型from mcp.server import Server, NotificationOptionsfrom mcp.server.models import InitializationOptionsimport mcp.server.stdio# 创建 MCP 服务器实例server Server(wechat_sdk_server)# 定义一个工具获取微信 SDK 的发送文本消息模板server.list_tools()async def handle_list_tools() - list: return [ { name: get_send_text_template, description: 获取微信发送文本消息的代码模板基于 Senparc.Weixin.MP, inputSchema: { type: object, properties: { accessToken: {type: string, description: 微信 access_token}, openId: {type: string, description: 用户 openId}, content: {type: string, description: 消息内容} }, required: [accessToken, openId, content] } } ]# 实现工具的逻辑返回 C# 代码模板server.call_tool()async def handle_call_tool(name: str, arguments: dict) - str: if name get_send_text_template: access_token arguments[accessToken] open_id arguments[openId] content arguments[content] # 返回一个完整的 C# 代码模板 code_template f// 使用 Senparc.Weixin.MP 发送文本消息public async Task SendTextMessageAsync(string accessToken, string openId, string content){{ var accessTokenContainer AccessTokenContainer.GetAccessTokenResult(accessToken); var result await CustomApi.SendTextAsync(accessTokenContainer.access_token, openId, content); return result;}} return code_template# 启动服务器async def main(): async with mcp.server.stdio.stdio_server() as (read_stream, write_stream): await server.run( read_stream, write_stream, InitializationOptions( server_namewechat_sdk_server, server_version1.0.0, ), )if __name__ __main__: import asyncio asyncio.run(main())### 3. 在 IDE 中配置 MCP在 Cursor 中打开 Settings - MCP Servers添加服务器地址例如http://localhost:8000。注意实际使用时建议将 MCP 服务器部署在本地或云服务器上并确保 IDE 能访问到。## 实战让 AI 在 Cursor 中自动编写微信消息回复代码### 场景自动生成“关注回复”功能假设你的微信公众账号需要当用户关注时自动发送一条欢迎消息。传统做法是手动写代码但现在我们只需在 Cursor 中输入 prompt。### 步骤 1在 Cursor 中描述需求打开 Cursor新建一个 C# 文件输入以下注释或直接使用对话功能// 我需要一个微信关注回复功能用户关注后自动发送“欢迎关注回复【帮助】获取菜单”// 使用 Senparc.Weixin.MP 的 CustomApi 和 MessageHandler### 步骤 2AI 自动生成代码借助 MCPCursor 通过 MCP 服务器获取到微信 SDK 的模板信息然后生成如下代码csharpusing Senparc.Weixin.MP.AdvancedAPIs;using Senparc.Weixin.MP.MessageHandlers;using Senparc.Weixin.MP.Entities;// 自定义消息处理器public class CustomMessageHandler : MessageHandlerCustomMessageContext{ public override async TaskIResponseMessageBase OnTextRequestAsync(RequestMessageText requestMessage) { // 处理用户文本消息 var responseMessage CreateResponseMessageResponseMessageText(); responseMessage.Content 你发送了 requestMessage.Content; return responseMessage; } public override async TaskIResponseMessageBase OnEvent_SubscribeRequestAsync(RequestMessageEvent_Subscribe requestMessage) { // 关注事件自动回复欢迎消息 var responseMessage CreateResponseMessageResponseMessageText(); responseMessage.Content 欢迎关注回复【帮助】获取菜单。; // 可选记录用户信息到数据库 await LogUserSubscriptionAsync(requestMessage.FromUserName); return responseMessage; } private async Task LogUserSubscriptionAsync(string openId) { // 这里可以调用你的数据库服务 // 例如await _dbContext.Users.AddAsync(new User { OpenId openId, SubscribeTime DateTime.Now }); Console.WriteLine($用户 {openId} 已关注); }}AI 的聪明之处它自动识别了OnEvent_SubscribeRequestAsync方法这是 Senparc.Weixin.MP 中处理关注事件的标准接口。背后MCP 服务器提供了这些 API 的文档和示例。### 步骤 3集成 Senparc.AI 实现智能回复现在我们让 AI 自动生成“智能回复”代码。在 Cursor 中继续输入// 在上面的 OnTextRequestAsync 中集成 Senparc.AI 的聊天功能// 使用 Senparc.AI.Kernel 调用 GPT 模型AI 会生成如下代码csharpusing Senparc.AI.Kernel;using Senparc.AI.Entities;public class AIResponseHelper{ private readonly SenparcAiKernel _kernel; public AIResponseHelper() { // 初始化 Senparc.AI Kernel假设配置了 OpenAI API Key _kernel new SenparcAiKernel(new SenparcAiSetting { ApiKey your-api-key-here, Model gpt-3.5-turbo }); } public async Taskstring GetAIResponseAsync(string userMessage) { // 调用 AI 模型生成回复 var result await _kernel.ChatAsync(new ChatRequest { Messages new ListChatMessage { new ChatMessage { Role user, Content userMessage } } }); return result.Content; }}// 在 CustomMessageHandler 中使用public override async TaskIResponseMessageBase OnTextRequestAsync(RequestMessageText requestMessage){ var aiHelper new AIResponseHelper(); var aiReply await aiHelper.GetAIResponseAsync(requestMessage.Content); var responseMessage CreateResponseMessageResponseMessageText(); responseMessage.Content aiReply; return responseMessage;}关键点AI 自动处理了 Senparc.AI 的Kernel初始化、API 调用和异常处理。你只需提供 API Key。## 进阶自定义 MCP 工具让 AI 更懂你的业务默认的 MCP 服务器只暴露了通用模板。如果你的项目有特殊需求比如查询订单、发送模板消息可以自定义 MCP 工具。### 示例添加“发送模板消息”工具在 MCP 服务器中新增pythonserver.list_tools()async def handle_list_tools() - list: # 保留之前的模板工具添加新的 return [ # ... 之前的工具 { name: send_template_message, description: 发送微信模板消息基于 Senparc.Weixin.MP, inputSchema: { type: object, properties: { accessToken: {type: string}, openId: {type: string}, templateId: {type: string}, data: {type: object, description: 模板数据如 {\first\: {\value\:\标题\}}} }, required: [accessToken, openId, templateId, data] } } ]server.call_tool()async def handle_call_tool(name: str, arguments: dict) - str: if name send_template_message: # 返回完整的 C# 代码 return f// 发送模板消息public async Task SendTemplateMessageAsync(string accessToken, string openId, string templateId, object data){{ var result await TemplateApi.SendTemplateMessageAsync(accessToken, openId, templateId, data); return result;}}然后在 IDE 中你只需说“帮我写一个发送订单通知的模板消息”AI 就会自动调用这个工具生成代码。## 总结通过微信 SDK Senparc.AI MCP 的三方组合我们实现了从“手动编码”到“AI 自动生成”的飞跃1.MCP 解决了信息孤岛问题AI 不再“凭空”生成代码而是基于真实的 SDK 文档和项目结构。2.Senparc.AI 提供了智能内核让微信机器人具备对话能力而 MCP 让这个能力可被 AI 编程助手直接调用。3.Cursor/VS Code 成为你的“AI 副驾驶”只需用自然语言描述需求代码自动生成且规范。下一步你可以尝试将 MCP 服务器扩展到数据库访问、第三方 API 集成等让 AI 自动完成更多重复性工作。记住工具越完善AI 越强大——而这一切只需要你写一次 MCP 服务器配置。现在打开你的 IDE试试看让 AI 帮你生成一个“消息转发到企业微信”的功能吧