使用说明
项目简介
这是一个使用 TypeScript 编写的 MCP (Model Context Protocol) 服务器脚手架项目。它提供了一个快速启动 MCP 服务器的基础框架,开发者可以在此基础上轻松构建自己的 MCP 服务器,为大型语言模型 (LLM) 应用提供资源管理、工具注册和 Prompt 模板等核心上下文服务。
主要功能点
- MCP 服务器基础框架: 实现了 MCP 协议的基本服务器结构,可以处理客户端的 JSON-RPC 请求。
- 资源和工具管理: 预留了资源 (Resources) 和工具 (Tools) 的定义接口,虽然示例中为空,但可以方便地扩展和注册各种资源和工具,供 LLM 调用。
- 工具注册示例: 提供了一个简单的工具注册示例 ('tool-name'),演示了如何定义和实现工具函数,可以返回文本内容。
- Stdio 传输支持: 默认使用 Stdio (标准输入输出) 作为传输协议,方便本地开发和调试。
- 易于扩展: 项目结构清晰,代码简洁,方便开发者根据自身需求进行定制和扩展。
安装步骤
-
克隆仓库:
git clone https://github.com/siavashdelkhosh81/typescript-mcp-server-boilerplate cd typescript-mcp-server-boilerplate -
安装依赖: 确保已安装 yarn 或 npm。推荐使用 yarn。
yarn或者
npm install -
构建项目 (可选): 虽然可以直接运行 'src/index.ts',但通常 TypeScript 项目会先构建成 JavaScript 文件。本项目未提供构建脚本,如果需要构建,可以自行配置 TypeScript 编译。
对于快速体验,可以跳过构建步骤,直接使用 'ts-node' 或 'node --loader ts-node/esm src/index.ts' 运行 'src/index.ts' 文件 (需要先安装 'ts-node')。
服务器配置 (MCP 客户端配置)
MCP 客户端需要配置以下信息才能连接到此 MCP 服务器。以下是 JSON 格式的配置示例,请根据您的实际情况进行调整。
{ "serverName": "mcp_server", // MCP 服务器名称,与服务器代码中定义的 'name' 属性一致 "command": "node", // 启动 MCP 服务器的命令,这里假设使用 Node.js 运行 "args": ["src/index.ts"] // 启动命令的参数,指向服务器入口文件。如果已构建,则指向构建后的 JavaScript 文件,例如 "dist/index.js" }
配置参数说明:
- '"serverName"': 必须与 'src/index.ts' 中 'McpServer' 构造函数中 'name' 属性的值 '"mcp_server"' 保持一致。客户端通过此名称识别服务器。
- '"command"': 指定用于启动 MCP 服务器的可执行命令。由于这是一个 TypeScript 项目,通常使用 'node' 命令来运行 JavaScript 文件。如果需要使用 'ts-node' 直接运行 TypeScript 文件,请将命令修改为 'ts-node' 或 'node --loader ts-node/esm',并确保已安装 'ts-node'。
- '"args"': 一个字符串数组,包含传递给启动命令的参数。这里指向 'src/index.ts' 文件作为服务器的入口点。重要提示: 如果项目经过 TypeScript 编译,并且输出到 'dist' 目录,那么应该将 '"args"' 修改为指向构建后的 JavaScript 文件,例如 '["dist/index.js"]'。
基本使用方法
-
启动 MCP 服务器: 在项目根目录下,运行以下命令启动服务器 (如果未构建,且已安装 'ts-node'):
yarn ts-node src/index.ts或者 (如果已构建,假设构建输出到 'dist' 目录)
node dist/index.js服务器启动后,将在控制台输出日志信息,表示服务器正在运行并监听客户端连接。
-
配置 MCP 客户端: 根据上面提供的服务器配置信息,配置您的 MCP 客户端,确保客户端能够连接到正在运行的 MCP 服务器。
-
调用工具 (示例): 使用 MCP 客户端向服务器发送调用工具的请求,工具名称为 '"tool-name"'。服务器将执行 'server.tool("tool-name", ...)' 中定义的工具函数,并返回包含 "Hello world" 文本内容的响应。
-
扩展功能: 开发者可以根据实际需求,修改 'src/index.ts' 文件,添加更多的资源定义、工具注册和 Prompt 模板支持,构建功能完善的 MCP 服务器。
信息
分类
开发者工具