Lotería MCP
by parrotsoft
README.md
# 🎟️ Lotería MCP
MCP Server para consultar loterías y resultados mediante la [API de Resultados de Loterías](https://api-resultadosloterias.com/).
Expone dos herramientas que cualquier cliente MCP compatible (Claude Desktop, Cursor, etc.) puede invocar directamente desde el chat.
---
## 📋 Requisitos
| Herramienta | Versión mínima |
|-------------|---------------|
| Python | 3.10+ |
| [uv](https://docs.astral.sh/uv/) | latest |
---
## ⚙️ Instalación
### 1. Clonar el repositorio
```bash
git clone https://github.com/parrotsoft/loteria-mcp
cd loteria
```
### 2. Crear entorno virtual e instalar dependencias con `uv`
```bash
uv sync
```
Esto creará automáticamente el entorno `.venv` e instalará todas las dependencias declaradas en `pyproject.toml`.
---
## 🚀 Uso con Claude Desktop
Agrega la siguiente configuración al archivo de Claude Desktop:
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"loteria": {
"command": "uv",
"args": [
"--directory",
"/ruta/absoluta/al/proyecto/loteria",
"run",
"loteria.py"
]
}
}
}
```
> **Nota:** Reemplaza `/ruta/absoluta/al/proyecto/loteria` con la ruta real del proyecto en tu máquina.
Reinicia Claude Desktop y el servidor quedará disponible.
---
## 🛠️ Herramientas disponibles
### `get_lotteries`
Retorna el listado completo de loterías disponibles en la API.
**Sin parámetros.**
**Ejemplo de respuesta:**
```json
{
"data": [
{ "id": 1, "name": "Lotería Nacional", "country": "MX" },
{ "id": 2, "name": "Melate", "country": "MX" }
]
}
```
---
### `get_resultados`
Retorna los resultados de loterías para una fecha específica.
| Parámetro | Tipo | Descripción |
|-----------|--------|-----------------------------------------------------|
| `date` | `str` | Fecha en formato `YYYY-MM-DD`. Vacío = más recientes |
**Ejemplo de respuesta:**
```json
{
"data": [
{ "lottery": "Lotería Nacional", "result": "1234", "date": "2026-04-24" }
]
}
```
---
## 🧪 Ejecutar en modo desarrollo
Para probar el servidor directamente desde la terminal:
```bash
uv run mcp dev loteria.py
```
Esto abre el MCP Inspector en el navegador, donde puedes llamar las herramientas de forma interactiva.
---
## 📦 Dependencias
| Paquete | Descripción |
|-----------|------------------------------------------|
| `httpx` | Cliente HTTP async para llamadas a la API |
| `mcp[cli]`| Framework Model Context Protocol |
---
## 📁 Estructura del proyecto
```
loteria/
├── loteria.py # Servidor MCP con las herramientas expuestas
├── main.py # Punto de entrada alternativo
├── pyproject.toml # Configuración del proyecto y dependencias
├── uv.lock # Lock file de dependencias (uv)
├── .gitignore
└── README.md
```
---
## 📄 Licencia
MIT
TDQS
A4/5.0
Scored across 2 tools
Disambiguation5/5
The two tools have clearly distinct purposes: one lists all available lotteries, the other retrieves results for a specific date. There is no risk of confusion.
Naming Consistency5/5
Both tools follow a consistent 'get_<resource>' pattern in snake_case, using the same language (Spanish) throughout.
Tool Count3/5
Two tools is minimal but reasonable for a simple read-only lottery information server. It borders on feeling thin but does not warrant a lower score.
Completeness3/5
The server covers listing lotteries and fetching results by date, but lacks features like filtering by lottery or retrieving historical results beyond a single date.
Maintenance
ActivityInactive
ResponsivenessNo issues