搭建自己的MCP服务器

今年以来,AI越来越普及,大家都对此领域好奇,探索,然后却被那些晦涩的术语和复杂的协议挡在门外,不明所以,今天昨们就来从概念说起,然后动手搭建一个自己的MCP服务器,彻底深入这片神秘的海洋。

1. 从基础概念入手,聊聊是什么和为什么

在开始动手之前,让我们先花几分钟弄清楚一些概念,并明白我们究竟在要做什么,以及它的意义所在。

1.1 大语言模型(Large Language Model,LLM)

  • 大语言模型,顾名思义,就是一个只能处理和输出文字的系统。

  • 早期的大语言模型,输出非常不稳定,准确率很低,经常"一本正经地胡说八道",所以,人们最多把它当成一个顾问:咨询意见,但不敢让它直接拍板决策或上手干活。

  • 但是,AI 技术发展飞快,随着模型参数规模的扩大和训练方法的革新,语言模型的「智力」得到了肉眼可见的提升。人们惊喜地发现,AI 写出的文案、给到的建议、生成的代码,几乎不需要修改就能直接使用了!眼看着 AI 越来越靠谱,一种想法自然而然地浮现出来:既然大模型这么能干,是时候解开 AI 的禁锢,让它不只能「动动嘴」,也能「动动手」了?

1.2 于是诞生了MCP

  • MCP是一套定义大模型如何发现、理解和调用外部工具(或称服务)的标准协议
  • 它明确了两个核心角色:
  • MCP Client(客户端): 通常是使用工具的一方。一般是 AI 应用,比如 Claude 客户端、Cursor 编程工具等。

  • MCP Server(服务端): 也就是提供工具的一方。任何拥有 API 或软件服务的公司,都可以按照 MCP 规范把自己包装成一个 MCP Server,把原来给人用的工具,改造成能让 AI 理解和调用的工具。

1.3 为什么要自己搭建MCP服务器?

  • 你可能会想,直接用现成的工具不好吗?为什么要自己搭建?

  • 当然,初期学习时,可以直接用现成的,但是And然后,做为好学、上进、求知欲爆棚的你就开始想如何自己搭建了!

  • 自己搭建,意味着你可以:

    • 实现上下文自由:让你的AI助手在不同软件(如Cursor、Claude Code)间穿梭时,依然记得你的习惯和需求,不再需要你反复解释。

    • 创造无限可能:你可以让它连接你的个人笔记、专属数据库、甚至公司的内部系统,打造出完全为你服务的"数字员工"。

    • 掌握未来主动权:在AI技术日新月异的今天,理解并掌握了底层原理,你就拥有了不被时代抛下的底气。

  • 好了,你是不是已经跃跃欲试了?那就让我们挽起袖子,加油干吧!

2. 准备环境

  • 在开始之前,我们需要将环境准备好。

2.1 安装 Node.js

  • 访问 Node.js 官网

  • 下载并安装最新的 LTS(长期支持版)版本,现在是22.19.0。

  • 安装完成后,打开你的终端,输入命令 node -v 和 npm -v 。如果它们都显示出版本号,就证明安装成功了。

  • Note:如果您目前环境上已经安装过Node了,建议重新安装最新版本的,因为老版本可能会存在某些特性不存在导致出错的情况,比如 MCP Inspector 就对版本有要求。

2.2 选择一个代码编辑器

  • 你需要一个写代码的工具。比如 Visual Studio Code (VSCode),它免费、强大且对新手友好。

  • 访问 VSCode 官网

  • 下载并安装它

3. 创建MCP Server

  • 我们将创建一个最简单的MCP服务器,它只做一件事:输出Hello World!。

  • 虽然很俗,但这是伟大征程的起点。

3.1 创建项目目录

复制代码
mkdir mcpServer && cd mcpServer

3.2 初始化项目

现在,让我们初始化一个Node.js项目,它会为我们生成一个配置文件。

复制代码
npm init -y

3.3 安装依赖

MCP的官方SDK(软件开发工具包)是我们最重要的工具。我们来安装它。

复制代码
npm install @modelcontextprotocol/sdk

3.4 创建核心代码文件

  • 打开VSCode,然后打开你刚刚创建的 mcpServer 文件夹

  • 在项目根目录下,创建一个名为 src 的文件夹

  • 在 src 文件夹下,创建一个文件: index.ts

3.5 编写MCP Server代码实现 "Hello World!"

复制代码
// 1. 导入依赖
import { McpServer } from"@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from"@modelcontextprotocol/sdk/server/stdio.js";

// 2. 创建服务器实例
export const server =new McpServer({
        name: "my-mcp-server", // 给你的服务器起个名字
        version: "0.0.1", // 版本号
});

