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