Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Lottery Demoroll a 20-sided die 3 times for our D&D game"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP 抽签工具演示
这是一个完整的 MCP (Model Context Protocol) 插件示例,实现了抽签、投骰子、抛硬币等随机功能。
功能特性
🎲 抽签工具:从选项列表中随机抽取结果
🎯 投骰子:支持自定义面数和数量
🪙 抛硬币:简单的正面/反面随机选择
安装和运行
安装依赖:
npm install启动 MCP 服务器:
方式一:标准输入输出模式(推荐用于 AI 客户端集成)
npm start方式二:HTTP 服务器模式(支持 Web 界面和网络访问)
npm run start:http启动后访问:
🌐 Web 界面:http://localhost:3000
📡 MCP 端点:http://localhost:3000/mcp
❤️ 健康检查:http://localhost:3000/health
工具说明
1. draw_lottery - 抽签工具
从给定的选项列表中随机抽取一个或多个结果。
参数:
options(必需): 抽签选项列表count(可选): 抽取数量,默认为1allow_duplicate(可选): 是否允许重复抽取,默认为false
示例:
{
"name": "draw_lottery",
"arguments": {
"options": ["苹果", "香蕉", "橙子", "葡萄"],
"count": 2,
"allow_duplicate": false
}
}2. roll_dice - 投骰子
投掷骰子,支持自定义面数和数量。
参数:
sides(可选): 骰子面数,默认为6count(可选): 骰子数量,默认为1
示例:
{
"name": "roll_dice",
"arguments": {
"sides": 20,
"count": 3
}
}3. flip_coin - 抛硬币
抛硬币,返回正面或反面。
参数:
count(可选): 抛硬币次数,默认为1
示例:
{
"name": "flip_coin",
"arguments": {
"count": 5
}
}演示 Prompt
以下是一些可以触发这些工具的示例 prompt:
基础抽签
帮我从这些水果中随机选一个:苹果、香蕉、橙子、葡萄、草莓多人抽签
我们5个人要分这些奖品:一等奖、二等奖、三等奖、四等奖、五等奖。请帮我们随机分配,每个人一个奖品。投骰子游戏
我想玩一个20面骰子的游戏,投3次,看看结果如何抛硬币决定
帮我抛5次硬币,看看正反面各出现多少次复杂抽签场景
我们班有30个同学,要选出5个代表参加活动。请帮我随机选择,不能重复。项目结构
mcp-lottery-demo/
├── package.json # 项目配置和依赖
├── README.md # 项目说明文档
├── demo-prompts.md # 演示 prompt 集合
├── test-client.js # 标准输入输出测试客户端
├── test-http-client.js # HTTP 测试客户端
├── demo.js # 演示脚本
└── src/
├── server.js # 标准输入输出 MCP 服务器
└── server-http.js # HTTP MCP 服务器技术实现
使用
@modelcontextprotocol/sdk构建 MCP 服务器两种传输模式:
标准输入输出传输协议(用于 AI 客户端集成)
HTTP/SSE 传输协议(支持 Web 界面和网络访问)
实现了完整的工具注册和调用机制
包含错误处理和参数验证
提供 Web 界面和 RESTful API
扩展建议
你可以基于这个示例扩展更多功能:
添加更多随机工具:如随机数生成器、随机颜色选择等
持久化存储:保存抽签历史记录
用户偏好:记住用户的常用选项
统计分析:提供抽签结果的统计分析
可视化:生成图表展示结果分布
许可证
MIT License
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.