搭建自己的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端全流程系统。

相关推荐
算法&大模型备案-考拉17 小时前
全国算法、大模型备案 奖励补贴政策整理(2026年1月)
人工智能·aigc·大模型备案·算法备案·算法备案奖励政策·大模型备案奖励政策·大模型登记
齐鲁大虾17 小时前
2026高考生填报志愿是保专业还是保学校
大数据·人工智能
guoketg17 小时前
Vision Transformer(ViT)的讲解和面试题目讲解
人工智能·python·深度学习·vit
Dontla17 小时前
Mock Interview模拟面试,20260108,MNC第二面技术面,AI Engineer
人工智能·面试·职场和发展
小咖自动剪辑17 小时前
免费超强图片压缩工具:批量操作 + 高效传输不失真
人工智能·音视频·语音识别·实时音视频·视频编解码
Zsr102317 小时前
Rancher:一站式Kubernetes管理平台,让容器运维更简单
运维·kubernetes·rancher
山峰哥17 小时前
3000字深度解析:SQL调优如何让数据库查询效率提升10倍
java·服务器·数据库·sql·性能优化·编辑器
纠结哥_Shrek17 小时前
不均衡分布原则进行选品
大数据·人工智能
北京耐用通信17 小时前
耐达讯自动化“通关文牒”:Canopen转Profibus网关,贴片机的“协议通关秘籍”
人工智能·科技·网络协议·自动化·信息与通信