当前位置: 首页 > news >正文

【入门】使用Node.js开发一个MCP服务器

介绍

一个小小后端码农,研究了一下午,终于搞明白怎么开发一个nodeJs的MCP服务器,特写成一篇粗略的博客,供大家参考。

MCP 是什么?

MCP(Model Control Protocol)是一个标准化接口协议,用于定义AI工具的功能和参数格式。它允许AI以标准方式调用各种工具,例如通过定义参数格式(如城市名称)来获取城市天气信息。当用户请求查询北京天气时,AI会按照MCP标准参数格式组装参数,调用MCP服务器执行相应功能,并处理返回结果。

开发MCP服务器(Node.js方式)

提示:首先需要下载安装nodeJs

下边我将带你开发一个简单的MCP服务器:

文件结构

3bc543b87ec00df5f2d5f2d2c47c7411

package.json 文件:

{"name": "mcp-test","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC","dependencies": {"@modelcontextprotocol/sdk": "^1.20.2","zod": "^3.23.8"},"type": "module"
}

demo-server.js:

#!/usr/bin/env nodeimport { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";const server = new McpServer({name: "demo_service",version: "1.0.0"
});server.tool("say_hello",{needShowMeText: z.string().describe("想要展示的话")},async ({ needShowMeText }) => {try {// 返回成功响应return {content: [{ type: "text", text: 'Hello =>' + needShowMeText }]};} catch (error) {// 错误处理return {content: [{ type: "text", text: `失败: ${error.message}` }],isError: true};}}
);async function main() {try {console.log("MCP服务器启动中...");const transport = new StdioServerTransport();await server.connect(transport);console.log("MCP服务器已启动并等待连接");} catch (error) {console.error("启动服务器时出错:", error);process.exit(1);}
}main();

在根目录下,cmd 命令框输入 npm install 进行安装相关依赖:

8061b24924ec9ab2707c51d6cd8146b2

使用node ./dist/demo-service.js 测试是否可以启动成功

e161f2bcd7aed04583db05305710a9fd

使用官方工具测试

使用 mcp-inspector 进行测试,打开新终端输入以下命令:

npx @modelcontextprotocol/inspector

50876d5489520ea3396c72853a143867

按图中步骤输入各项参数:

41882acefcfebe505af194abc453f2ce

527a46109cfed5c0da4244b3148f9eb1

看到Tool Result: Success便成功了

Qoder、IDEA等代码编辑器集成MCP服务器

打开 文件 -> 首选项 -> Qoder 设置 -> MCP服务 -> +添加


{"mcpServers": {"mcp本地测试3": {"name": "mcp本地测试3","command": "node","args": ["G:\\Dev\\Code\\TestSource\\mcp-test\\dist\\demo-server.js"]}}
}

1a5a4fd90635488744ac0d4b7a45d094

这样MCP安装便成功了!

使用

新建会话窗口,输入 使用 say_hello 工具告诉我world

bb9ff338aa603cbe76fe60b0467e62b0

总结

MCP 有什么作用呢?我个人理解的是它可以更加精准控制程序的中间执行过程,准确地获取数据,然后使用AI能力进行分析。比如,我们需要获取北京今天的天气,如果没有MCP服务器,服务器可能会从海量的网页中寻找数据/接口,我们无法控制最终获取的结果。如果我们不能控制数据源的准确性,那么后续的分析过程也没有任何意义。

MCP服务就是封装了一个个接口的服务器,我们可以从接口获取我们想要的准确数据,然后通过AI的理解能力,幻化出各种各样的效果,MCP服务器开发过程,就是按MCP标准封装一个个接口。

http://www.sczhlp.com/news/257837/

相关文章:

  • AI学习机是“智商税”吗?2025年各价位主流品牌选购指南
  • Multisim保姆级图文下载安装教程包含下载、安装、汉化、激活
  • A39C-T400A22D1a Lora通讯模块的命令配置示例记录
  • 黄页公司网络seo优化平台
  • 叫人做网站多少钱wordpress 链接 弹窗
  • 做电商有那个网站腾讯轻量应用服务器建站模板
  • 个人免费建网站方法景区电子商务网站建设
  • 做网站找个人企业做网站优点
  • 关于网站建设管理的规定秦皇岛网站制作人才招聘
  • 怎么查找网站备案主体wordpress如何加html代码
  • 网站域名 格式代做ppt平台
  • 网站的流量有什么用电子商务网站开发与设计项目管理
  • 如何用h5做网站苏州网站建设自助建站模板
  • 张掖网站建设公司网站建设解决问题
  • 网站续费申请wordpress 微信登录界面
  • 合肥建设学校官网网站天猫商城官网首页
  • 卓伊科技网站建设网站开发专业成功人士
  • 互联网营销的优点班级优化大师官网
  • wordpress 点赞代码深圳网站建设网站排名优化
  • 六安市城市建设档案馆网站海安企业网站建设
  • 如何查公司网站开发时间网站建设彩票网
  • 名字设计网站做苗木网站哪家做得好
  • 做推广的网站带宽需要多少钱嘉兴网站建设定制
  • 手游做网站推广应该怎么做如何将网站加入百度图 推广
  • 网站界面设计简单软件开发专业课程有哪些
  • 做网站的图片是怎么做的广告设计公司简介文案
  • 深圳网站建设模板乐云seo中国水电建设集团港航建设有限公司网站
  • 网站建设调查的问卷启博云微分销
  • 高级语言程序设计作业3
  • P14359 [CSP-J 2025 T3] 异或和 ← 前缀异或和