使用说明
项目简介
本仓库 'create-mcp-ts' 提供了一个用于快速创建 MCP (Model Context Protocol) 服务器的工具,而 'mcp-ts-template-default' 是其默认的项目模板。此模板基于 TypeScript 构建,预配置了 MCP 服务器的基本框架和示例代码,帮助开发者快速上手并构建自己的 MCP 服务器应用。
主要功能点
- 快速搭建 MCP 服务器: 通过 'create-mcp-ts' 脚手架,可以快速生成基于此模板的 MCP 服务器项目。
- 内置工具示例: 模板中预置了 'ping_pong' 和 'echo' 两个简单的工具示例,展示了如何在 MCP 服务器中注册和实现工具功能。
- 使用 Stdio 传输: 默认配置使用标准输入输出 (Stdio) 作为 MCP 服务器的传输协议,方便本地开发和调试。
- 清晰的项目结构: 模板提供了一个组织良好的项目结构,包括源代码目录 'src'、构建配置和 package.json 文件,易于理解和扩展。
- 支持客户端自动配置: 通过 'setup' 脚本,可以自动将新创建的 MCP 服务器配置添加到常见的 MCP 客户端 (如 Cursor, Windsurf, Claude Desktop) 的配置文件中。
安装步骤
-
全局安装 'create-mcp-ts': 首先,确保你的机器上已安装 Node.js 和 npm。然后,通过 npm 全局安装 'create-mcp-ts' 工具:
npm install -g create-mcp-ts -
创建新的 MCP 服务器项目: 使用 'create-mcp-ts' 命令,并指定你的项目名称来创建一个新的 MCP 服务器项目。例如,创建一个名为 'my-mcp-server' 的项目:
create-mcp-ts my-mcp-server按照提示,工具会在当前目录下创建一个名为 'my-mcp-server' 的文件夹,并将模板代码复制到该文件夹中。
-
进入项目目录并安装依赖: 创建项目完成后,进入项目目录并安装项目依赖:
cd my-mcp-server npm install
服务器配置
MCP 服务器主要供 MCP 客户端连接使用。你需要将 MCP 服务器的启动信息配置到你的 MCP 客户端中。以下是通用的 MCP 服务器配置信息(JSON 格式),你需要根据你的实际项目进行配置:
{ "mcpServers": { "my-mcp-server": { // "my-mcp-server" 为服务器名称,可以自定义 "command": "node", // 启动服务器的命令,通常为 Node.js 运行时 "args": ["dist/index.js"] // 命令参数,指向编译后的服务器入口文件 } } }
参数说明:
- 'server name': 服务器名称,例如 '"my-mcp-server"'。这个名称将用于在 MCP 客户端中标识你的服务器。
- 'command': 启动服务器的可执行命令。对于 Node.js 项目,通常设置为 '"node"'。
- 'args': 命令参数数组。指向服务器的入口文件。在本项目模板中,构建后的入口文件位于 'dist/index.js'。
自动配置 (针对 Cursor, Windsurf, Claude Desktop):
模板提供了一个 'setup' 脚本,可以自动为你配置 Cursor, Windsurf 和 Claude Desktop 这三个客户端。在项目根目录下运行:
npm run setup
该脚本会自动检测并更新这些客户端的 MCP 配置文件,将当前项目配置为 MCP 服务器。你可能需要重启客户端以使配置生效。
基本使用方法
-
启动 MCP 服务器: 在项目根目录下,运行以下命令启动开发服务器:
npm run dev或者运行构建后的服务器:
npm run build node dist/index.js服务器默认使用 Stdio 传输协议,并通过标准错误输出 (stderr) 打印日志信息。
-
配置 MCP 客户端: 根据你使用的 MCP 客户端,按照其文档指引配置 MCP 服务器连接。如果你使用了 'npm run setup' 命令,则可以跳过手动配置步骤 (针对 Cursor, Windsurf, Claude Desktop)。
-
在 MCP 客户端中使用: 连接成功后,你就可以在 MCP 客户端中使用 MCP 协议与你的服务器进行交互,例如调用 'ping_pong' 和 'echo' 工具。具体使用方法请参考 MCP 客户端的文档。
进一步开发
你可以基于此模板扩展 MCP 服务器的功能,例如:
- 添加更多工具: 实现更复杂的功能工具,例如文件读写、网络请求、代码执行等。
- 管理资源: 实现资源的加载、存储和访问控制。
- 定义 Prompt 模板: 创建和管理 Prompt 模板,支持可定制的 LLM 交互模式。
- 支持更多传输协议: 根据需要,可以扩展服务器以支持 WebSocket 或 SSE 等传输协议。
信息
分类
开发者工具