使用说明
项目简介
Dice Server MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,专门为 LLM 客户端提供掷骰子相关的功能。通过此服务器,LLM 可以方便地调用工具来模拟单次或多次骰子投掷,并获取掷骰结果。
主要功能点
- 提供掷骰子工具: 服务器内置了 'roll_dice' 和 'roll_multiple_dice' 两个工具,分别用于掷单颗骰子和多颗骰子。
- 可自定义骰子面数: 用户可以指定骰子的面数,默认为 6 面。
- 支持多次掷骰: 'roll_multiple_dice' 工具允许用户指定掷骰子的数量(1-100颗)。
- 基于 MCP 协议: 服务器遵循 MCP 协议标准,易于与兼容 MCP 协议的 LLM 客户端集成。
安装步骤
- 确保你的环境中已安装 Node.js 和 npm。
- 打开终端,执行以下命令安装 'dice-server':
npm install @kota/dice-server
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 dice-server:
{ "serverName": "dice-server", "command": "node", "args": [ "/path/to/node_modules/@kota/dice-server/dist/index.js" ] }
配置参数说明:
- 'serverName': 服务器名称,设置为 "dice-server"。
- 'command': 启动服务器的命令,这里使用 'node' (假设 node 可执行文件在您的 PATH 环境变量中)。
- 'args': 启动命令的参数,指向 'dice-server' 的入口文件。 请将 '/path/to/node_modules' 替换为实际的 'node_modules' 目录的绝对路径。 例如,如果你的项目根目录下有 'node_modules' 目录,并且你从项目根目录启动客户端,则可以替换为 './node_modules'。 完整的路径应该指向 'node_modules/@kota/dice-server/dist/index.js'。
查找 'node_modules' 路径的方法 (示例,请根据你的实际情况调整):
在安装 'dice-server' 的目录下(通常是你的项目根目录),打开终端并执行:
npm prefix
该命令会输出 npm 的 prefix 路径,通常 'node_modules' 目录会位于该路径下。 你需要根据输出结果,构建出正确的 '/path/to/node_modules/@kota/dice-server/dist/index.js' 路径。
基本使用方法
- 启动服务器: 'dice-server' 在安装后即可作为 MCP 服务器运行。它通过标准输入/输出 (stdio) 与客户端通信。当 MCP 客户端启动并连接配置的命令后,服务器即开始运行。
- 客户端请求: LLM 客户端可以向 'dice-server' 发送符合 MCP 协议的 JSON-RPC 请求,例如:
- 列出工具: 发送 'ListToolsRequest' 请求,服务器会返回 'roll_dice' 和 'roll_multiple_dice' 工具的描述信息。
- 调用 'roll_dice' 工具: 发送 'CallToolRequest' 请求,指定工具名为 'roll_dice',并可选择性地在 'arguments' 中指定 'sides' 参数 (骰子面数)。
- 调用 'roll_multiple_dice' 工具: 发送 'CallToolRequest' 请求,指定工具名为 'roll_multiple_dice',并在 'arguments' 中指定 'count' (骰子数量) 和可选的 'sides' 参数 (骰子面数)。
示例请求 (JSON-RPC 请求体,供 MCP 客户端参考):
列出工具:
{ "jsonrpc": "2.0", "method": "mcp.listTools", "params": {}, "id": 1 }
调用 'roll_dice' 工具 (默认 6 面骰子):
{ "jsonrpc": "2.0", "method": "mcp.callTool", "params": { "name": "roll_dice" }, "id": 2 }
调用 'roll_dice' 工具 (20 面骰子):
{ "jsonrpc": "2.0", "method": "mcp.callTool", "params": { "name": "roll_dice", "arguments": { "sides": 20 } }, "id": 3 }
调用 'roll_multiple_dice' 工具 (3 颗 6 面骰子):
{ "jsonrpc": "2.0", "method": "mcp.callTool", "params": { "name": "roll_multiple_dice", "arguments": { "count": 3 } }, "id": 4 }
调用 'roll_multiple_dice' 工具 (4 颗 20 面骰子):
{ "jsonrpc": "2.0", "method": "mcp.callTool", "params": { "name": "roll_multiple_dice", "arguments": { "count": 4, "sides": 20 } }, "id": 5 }
客户端接收到服务器的 JSON-RPC 响应后,即可解析 'content' 字段获取掷骰结果。
信息
分类
AI与计算