使用说明

项目简介

本项目是一个简单的 MCP 服务器实现,它提供了一个工具用于获取开发者姓名。这个服务器主要用于演示 MCP 服务器的基本功能,例如工具的注册和调用。

主要功能点

  • 提供开发者姓名信息工具: 服务器注册了一个名为 'get_current_developer_name' 的工具,客户端可以调用此工具获取预设的开发者姓名。
  • 支持多种配置方式: 开发者姓名可以通过命令行参数、环境变量或默认值进行配置,优先级依次降低。
  • 基于标准 MCP 协议: 服务器使用 '@modelcontextprotocol/sdk' 库构建,遵循 MCP 协议标准,能够与任何兼容 MCP 协议的客户端进行通信。
  • 使用 Stdio 传输协议: 服务器使用 Stdio (标准输入输出) 作为传输协议,简化了部署和运行方式。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/SeriaWei/MCP-Developer-Name.git
    cd MCP-Developer-Name
  2. 安装依赖: 确保你已经安装了 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 客户端的具体实现和安全策略)。

基本使用方法

  1. 启动服务器: 在项目根目录下,无需额外操作,当 MCP 客户端尝试连接并调用此服务器时,客户端会根据配置自动启动服务器。

  2. 客户端调用工具: 在 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' 工具,并将返回的开发者姓名信息用于后续的对话或处理。

信息

分类

开发者工具