使用说明

项目简介

mcp-server-diceroll 是一个基于 Model Context Protocol (MCP) 构建的服务器,它实现了一个简单的掷骰子工具。该服务器可以与支持 MCP 协议的语言模型客户端(如 Claude)配合使用,允许语言模型通过调用 "roll_dice" 工具来生成随机数,模拟掷骰子的场景。

主要功能点

  • 提供掷骰子工具: 该服务器的核心功能是提供一个名为 "roll_dice" 的工具,该工具可以模拟掷骰子,并返回骰子的点数结果。
  • 支持自定义骰子参数: "roll_dice" 工具允许用户自定义骰子的面数 (faces) 和投掷次数 (rolls),从而满足不同的随机数生成需求。
  • MCP 协议兼容: 服务器完全遵循 Model Context Protocol 协议,可以与任何实现了 MCP 客户端的应用程序进行通信。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的电脑上已经安装了 Node.js 和 npm (Node Package Manager)。你可以从 https://nodejs.org/ 下载并安装。
  2. 全局安装 mcp-server-diceroll: 打开终端或命令提示符,运行以下命令全局安装 'mcp-server-diceroll':
    npm install -g mcp-server-diceroll
    这将把 'mcp-server-diceroll' 安装到你的全局环境中,使其可以在命令行中直接运行。

服务器配置

要将 'mcp-server-diceroll' 服务器配置到 MCP 客户端(例如 Claude 桌面应用),你需要编辑客户端的配置文件(例如 'claude_desktop_config.json')。在配置文件中添加 'mcpServers' 字段,并在其中配置 'dice-roll' 服务器。

以下是一个配置示例,你需要将这段 JSON 代码添加到你的 MCP 客户端配置文件中:

{
  "mcpServers": {
    "dice-roll": {  // 服务器名称,可以自定义,用于在客户端中标识该服务器
      "command": "npx", // 启动服务器的命令,这里使用 npx 来运行本地安装的 mcp-server-diceroll
      "args": ["-y", "mcp-server-diceroll"] // 启动服务器的参数,这里使用 -y 避免 npx 询问是否安装 mcp-server-diceroll
    }
  }
}

配置参数说明:

  • server name (dice-roll): 为该 MCP 服务器指定一个名称 "dice-roll",这个名称将在 MCP 客户端中用于标识和引用该服务器。你可以根据需要自定义服务器名称。
  • command (npx): 指定启动 MCP 服务器的命令为 'npx'。'npx' 是 npm 包管理器自带的命令,用于执行本地或全局安装的 npm 包的可执行文件。
  • args (["-y", "mcp-server-diceroll"]): 指定传递给 'npx' 命令的参数。
    • '"-y"': 是 'npx' 的参数,表示如果 'mcp-server-diceroll' 包没有安装,则自动安装,无需用户确认。
    • '"mcp-server-diceroll"': 是要执行的 npm 包的可执行文件名,这里指向全局安装的 'mcp-server-diceroll' 包。

基本使用方法

  1. 启动 MCP 客户端: 启动配置了 'mcp-server-diceroll' 的 MCP 客户端应用程序(例如 Claude 桌面应用)。

  2. 与语言模型交互: 在 MCP 客户端中,与语言模型进行对话。你可以指示语言模型使用 "roll_dice" 工具来掷骰子。

  3. 调用工具 (roll_dice): 当语言模型需要掷骰子时,它会通过 MCP 协议调用 "roll_dice" 工具。你可以通过自然语言指示语言模型调用该工具,例如:

    • "帮我掷一个骰子"
    • "请用 dice-roll 工具投掷一个六面骰子"
    • "我想掷两个骰子看看点数"

    语言模型可能会根据你的指示,自动调用 "roll_dice" 工具,并根据工具的返回结果进行后续的对话或操作。

工具使用示例 (roll_dice):

  • 默认参数: 如果语言模型调用 "roll_dice" 工具时没有提供任何参数,则默认会掷一个六面骰子一次。
  • 自定义参数: 语言模型可以指定 'faces' (骰子面数) 和 'rolls' (投掷次数) 参数来调用 "roll_dice" 工具,例如:
    • '{"tool_name": "roll_dice", "parameters": {"faces": 20, "rolls": 3}}' 表示投掷一个20面骰子三次。

语言模型客户端会根据服务器返回的结果 (骰子的点数) 进行后续处理,并将结果呈现给你。

信息

分类

AI与计算