Stores and queries volleyball tournament data (matches, teams, tournaments) from VolleyballWorld API in a SQLite database, enabling SQL queries through the MCP server's execute_query tool.
MCP VoleyBall
Servidor MCP (Model Context Protocol) que proporciona acceso a datos de voleibol mediante consultas SQL. El proyecto incluye un proceso ETL para obtener datos de la API de VolleyballWorld y almacenarlos en una base de datos SQLite.
Descripción
Este proyecto permite consultar datos de partidos, equipos y torneos de voleibol a través de un servidor MCP. Los datos se obtienen desde la API de VolleyballWorld mediante un scraper, se convierten a formato SQLite y se exponen mediante un servidor MCP que permite ejecutar queries SQL.
Requisitos
Python 3.11 o superior
uv(gestor de paquetes) - Instalar uv
Instalación
Clonar el repositorio:
Instalar dependencias:
Uso
1. Proceso ETL (Extracción y carga de datos)
Primero necesitas obtener los datos de la API y convertirlos a base de datos SQLite:
Extraer datos de un torneo:
Por defecto, el scraper obtiene datos del torneo 1520 del año 2025. Puedes modificar los parámetros en scrapper.py según necesites.
Convertir JSON a SQLite:
Esto creará/actualizará el archivo volleyball_data.db en el directorio ETL/ con todos los datos estructurados.
2. Servidor MCP
Una vez que tengas la base de datos creada, puedes ejecutar el servidor MCP:
Para desarrollo y pruebas del servidor MCP:
O usando npx:
El servidor MCP expone una herramienta execute_query que permite ejecutar queries SELECT en la base de datos de voleibol.
3. Visualización con Datasette
Para visualizar y explorar los datos de manera interactiva usando Datasette, ejecuta:
Esto iniciará un servidor web local (por defecto en http://127.0.0.1:8001) donde podrás explorar las tablas, ejecutar queries SQL y visualizar los datos de manera interactiva.
Configuración del MCP Server en Claude Desktop
Para usar este servidor MCP con Claude Desktop, agrega la siguiente configuración en tu archivo de configuración MCP (normalmente ~/Library/Application Support/Claude/claude_desktop_config.json):
Asegúrate de usar la ruta absoluta al archivo main.py.
Estructura del Proyecto
Ejemplo de Queries
Una vez configurado el servidor MCP, puedes hacer consultas como:
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Enables querying volleyball match, team, and tournament data from VolleyballWorld API through SQL queries on a SQLite database.