sportlink-mcp
# SportLink MCP Server
Servidor de contexto (Model Context Protocol) para exponer la API de SportLink a agentes inteligentes y LLMs (como Antigravity, Claude Desktop o Cursor).
Actúa como una capa desacoplada (middleware) consumiendo exclusivamente los endpoints REST.
## 🚀 Instalación y Uso
1. Instalar las dependencias:
```bash
npm install
```
2. Configurar variables de entorno:
Copiar `.env.example` a `.env` y asegurar que `SPORTLINK_API_URL` apunte al backend (ej. `http://localhost:3000/api`).
3. Ejecutar localmente (modo stdio):
```bash
npm start
```
## 🔌 Configuración para Clientes (Claude Desktop / Antigravity)
Añade el siguiente snippet al archivo de configuración de tu cliente MCP (por ejemplo `claude_desktop_config.json`):
```json
{
"mcpServers": {
"sportlink-mcp": {
"command": "node",
"args": [
"c:/Users/48860730/sportlink-mcp/src/index.js"
],
"env": {
"SPORTLINK_API_URL": "http://localhost:3000/api"
}
}
}
}
```
## 🛠️ Herramientas (Tools) Expuestas
El servidor expone un JSON estructurado de retorno `{ total, filtros_aplicados, resultados }` para las siguientes tools:
1. `buscar_pruebas`
2. `buscar_entrenamientos`
3. `buscar_empleos`
4. `buscar_clubes`
5. `buscar_entrenadores`
6. `consultar_perfil`
7. `calcular_match`
TDQS
Scored across 7 tools
Each tool targets a distinct entity type: pruebas, entrenamientos, empleos, clubes, entrenadores, perfil, and match. The repetition of the 'buscar_' prefix is not confusing because the following noun clearly identifies the resource, and consultar_perfil/calcular_match are unique actions.
All tool names follow a consistent verb_noun snake_case pattern (buscar_pruebas, buscar_entrenamientos, consultar_perfil, calcular_match). The only minor variation is that not all use the same verb, but the overall pattern remains uniform.
Seven tools is well within the ideal 3-15 range for this server. Each tool covers a meaningful query type in the sports discovery domain without redundancy.
For a read-only discovery and matchmaking server, the surface is complete: it searches all relevant sport entities (pruebas, entrenamientos, empleos, clubes, entrenadores), provides user profile lookup, and calculates compatibility. There are no obvious dead ends for the apparent purpose.