news 2026/5/25 9:48:57

入门】使用Node.js开发一个MCP服务器(STDIO方式)介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
入门】使用Node.js开发一个MCP服务器(STDIO方式)介绍

CP(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 node

import { 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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 5:50:11

实现一个深拷贝函数

基础问答问:知道浅拷贝和深拷贝吗?为什么要用深拷贝?答:拷贝,可以认为是赋值,对于 JavaScript 中的基础类型,如 string, number, null, boolean, undefined, symbol 等,在赋值给一个…

作者头像 李华
网站建设 2026/5/24 0:07:07

AI视频生成技术原理与行业应用 - AI视频技术原理与架构

AI视频技术原理与架构一、AI视频生成的核心逻辑与完整流程1. 核心定义:什么是AI视频生成模型?2. 完整流程:从数据到视频的四步走二、技术范式演进:从早期探索到主流架构1. 四大基础技术范式对比2. 范式演进时间线3. 主流架构&…

作者头像 李华
网站建设 2026/5/25 8:10:54

全新首发:考虑多尺度序列间相关性的多元时间序列预测。 结合了频域分析和自适应图卷积算法,效果显...

全新首发:考虑多尺度序列间相关性的多元时间序列预测。 结合了频域分析和自适应图卷积算法,效果显著 特点如下: 1.这是一种先进的深度学习模型,旨在利用频域分析和自适应图卷积捕捉多个时间尺度上不同的序列间相关性。 通过利用频…

作者头像 李华
网站建设 2026/5/26 1:12:54

经典低压带隙基准Banba的探索

经典低压带隙基准Banba,电流模结构,有版图 VDD=1.5V,输出为890mv,前仿真ppm为22.7,想要别的电压值可以自己再做调整 工艺是smic130nm 包含两个bandgap电路在里面,有一个是有完整版图&#xff0c…

作者头像 李华
网站建设 2026/5/25 13:15:49

必看!这几家性价比超高的音乐喷泉企业,你知道吗?

《音乐喷泉哪家好:排名前五深度测评》开篇:定下基调在城市的夜晚,音乐喷泉那灵动的水幕在灯光与旋律中翩翩起舞,成为了一道亮丽的风景线。越来越多的场所希望引入音乐喷泉来增添氛围和吸引力,因此对音乐喷泉产品的选择…

作者头像 李华