MCP示例服务器
一个实现了模型上下文协议(MCP)软件开发工具包(SDK)的演示服务器,提供用于服务器发送事件和消息处理的工具和端点。
服务介绍
Hello World MCP 服务器
欢迎来到 Hello World MCP 服务器!该项目演示了如何使用 Model Context Protocol (MCP) SDK 设置服务器。它包括用于处理服务器发送事件 (SSE) 和消息的工具、提示和端点。
该项目是博客文章的一部分:构建 TypeScript MCP 服务器:集成现有服务的指南。访问该博客以了解更多关于该项目背后的概念和实现细节。
特性
- MCP 集成:使用 MCP SDK 创建带有工具和提示的服务器。
- Express 框架:处理 SSE 和消息通信的 HTTP 端点。
- 环境配置:使用
.env文件进行简单配置。 - TypeScript 支持:完全类型化的代码库,提供更好的开发体验。
前提条件
在开始之前,请确保已安装以下软件:
- Node.js(v16 或更高版本)- 在此下载
- npm(随 Node.js 提供)或 yarn
开始使用
按照以下步骤设置并运行项目:
1. 克隆仓库
如果还没有克隆仓库,请将其克隆到本地机器:
git clone https://github.com/your-username/hello-world-mcp-server.git
cd hello-world-mcp-server
2. 安装依赖
使用 npm 或 yarn 安装所需的依赖项:
npm install
或者
yarn install
3. 配置环境变量
该项目使用 .env 文件来配置服务器端口。提供了示例 .env.example 文件。
-
将
.env.example文件复制为.env:cp .env.example .env -
打开
.env文件,并根据需要更新PORT变量。默认值为4000。PORT=4000
4. 构建项目
将 TypeScript 代码编译为 JavaScript:
npm run build
这将在 dist 目录中生成编译后的文件。
5. 运行服务器
以生产模式启动服务器:
npm start
或者,对于具有实时重载功能的开发模式,可以使用:
npm run dev
测试服务器
1. 使用 MCP Inspector
MCP Inspector 是一个测试和检查您的 MCP 服务器的工具。您可以使用它来验证您的工具和提示是否正确注册。
运行以下命令来检查您的服务器:
npx @modelcontextprotocol/inspector ./dist/server.js
这将打开一个交互界面,您可以在其中像下面这样测试服务器中注册的工具和提示。

项目结构
以下是项目结构的概述:
hello-world-mcp-server/
├── src/
│ ├── server.ts # Main server entry point
│ ├── modules/
│ │ ├── tools.ts # Registers MCP tools
│ │ ├── prompts.ts # Registers MCP prompts
│ │ └── transports.ts # Handles SSE and message endpoints
├── .env # Environment variables
├── .env.example # Example environment variables
├── package.json # Project metadata and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
故障排除
常见问题
- 端口已被占用:如果您看到关于端口被占用的错误,请更新
.env文件中的PORT变量。 - TypeScript 错误:确保已安装所有依赖项,并且使用的是正确的 Node.js 版本。
调试
使用以下命令调试服务器:
npm run dev
这将以实时重载和详细日志的方式启动服务器。
相关项目
- Ollama Pydantic 项目:一个实现 LLM 代理的反向项目,该代理利用了本项目中开发的工具。在博客文章中了解更多内容:将 MCP 服务器与本地 LLM 聊天机器人集成。
贡献
欢迎贡献!请随时提出问题或提交拉取请求。
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。