Skip to main content
Glama
pmhw

MCP Lottery Demo

by pmhw

MCP 抽签工具演示

这是一个完整的 MCP (Model Context Protocol) 插件示例,实现了抽签、投骰子、抛硬币等随机功能。

功能特性

  • 🎲 抽签工具:从选项列表中随机抽取结果

  • 🎯 投骰子:支持自定义面数和数量

  • 🪙 抛硬币:简单的正面/反面随机选择

安装和运行

  1. 安装依赖:

npm install
  1. 启动 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 (可选): 抽取数量,默认为1

  • allow_duplicate (可选): 是否允许重复抽取,默认为false

示例:

{ "name": "draw_lottery", "arguments": { "options": ["苹果", "香蕉", "橙子", "葡萄"], "count": 2, "allow_duplicate": false } }

2. roll_dice - 投骰子

投掷骰子,支持自定义面数和数量。

参数:

  • sides (可选): 骰子面数,默认为6

  • count (可选): 骰子数量,默认为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

扩展建议

你可以基于这个示例扩展更多功能:

  1. 添加更多随机工具:如随机数生成器、随机颜色选择等

  2. 持久化存储:保存抽签历史记录

  3. 用户偏好:记住用户的常用选项

  4. 统计分析:提供抽签结果的统计分析

  5. 可视化:生成图表展示结果分布

许可证

MIT License

One-click Deploy
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pmhw/McpDemo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server