// 3. 定义一个工具(Tool):起名叫 "say_hello"
server.tool(
        "say_hello", // 工具的名称
        { }, // 输入参数,这里为空
        async ()=> {
                return {
                        content: [{ type: "text", text: "Hello, World! From my first MCP server!" }],
                };
        }
);

// 4. 启动服务器
async function main(): Promise<void> {
        const transport = new StdioServerTransport();
        await server.connect(transport);
}

// 5. 执行启动
main().catch((error: Error) => {
        console.error("Server startup failed:", error);
        process.exit(1);
});

3.6 编译并运行

  • 在终端中,确保你的位置在 mcpServer 目录下。

  • 运行以下命令来编译TypeScript代码:

    npx tsc src/index.ts --outDir build --target ES2020 --module commonjs

编译成功后,你会看到一个 build 文件夹,里面有一个 index.js 文件。现在,运行它!

复制代码
node build/index.js
  • 现在,你的服务器已经在运行了!它正在默默地等待它的第一个客户。虽然你现在在终端里看不到任何输出,但它已经准备好了。要测试它,我们需要一个"客户"。

4. 使用 Client 测试与调试你的MCP Server

  • 我们使用Anthropic官方提供的 MCP Inspector 来测试我们的服务器。它就像一个"客户端模拟器"。

4.1 启动 MCP Inspector

  • 打开一个新的终端窗口(让刚才运行服务器的终端继续保持运行),输入以下命令:

    无需手动安装,直接使用 npx 运行 Inspector,连接到你的 MCP 服务器

    npx @modelcontextprotocol/inspector node build/index.js

4.2 测试MCP Server

  • 几秒钟后,你的浏览器会自动打开一个本地页面(通常是 http://localhost:6274 ),这就是MCP Inspector的操作界面。
  • 在界面中,你应该能看到左侧有一个connect,点击就连接到了你的服务器上。

  • 按照下图所示,依次点击 list tool -> say_hello -> Run Tool

  • 奇迹发生了!在右侧的 Tool Result 中,你应该能看到服务器执行成功,并返回的消息: "Hello, World! From m y first MCP server!"

恭喜,你已经成功地创建并运行了你的第一个MCP 服务器

5. 深度探索MCP - 无限机遇等着你

通过以上的示例,你的第一个MCP服务器已经运行起来了,接下来可以尝试添加更多的功能,实现本地资源的私密读取,然后再将你的服务配置到 CursorCherry Studio 中,让你常用的AI助手真正调用你的专属工具。

6. 参考

7. 团队介绍

三翼鸟数字化技术平台-应用软件框架开发」主要负责设计工具的研发,包括营销设计工具、家电VR设计和展示、水电暖通前置设计能力,研发并沉淀素材库,构建家居家装素材库,集成户型库、全品类产品库、设计方案库、生产工艺模型,打造基于户型和风格的AI设计能力,快速生成算量和报价;同时研发了门店设计师中心和项目中心,包括设计师管理能力和项目经理管理能力。实现了场景全生命周期管理,同时为水,空气,厨房等产业提供商机管理工具,从而实现了以场景贯穿的B端C端全流程系统。

相关推荐
水如烟7 小时前
孤能子视角:“组织行为学–组织文化“
人工智能
大山同学7 小时前
图片补全-Context Encoder
人工智能·机器学习·计算机视觉
薛定谔的猫19827 小时前
十七、用 GPT2 中文对联模型实现经典上联自动对下联:
人工智能·深度学习·gpt2·大模型 训练 调优
树℡独7 小时前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
壮Sir不壮7 小时前
2026年奇点:Clawdbot引爆个人AI代理
人工智能·ai·大模型·claude·clawdbot·moltbot·openclaw
PaperRed ai写作降重助手7 小时前
高性价比 AI 论文写作软件推荐:2026 年预算友好型
人工智能·aigc·论文·写作·ai写作·智能降重
玉梅小洋7 小时前
Claude Code 从入门到精通(七):Sub Agent 与 Skill 终极PK
人工智能·ai·大模型·ai编程·claude·ai工具
-嘟囔着拯救世界-8 小时前
【保姆级教程】Win11 下从零部署 Claude Code:本地环境配置 + VSCode 可视化界面全流程指南
人工智能·vscode·ai·编辑器·html5·ai编程·claude code
正见TrueView8 小时前
程一笑的价值选择:AI金玉其外,“收割”老人败絮其中
人工智能
小小管写大大码8 小时前
如何让vscode变得更智能?vscode接入claude实现自动编程
运维·ide·vscode·自动化·编辑器·ai编程·腾讯云ai代码助手