Lottery MCP Server
# Lottery MCP Server
A Model Context Protocol (MCP) server for Chinese lottery data query and prize checking. Supports 双色球 (Double Color Ball) and 大乐透 (Super Lotto).
## Features
- 🔄 **Update lottery data** - Fetch latest lottery results from official sources
- 🔍 **Query results** - Search lottery results by date range
- 🎯 **Check prizes** - Check if your numbers won any prizes
- 📊 **Get latest results** - Quick access to recent lottery draws
## Installation
```bash
pip install mcp requests
```
## MCP Tools
| Tool | Description |
|------|-------------|
| `update_lottery` | Update lottery data to local database |
| `query_lottery` | Query lottery results by date range |
| `check_prize` | Check winning status for given numbers |
| `get_latest_results` | Get recent lottery results |
## Configuration
Add to your MCP config (e.g., `.kiro/settings/mcp.json`):
```json
{
"mcpServers": {
"lottery": {
"command": "python",
"args": ["/path/to/lottery_mcp_server.py"],
"env": {
"LOTTERY_DATA_DIR": "/path/to/data"
},
"disabled": false,
"autoApprove": ["update_lottery", "query_lottery", "check_prize", "get_latest_results"]
}
}
}
```
### Environment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| `LOTTERY_DATA_DIR` | Directory to store lottery data | `~/lottery_data` |
## Usage Examples
### Update lottery data
```python
update_lottery("double_ball", "2025-12-01", "2026-01-18")
update_lottery("super_lotto", "2025-12-01", "2026-01-18")
```
### Query results
```python
query_lottery("double_ball", "2025-12-01", "2026-01-18")
```
### Check prize (Double Color Ball: 6 red + 1 blue)
```python
check_prize("double_ball", "2025-12-01", "2026-01-18", [3, 11, 14, 19, 29, 30, 15])
```
### Check prize (Super Lotto: 5 front + 2 back)
```python
check_prize("super_lotto", "2025-12-01", "2026-01-18", [8, 13, 27, 30, 32, 2, 3])
```
### Get latest results
```python
get_latest_results("double_ball", 5)
get_latest_results("super_lotto", 10)
```
## Lottery Types
| Type | ID | Description | Numbers |
|------|-----|-------------|---------|
| `double_ball` | 双色球 | Double Color Ball | 6 red (1-33) + 1 blue (1-16) |
| `super_lotto` | 大乐透 | Super Lotto | 5 front (1-35) + 2 back (1-12) |
## Prize Levels
### Double Color Ball (双色球)
| Level | Red Match | Blue Match |
|-------|-----------|------------|
| 一等奖 | 6 | ✓ |
| 二等奖 | 6 | ✗ |
| 三等奖 | 5 | ✓ |
| 四等奖 | 5 or 4+blue | - |
| 五等奖 | 4 or 3+blue | - |
| 六等奖 | 0-2 | ✓ |
### Super Lotto (大乐透)
| Level | Front Match | Back Match |
|-------|-------------|------------|
| 一等奖 | 5 | 2 |
| 二等奖 | 5 | 1 |
| 三等奖 | 5 | 0 |
| 四等奖 | 4 | 2 |
| 五等奖 | 4 | 1 |
| 六等奖 | 3 | 2 |
| 七等奖 | 4+0 or 3+1 | - |
| 八等奖 | Various combinations | - |
## Data Source
Data is fetched from [中国福彩网](https://www.zhcw.com/):
- 双色球: https://www.zhcw.com/kjxx/ssq/
- 大乐透: https://www.zhcw.com/kjxx/dlt/
## License
MIT License
## Disclaimer
This tool is for educational and entertainment purposes only. Please gamble responsibly.
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: checking prizes for a number, getting recent results, querying historical results by date range, and updating the local database. No overlap.
All tool names follow a consistent verb_noun pattern in snake_case (check_prize, get_latest_results, query_lottery, update_lottery), making them predictable and easy to understand.
With 4 tools, the server is well-scoped for its purpose: prize checking, result retrieval (recent and historical), and data maintenance. This is a reasonable number for a focused lottery MCP server.
The tool set covers core operations: checking prizes, fetching latest results, querying historical results, and updating data. Minor gaps like a tool to retrieve a specific draw by issue number or list supported types are not critical.