generate_random_numbers
Generate random lottery number recommendations for games like Double Color Ball, 3D Lottery, and Seven Happiness Lottery. Specify game type and quantity to create sets for analysis.
Instructions
生成随机彩票号码推荐
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lottery_type | Yes | 彩票类型 | |
| count | No | 生成组数 |
Implementation Reference
- src/swlc_mcp/server.py:1415-1428 (handler)MCP tool handler in call_tool that calls generate_random_numbers service method for the specified count and formats the response.elif name == "generate_random_numbers": lottery_type = arguments.get("lottery_type") count = arguments.get("count", 1) results = [] for i in range(count): random_result = lottery_service.generate_random_numbers(lottery_type) results.append(f"推荐 {i+1}: {random_result['format']}") return [types.TextContent( type="text", text=f"{lottery_type}随机号码推荐:\n\n" + "\n".join(results) )]
- src/swlc_mcp/server.py:1141-1162 (schema)Input schema definition for the generate_random_numbers tool, specifying lottery_type (required) and optional count.types.Tool( name="generate_random_numbers", description="生成随机彩票号码推荐", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "count": { "type": "integer", "minimum": 1, "maximum": 10, "default": 1, "description": "生成组数" } }, "required": ["lottery_type"] } ),
- src/swlc_mcp/server.py:1028-1280 (registration)Registration of all MCP tools including generate_random_numbers via the list_tools decorator method.@server.list_tools() async def list_tools() -> List[types.Tool]: """列出所有可用工具""" return [ types.Tool( name="get_latest_ssq", description="获取双色球最新开奖结果", inputSchema={ "type": "object", "properties": {}, "required": [] } ), types.Tool( name="get_latest_3d", description="获取福彩3D最新开奖结果", inputSchema={ "type": "object", "properties": {}, "required": [] } ), types.Tool( name="get_latest_qlc", description="获取七乐彩最新开奖结果", inputSchema={ "type": "object", "properties": {}, "required": [] } ), types.Tool( name="get_latest_kl8", description="获取快乐8最新开奖结果", inputSchema={ "type": "object", "properties": {}, "required": [] } ), types.Tool( name="get_historical_data", description="获取指定彩票类型的历史开奖数据", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "periods": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 10, "description": "获取期数" } }, "required": ["lottery_type"] } ), types.Tool( name="analyze_numbers", description="分析彩票号码统计信息,包括热号、冷号等", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "periods": { "type": "integer", "minimum": 5, "maximum": 1000, "default": 30, "description": "分析期数" } }, "required": ["lottery_type"] } ), types.Tool( name="analyze_seq_numbers", description="分析号码连续出现概率(滑窗),返回理论值与实测值", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "periods": { "type": "integer", "minimum": 5, "maximum": 1000, "default": 100, "description": "分析期数" }, "sequence_length": { "type": "integer", "minimum": 1, "maximum": 10, "default": 2, "description": "连续期数" } }, "required": ["lottery_type"] } ), types.Tool( name="generate_random_numbers", description="生成随机彩票号码推荐", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "count": { "type": "integer", "minimum": 1, "maximum": 10, "default": 1, "description": "生成组数" } }, "required": ["lottery_type"] } ), types.Tool( name="sync_lottery_data", description="同步指定彩票类型的最新数据到本地数据库", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "periods": { "type": "integer", "minimum": 1, "maximum": 50, "default": 10, "description": "同步期数" } }, "required": ["lottery_type"] } ), types.Tool( name="force_sync_data", description="强制同步指定彩票类型的最新数据到本地数据库", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "periods": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 20, "description": "同步期数" } }, "required": ["lottery_type"] } ), types.Tool( name="get_database_info", description="获取本地数据库统计信息", inputSchema={ "type": "object", "properties": {}, "required": [] } ), types.Tool( name="predict_lottery", description="预测彩票号码,基于历史数据生成预测结果", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "method": { "type": "string", "enum": ["rule"], "default": "rule", "description": "预测方法" }, "count": { "type": "integer", "minimum": 1, "maximum": 20, "default": 5, "description": "预测组数" }, "strategy": { "type": "string", "enum": ["all", "balanced", "cold_recovery", "hot_focus", "interval_balance", "contrarian"], "default": "all", "description": "预测策略" } }, "required": ["lottery_type"] } ), types.Tool( name="backtest_lottery", description="回测预测算法,评估预测准确性", inputSchema={ "type": "object", "properties": { "lottery_type": { "type": "string", "enum": ["双色球", "福彩3D", "七乐彩", "快乐8"], "description": "彩票类型" }, "window_size": { "type": "integer", "minimum": 50, "maximum": 500, "default": 100, "description": "窗口大小(训练数据期数)" }, "step": { "type": "integer", "minimum": 10, "maximum": 100, "default": 50, "description": "步长(每次移动的期数)" } }, "required": ["lottery_type"] } ) ]
- src/swlc_mcp/server.py:985-1021 (helper)Core helper method in SWLCService class that implements random number generation logic for different lottery types.def generate_random_numbers(self, lottery_type: str) -> Dict[str, Any]: """生成随机号码推荐""" import random if lottery_type == "双色球": red_balls = sorted(random.sample(range(1, 34), 6)) blue_ball = random.randint(1, 16) return { "lottery_type": "双色球", "red_balls": [f"{num:02d}" for num in red_balls], "blue_ball": f"{blue_ball:02d}", "format": "红球: " + " ".join([f"{num:02d}" for num in red_balls]) + f" 蓝球: {blue_ball:02d}" } elif lottery_type == "福彩3D": numbers = [random.randint(0, 9) for _ in range(3)] return { "lottery_type": "福彩3D", "numbers": [str(num) for num in numbers], "format": " ".join([str(num) for num in numbers]) } elif lottery_type == "七乐彩": basic_balls = sorted(random.sample(range(1, 31), 7)) special_ball = random.choice([num for num in range(1, 31) if num not in basic_balls]) return { "lottery_type": "七乐彩", "basic_balls": [f"{num:02d}" for num in basic_balls], "special_ball": f"{special_ball:02d}", "format": "基本球: " + " ".join([f"{num:02d}" for num in basic_balls]) + f" 特别号: {special_ball:02d}" } else: # 快乐8 numbers = sorted(random.sample(range(1, 81), 20)) return { "lottery_type": "快乐8", "numbers": [f"{num:02d}" for num in numbers], "format": "号码: " + " ".join([f"{num:02d}" for num in numbers]) }