使用说明
项目简介
本项目是一个简单的 MCP 服务器实现,它提供了一个工具用于获取开发者姓名。这个服务器主要用于演示 MCP 服务器的基本功能,例如工具的注册和调用。
主要功能点
- 提供开发者姓名信息工具: 服务器注册了一个名为 'get_current_developer_name' 的工具,客户端可以调用此工具获取预设的开发者姓名。
- 支持多种配置方式: 开发者姓名可以通过命令行参数、环境变量或默认值进行配置,优先级依次降低。
- 基于标准 MCP 协议: 服务器使用 '@modelcontextprotocol/sdk' 库构建,遵循 MCP 协议标准,能够与任何兼容 MCP 协议的客户端进行通信。
- 使用 Stdio 传输协议: 服务器使用 Stdio (标准输入输出) 作为传输协议,简化了部署和运行方式。
安装步骤
- 克隆仓库:
git clone https://github.com/SeriaWei/MCP-Developer-Name.git cd MCP-Developer-Name - 安装依赖:
确保你已经安装了 Node.js 和 npm。在项目根目录下运行:
npm install
服务器配置
MCP 客户端需要配置以下信息才能连接到此服务器。将以下 JSON 配置添加到你的 MCP 客户端配置中:
{ "mcpServers": { "developer-name": { // 服务器名称,客户端用于标识和引用 "command": "npx", // 启动服务器的命令,这里使用 npx 运行本地 node_modules 中的可执行文件 "args": [ // 传递给启动命令的参数 "-y", // npx 的参数,表示自动确认安装包 "mcp-developer-name" // 实际要执行的包名,对应 package.json 中的 "name": "mcp-developer-name" 和 "bin": "./src/index.ts" ], "env": { // 环境变量配置 "DEVELOPER_NAME": "Wayne Wei" // 设置默认开发者姓名为 Wayne Wei,可以通过修改此值更改默认姓名 }, "disabled": false, // 是否禁用此服务器,false 表示启用 "autoApprove": [] // 自动批准的权限列表,当前为空表示需要手动批准权限请求 } } }
配置参数说明:
- 'server name': 'developer-name' - 服务器的唯一标识符,客户端使用此名称来引用该服务器。
- 'command': 'npx' - 用于启动服务器的命令。'npx' 可以方便地运行本地安装的 npm 包的可执行文件。
- 'args': '["-y", "mcp-developer-name"]' - 传递给 'npx' 命令的参数。'-y' 参数用于在使用 'npx' 运行尚未安装的包时自动确认安装。'mcp-developer-name' 是要执行的 npm 包的名称,它指向项目 'package.json' 中配置的入口文件 'src/index.ts'。
- 'env': '{"DEVELOPER_NAME": "Wayne Wei"}' - 设置环境变量。'DEVELOPER_NAME' 环境变量用于配置默认的开发者姓名。你可以在这里修改默认姓名。
- 'disabled': 'false' - 设置为 'false' 表示启用此服务器。设置为 'true' 可以禁用此服务器,客户端将不会尝试连接它。
- 'autoApprove': '[]' - 自动批准的权限列表。当前为空,意味着客户端在调用此服务器的工具时,可能需要用户手动批准权限请求 (取决于 MCP 客户端的具体实现和安全策略)。
基本使用方法
-
启动服务器: 在项目根目录下,无需额外操作,当 MCP 客户端尝试连接并调用此服务器时,客户端会根据配置自动启动服务器。
-
客户端调用工具: 在 MCP 客户端中,你可以调用名为 'get_current_developer_name' 的工具来获取开发者姓名。具体的调用方式取决于你使用的 MCP 客户端的 API。
客户端调用工具时,服务器会返回包含开发者姓名的文本内容。开发者姓名的来源优先级为:命令行参数 > 环境变量 'DEVELOPER_NAME' > 默认值 "Wayne Wei"。
例如,如果使用支持 MCP 协议的 LLM 应用,你可以在 Prompt 中指示 LLM 调用 'developer-name/get_current_developer_name' 工具来获取开发者姓名。
示例 (MCP 客户端 Prompt 指示):
请问当前的开发者是谁?[MCPTool: developer-name/get_current_developer_name]
当 LLM 应用解析到 '[MCPTool: developer-name/get_current_developer_name]' 时,它会向 MCP 服务器请求调用 'developer-name' 服务器的 'get_current_developer_name' 工具,并将返回的开发者姓名信息用于后续的对话或处理。
信息
分类
开发者工具