AI工具集本地Node基于云端AI模型使用Stdio封装自定义MCP服务背景购买 Coding Plan 除了能替代 AI编辑器 内置 Agent 处理代码问题还可以封装自定义 MCP 服务。在 技术方案 / 代码修改 / 单元测试 / Code Review时候进行审核辅助毕竟单一模型在不同能力维度上各有侧重。搭建一个本地的自定义 MCP 服务是一个很有意义的方案本文将一步步带你配置本地版本 MCP 服务也可以学习自建MCP服务的过程和注意事项资源应用介绍Agent讯飞星辰 MaaS · Astron Coding Plan编辑器Trae其他编辑器类同服务端本地 Node 搭建 Stdio 服务1. Agent套餐Coding Plan是专为开发者打造的高性能 AI 算力订阅服务可一站式调用顶流大模型全面提效代码生产。1.1 购买套餐最主要是便宜首月3.9元不限量 https://maas.xfyun.cn/packageSubscription1.2 可用模型2. 搭建MCP服务2.1 新建文件新建一个目录并新建【package.json】【stdio.js】2.1.1 package.json{name:localmcp,version:1.0.0,description:MCP 服务调用云端 AI 模型,main:index.js,scripts:{start:stdio:node stdio.js},keywords:[],author:,license:ISC,dependencies:{modelcontextprotocol/sdk:^1.29.0,zod:^4.4.3}}2.1.2 stdio.jsstdio.js 是 MCP (Model Context Protocol) 服务的本地部署版本 。本地使用 sse 模式和本文不一致替换自己的 API_KEY若是其他平台更换 url地址 和模型ID#!/usr/bin/env nodeconst{McpServer}require(modelcontextprotocol/sdk/server/mcp.js);const{StdioServerTransport}require(modelcontextprotocol/sdk/server/stdio.js);const{z}require(zod);/** * 调用云端 AI 模型进行对话或代码生成 * param {Array{role: user|assistant, content: string}} messages - 对话消息数组 * param {Object} [options{}] - 配置选项 * param {string} [options.modelastron-code-latest] - 模型名称 * param {openai|anthropic} [options.provideropenai] - API 提供商类型 * returns {Promise{content: Array{type: string, text: string}}} AI 响应结果 * throws {Error} 当 API 请求失败或返回非 JSON 格式时抛出错误 */asyncfunctioncallAI(messages,options{}){constmaxTokens131072;constOPENAI_URLhttps://maas-coding-api.cn-huabei-1.xf-yun.com/v2/chat/completions;constANTHROPIC_URLhttps://maas-coding-api.cn-huabei-1.xf-yun.com/anthropic/v1/messages;constMODEL_IDastron-code-latest;constAPI_KEYxxxxxxxxxx;const{modelMODEL_ID,provideropenai}options;constapiUrlprovideranthropic?ANTHROPIC_URL:OPENAI_URL;constisAnthropicprovideranthropic;constbodyisAnthropic?{model,max_tokens:maxTokens,messages:messages.map(m({role:m.role,content:m.content}))}:{model,messages:messages.map(m({role:m.role,content:m.content})),max_tokens:maxTokens};constresawaitfetch(apiUrl,{method:POST,headers:{Content-Type:application/json,Authorization:Bearer${API_KEY},X-Api-Key:API_KEY,X-Language:zh-CN,...(isAnthropic?{anthropic-version:2023-06-01}:{})},body:JSON.stringify(body)});if(!res.ok){consterrTextawaitres.text();thrownewError(API${res.status}:${errText.slice(0,500)});}constcontentTyperes.headers.get(content-type)||;if(!contentType.includes(application/json)){consterrTextawaitres.text();thrownewError(API返回非JSON格式(${contentType}):${errText.slice(0,200)});}constdataawaitres.json();if(isAnthropic)return{content:[{type:text,text:data.content?.[0]?.text||}]};return{content:[{type:text,text:data.choices?.[0]?.message?.content||data.choices?.[0]?.message?.reasoning_content||JSON.stringify(data)}]};}/** * 创建 MCP 服务器实例 * description 定义服务名称和版本号用于与客户端建立通信 */constservernewMcpServer({name:agentmcp,version:1.0.0});/** * 注册 chat 工具 * description 提供调用云端 AI 模型进行对话或代码生成的能力 * 支持 OpenAI 和 Anthropic 兼容接口 * param {messages} 对话消息数组支持 user/assistant 角色 * param {model} [可选] 指定使用的模型名称默认 astron-code-latest * param {provider} [可选] API 提供商类型openai 或 anthropic */server.tool(chat,调用云端 AI 模型进行对话或代码生成支持 OpenAI 和 Anthropic 兼容接口,{messages:z.array(z.object({role:z.enum([user,assistant]),content:z.string()})),model:z.string().optional().describe(模型名称默认 astron-code-latest),provider:z.enum([openai,anthropic]).optional().describe(API 提供商默认 openai)},async({messages,model,provider}){try{returnawaitcallAI(messages,{model,provider});}catch(err){return{content:[{type:text,text:[ERROR]${err.message}}],isError:true};}});/** * 启动 MCP 服务器并监听 stdio 传输 * 通过标准输入输出与客户端进行通信 * returns {Promisevoid} */asyncfunctionmain(){consttransportnewStdioServerTransport();awaitserver.connect(transport);}/** * 启动 MCP 服务器 * description 调用 main 函数启动服务捕获并输出异常信息到控制台 */main().catch(console.error);2.2 配置本地服务端安装依赖不需要运行不需要运行不需要运行npminstall3. 编辑器调用MCPJSON 数据{mcpServers:{localmcp:{command:node,args:[/Users/mr.w/object/localmcp/stdio.js]}}}注意若是配置【node】后运行失败则使用本地node查询使用全链接whichnode效果4. 测试功能发送一条对话消息测试 MCP 服务功能。恭喜搭建完毕现在你可以在公司或家中调用该服务了。5. 调用建议在编辑器定义【个人规则】或 【项目规则】约定自动触发时机 和 内容避免每次还要在对话框内说明调用比较麻烦优先级权重对话框 项目规则 个人规则宝塔面板基于云端AI模型使用SSE封装自定义MCP服务 https://blog.csdn.net/weixin_44461275/article/details/161430697