从零开始开发一个 MCP Server!
大家好!我是韩老师。
最近,在 AI 开发领域,MCP (Model Context Protocol) 是越来越火了!
前几天,我我也开发了一款 Code Runner MCP Server:
今天,我就把我开发 MCP Server 的经验和遇到的一些坑,分享给大家!
以 Node.js 为例,让韩老师带领大家从零开始开发一个属于你的 MCP Server!
安装 Node.js
从 https://nodejs.org/en 安装 LTS 版的 Node.js 即可。
安装 Scaffolding Tool
在命令行运行下面命令,安装 Yeoman Generator for MCP Server:
npm install -g yo generator-mcp
创建 MCP Server 项目
在命令行运行下面命令,创建 MCP Server 项目:
yo mcp -n 'Weather MCP Server'
实现代码逻辑
generator-mcp 已经把全部需要的代码框架和依赖都生成和安装了。
你可以按需修改代码,或者利用已有的代码直接进行调试和测试。
调试/测试
generator-mcp 已经配置好了 VS Code 的调试配置文件:launch.json 和 tasks.json
在 VS Code 中打开项目,按 F5 就能一键启动调试!
稍等片刻,浏览器自动打开 MCP Inspector 后,就能进行测试了!

运行
此外,你还可以在其他支持 MCP 的客户端中,测试你的 MCP Server。
generator-mcp 已经默认创建了 .vscode\mcp.json 文件,这个文件定义了在 VS Code 运行的 MCP Server。

注:需从 https://code.visualstudio.com/insiders/ 下载最新版本的 VS Code Insiders。
安装好最新的 VS Code Insiders 版本,点击 “start” 按钮,就能在 VS Code Insiders 的 Agent Mode 调用你的 MCP Server 啦!


发布
测试完成后,就可以把你的 MCP Server 发布到 npm registry 或者 Docker Hub 了!
关于 Dockerfile 怎么写,以及如何在 VS Code、Claude Desktop 等客户端配置 MCP Server,还有 npx 可能在 Windows 上运行失败的问题,都可以参考 Code Runner MCP Server 的 README 和源代码,完全开源:
https://github.com/formulahendry/mcp-server-code-runner
好啦!大功告成!如果还有什么问题的话,欢迎评论区留言!
从零开始开发一个 MCP Server!的更多相关文章
- 从零开始, 开发一个 Web Office 套件 (2): 富文本编辑器
书接前文: 从零开始, 开发一个 Web Office 套件 (1): 富文本编辑器 这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Of ...
- 从零开始, 开发一个 Web Office 套件 (3): 鼠标事件
这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office 套件, 包括: 文档, 表格, 幻灯片... 等等. 对应的Github r ...
- 从零开始, 开发一个 Web Office 套件(4):新的问题—— z-index
<从零开始, 开发一个 Web Office 套件>系列博客目录 这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office ...
- 《从零开始, 开发一个 Web Office 套件》系列博客目录
这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office 套件, 包括: 文档, 表格, 幻灯片... 等等. 对应的Github r ...
- 如何用Eggjs从零开始开发一个项目(2)
在上一篇文章,我们已经使用Sequelize连接上了数据库,并能进行简单的数据库操作,在此基础上,我们试着来开发一个完整的项目.这篇文章我们从用户的注册.登录着手,试着开发用户模块的相关的代码. 用户 ...
- 从零开始, 开发一个 Web Office 套件 (1): 富文本编辑器
这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office 套件, 包括: 文档, 表格, 幻灯片... 等等. 富文本编辑器 万里长征 ...
- 从零开始发布一个ArcGIS Server地图服务
@ 目录 一.软件环境搭建 1.数据库安装 1.1.Oracle(可选) 1.1.1.安装Oracle服务端 1.1.2.安装Oracle客户端 1.2.PostgreSQL(可选) 1.2.1.安装 ...
- phaser3入门教程-从零开始开发一个打砖块游戏
项目代码 项目代码 体验一下 空格开始,左右箭头控制移动 体验一下 Phaser简介 Phaser是一个HTML5游戏框架.它使用了许多HTML5 API,例如Canvas,WebGL,Audio,G ...
- 如何用Eggjs从零开始开发一个项目(1)
前言 "纸上得来终觉浅,绝知此事要躬行."虽然node一直在断断续续地学,但总是东一榔头西一榔头的,没有一点系统,所以打算写一个项目来串联一下之前的学习成果. 为什么选择Eggjs ...
- [iOS]从零开始开发一个即时通讯APP
前言 这是我的毕业设计.刚开始确定这个课题的时候是因为以前有稍微研究过一些XMPP协议,在这个基础上做起来应该不难.然后开始选技术的时候还有半年,我想为什么不从更底层做起呢!那就不用XMPP,当时接触 ...
随机推荐
- minimind复现记录
- 在jooq的POJO类中使用Lombok的Data注解
jooq生成pojo类的配置根据官方给的如下: https://www.jooq.org/doc/3.14/manual/getting-started/tutorials/jooq-in-7-ste ...
- AI Editor 真的被惊到了
引言 AI 辅助编程工具层出不穷,也尝试过不少 AI 编程辅助工具,但效果都不太理想,提示的代码命中率并不高,但却严重影响了编码的流畅性,并且聊天对话的时候,多数都需要手动引用代码,即使引用了代码,也 ...
- 老奶奶看了都会的WSL2连接USB设备教程!
老奶奶看了都会的WSL2-Ubuntu连接USB设备教程! 作者:SkyXZ CSDN:SkyXZ--CSDN博客 博客园:SkyXZ - 博客园 参考资料:微软官方文档连接 USB 设备 | Mic ...
- C# 给当前程序创建桌面快捷方式
C# 给当前程序创建桌面快捷方式 //by wgscd //date 2024-10-22 using System; using System.Reflection; using System.IO ...
- Win2D 投影效果 ShadowEffect
<Page x:Class="Win2DDemo.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/ ...
- 轮播图,swiper使用
背景: 最近接到一个需求,重写首页,需要用到轮播图. 但是轮播图只用两张图,此为前提. 本想直接用ElementUI的走马灯,但是只用两张图的情况下,走马灯不能循环播放,只能来回播放,公司的UI小姐姐 ...
- 一镜到底,通过Llama大模型架构图看透transformers原理
一镜到底,通过Llama大模型架构图看透transformers原理 Llama Nuts and Bolts是Github上使用Go语言从零重写Llama3.1 8B-Instruct模型推理过程( ...
- 认识soui4js(第5篇):使用扩展控件
无论内置控件多么丰富,也不可能满足用户所有需求.总有时候用户需要自己扩展控件. soui4js推荐使用C++来扩展控件,然后通过实现一个js模块来提供js使用. 扩展控件通常涉及到图形上下文的频繁交互 ...
- 第15章 流与IO
第15章 流与IO 15.1 .NET 流的架构 .NET 流的架构主要包含三个概念:** 后台存储 . 装饰器 以及 流适配器 **,如图所示: C7.0 核心技术指南 第7版.pdf - p655 ...