Skip to main content
Glama
Volleyball MCP Server

Volleyball MCP Server

by Dalejan

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.

Related MCP server: mcp-sports-server

Requisitos

  • Python 3.11 o superior

  • uv (gestor de paquetes) - Instalar uv

Instalación

  1. Clonar el repositorio:

git clone <url-del-repositorio>
cd MCP-VoleyBall
  1. Instalar dependencias:

uv sync

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:

  1. Extraer datos de un torneo:

cd ETL
python scrapper.py

Por defecto, el scraper obtiene datos del torneo 1520 del año 2025. Puedes modificar los parámetros en scrapper.py según necesites.

  1. Convertir JSON a SQLite:

python database_converter.py

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:

python main.py

Para desarrollo y pruebas del servidor MCP:

mcp dev main.py

O usando npx:

npx @modelcontextprotocol/inspector uv run main.py

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:

cd ETL
datasette serve volleyball_data.db

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):

{
  "mcpServers": {
    "voleyball-server": {
      "command": "/ruta/.venv/bin/python",
      "args": [
        "/ruta/main.py"
      ],
      "cwd": "/ruta/MCP-VoleyBall" 
    }
  }
}

Asegúrate de usar la ruta absoluta al archivo main.py.

Estructura del Proyecto

MCP-VoleyBall/
├── main.py                 # Servidor MCP
├── db_connection.py        # Conexión a la base de datos
├── ETL/
│   ├── scrapper.py         # Extracción de datos de la API
│   ├── database_converter.py  # Conversión JSON a SQLite
│   └── volleyball_data.db  # Base de datos (se genera con el ETL)
└── pyproject.toml          # Dependencias del proyecto

Ejemplo de Queries

Una vez configurado el servidor MCP, puedes hacer consultas como:

'Que equipo gano mas partidos en el ano 2025'

Available Tools

1 tool
execute_queryB
Ejecuta una query SQL en la base de datos de voleibol.

Args:
    query: La query SQL a ejecutar.

Returns:
    Una lista de tuplas con los resultados de la query.

Inputs: query (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct by default.

    Naming Consistency5/5

    A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'execute_query' follows a clear verb_noun pattern.

    Tool Count2/5

    One tool is too few for a server named 'Volleyball MCP Server', which suggests a domain that would typically require multiple operations (e.g., querying players, matches, statistics). A single SQL execution tool feels thin and under-scoped for this apparent purpose.

    Completeness1/5

    The tool surface is severely incomplete for a volleyball domain. It only provides raw SQL execution, lacking any domain-specific operations like retrieving player stats, match results, or team information, which would be expected for such a server.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables natural language querying of Karenina benchmark verification results stored in SQLite databases, allowing AI assistants to explore and analyze model performance data without writing SQL manually.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables natural-language querying of historical NBA game data from a read-only SQLite database.
      ISC
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables querying K League official data (rankings, matches, players) via SQL using natural language, with a pre-built SQLite database.
      -