MCP 抽签工具演示
这是一个完整的 MCP (Model Context Protocol) 插件示例,实现了抽签、投骰子、抛硬币等随机功能。
功能特性
- 🎲 抽签工具:从选项列表中随机抽取结果
- 🎯 投骰子:支持自定义面数和数量
- 🪙 抛硬币:简单的正面/反面随机选择
安装和运行
- 安装依赖:
- 启动 MCP 服务器:
方式一:标准输入输出模式(推荐用于 AI 客户端集成)
方式二:HTTP 服务器模式(支持 Web 界面和网络访问)
启动后访问:
- 🌐 Web 界面:http://localhost:3000
- 📡 MCP 端点:http://localhost:3000/mcp
- ❤️ 健康检查:http://localhost:3000/health
工具说明
1. draw_lottery - 抽签工具
从给定的选项列表中随机抽取一个或多个结果。
参数:
options
(必需): 抽签选项列表count
(可选): 抽取数量,默认为1allow_duplicate
(可选): 是否允许重复抽取,默认为false
示例:
2. roll_dice - 投骰子
投掷骰子,支持自定义面数和数量。
参数:
sides
(可选): 骰子面数,默认为6count
(可选): 骰子数量,默认为1
示例:
3. flip_coin - 抛硬币
抛硬币,返回正面或反面。
参数:
count
(可选): 抛硬币次数,默认为1
示例:
演示 Prompt
以下是一些可以触发这些工具的示例 prompt:
基础抽签
多人抽签
投骰子游戏
抛硬币决定
复杂抽签场景
项目结构
技术实现
- 使用
@modelcontextprotocol/sdk
构建 MCP 服务器 - 两种传输模式:
- 标准输入输出传输协议(用于 AI 客户端集成)
- HTTP/SSE 传输协议(支持 Web 界面和网络访问)
- 实现了完整的工具注册和调用机制
- 包含错误处理和参数验证
- 提供 Web 界面和 RESTful API
扩展建议
你可以基于这个示例扩展更多功能:
- 添加更多随机工具:如随机数生成器、随机颜色选择等
- 持久化存储:保存抽签历史记录
- 用户偏好:记住用户的常用选项
- 统计分析:提供抽签结果的统计分析
- 可视化:生成图表展示结果分布
许可证
MIT License
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables random selection tools including lottery drawing from option lists, dice rolling with customizable sides and counts, and coin flipping. Supports both single and multiple draws with duplicate control options.