sportlink-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sportlink-mcpBusca entrenamientos de fútbol cerca de mí"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Instalar las dependencias:
npm installConfigurar variables de entorno: Copiar
.env.examplea.envy asegurar queSPORTLINK_API_URLapunte al backend (ej.http://localhost:3000/api).Ejecutar localmente (modo stdio):
npm start
Related MCP server: mcp-sports
🔌 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):
{
"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:
buscar_pruebasbuscar_entrenamientosbuscar_empleosbuscar_clubesbuscar_entrenadoresconsultar_perfilcalcular_match
Available Tools
7 toolsbuscar_clubesA
Busca clubes deportivos registrados en SportLink. Filtra opcionalmente por nombre, ubicacion o deporte.
| Name | Required | Description | Default |
|---|---|---|---|
| nombre | No | Nombre del club | |
| deporte | No | Deporte que ofrece el club | |
| ubicacion | No | Ubicación del club |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden of behavioral disclosure. It correctly implies a read-only search operation and mentions optional filters, but it does not explain the return format, behavior when no filters are provided, pagination, or potential limits. For a low-risk search tool this is acceptable but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that front-load the action and resource. Every word contributes meaning: the domain, the optional filter behavior, and the filter fields. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with zero required parameters, no nested objects, and no output schema, the description covers the essential aspects: purpose and filter options. It does not mention return values or explicitly route away from sibling tools, but these are minor omissions given how straightforward the tool is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats the filter names (nombre, ubicacion, deporte) and adds the notion of optionality, but it does not add deeper semantics such as partial matching, case sensitivity, or how multiple filters combine. It does not need to compensate much because the schema already documents each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Busca') on a clear resource ('clubes deportivos registrados en SportLink') and lists the filter dimensions. The resource type 'clubes' clearly distinguishes this from sibling tools like buscar_pruebas, buscar_entrenamientos, and buscar_entrenadores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when searching for sports clubs in SportLink, with optional filters. It does not explicitly name alternatives or exclusion criteria, but the sibling tool names make the resource boundary obvious, so this is a minor gap rather than a serious one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_empleosA
Busca ofertas de empleo deportivo en SportLink. Filtra opcionalmente por deporte o titulo/nombre.
| Name | Required | Description | Default |
|---|---|---|---|
| nombre | No | Nombre o título del empleo | |
| deporte | No | Nombre o ID del deporte |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No hay anotaciones, por lo que la descripción carga con la transparencia conductual. Indica que es una operación de búsqueda y señala los filtros opcionales, pero no describe el formato de salida, paginación ni si devuelve todos los empleos cuando no se aplican filteros. Es adecuada para un caso sencillo, pero deja lagunas.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dos oraciones cortas y direcas: la prímera define la acción y el recurso, la seguinda explica los filtros opcionales. No hay redundancia ni informacón irrelevante y la informacón clave está al principio.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para una herramienta de búsqueda sencilla con solo dos parámetros opcionales y sin esquema de salida, la descripción cubre lo escencial: qué búsca, dónde y cómofiltrar. Podríra mencionar explícitamente el formatode respuestao distinguirse de los siblings, pero no es crítico para invocar la herramienta correctamente.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
El schema ya documenta ambos parámetros con cobertura del 100%, así que la línea base es 3. La descripción añade valor al indicar que los parámetros son filtros opcionales y al vincularlos con deporte y título/nombre, lo que aclara su propósto de uso.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
La descripción comienza con un verbo específico, 'Busca', y un recurso claro: ofertas de empleo deportivo en SportLink. El ámbito queda bien delimitado y se distingue de los hermanos buscar_pruebas, buscar_entrenamientos y buscar_clubes porque trata específicamente de empleos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
El contexto de uso es claro: sirve para buscar ofertas de trabajo deportivo y permite filtrar por deporte o título/nombre. No menciona explícitamente cuándo no usarlo ni nombra alternativas, pero el contexto bastantemente claro entre los sibling tools de búsqueda.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_entrenadoresA
Busca entrenadores registrados en SportLink. Filtra opcionalmente por deporte, ubicacion o tieneclub.
| Name | Required | Description | Default |
|---|---|---|---|
| deporte | No | Nombre o ID del deporte | |
| tieneclub | No | Si el entrenador pertenece a un club (true/false) | |
| ubicacion | No | Ubicación del entrenador |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden; it does disclose a query-like action and that all filters are optional. However, it omits behavioral details such as whether filters combine, pagination behavior, or what the result set looks like when no filters are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no fluff; the core action is front-loaded and every word contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and all parameters are documented, so no required arguments are missing. Still, without an output schema or annotations, the description leaves the response shape and filter combination behavior implicit, which is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description merely repeats the three filter names and marks them as optional, adding no deeper semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Busca') and resource ('entrenadores registrados en SportLink'), clearly identifying what the tool returns and how it differs from sibling tools like buscar_entrenamientos or buscar_clubes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage for finding registered coaches and lists three optional filters, but it never explicitly states when to prefer this tool over sibling search tools or provides exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_entrenamientosA
Busca entrenamientos deportivos en SportLink. Filtra opcionalmente por deporte, ubicacion o nivel.
| Name | Required | Description | Default |
|---|---|---|---|
| nivel | No | Nivel del entrenamiento (ej. Principiante, Avanzado) | |
| deporte | No | Nombre o ID del deporte | |
| ubicacion | No | Ubicación del entrenamiento |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only search operation and mentions optional filtering, but it does not disclose details like result format, pagination, or authentication requirements. It is adequate but not deeply transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the core purpose first and the optional filters second. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with three optional string parameters and no nested objects, the description is mostly complete. It covers what the tool does and the filtering options, though it omits any mention of the return shape or result limits, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already documented. The description only echoes the parameter names (deporte, ubicacion, nivel) without adding new semantic detail, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Busca entrenamientos deportivos') and the platform ('SportLink'), with optional filters for deporte, ubicacion, and nivel. It also distinguishes itself from siblings like buscar_entrenadores by targeting 'entrenamientos' rather than people.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context: use this to search sports trainings, with optional filters. However, it does not explicitly state when not to use it or mention alternative tools such as buscar_entrenadores or buscar_clubes, so some inference is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_pruebasA
Busca pruebas deportivas en SportLink. Filtra opcionalmente por deporte, zona o categoria.
| Name | Required | Description | Default |
|---|---|---|---|
| zona | No | Zona o ubicación de la prueba | |
| deporte | No | Nombre o ID del deporte | |
| categoria | No | Categoría de la prueba |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden of behavioral disclosure. 'Busca' and 'Filtra' make the core search/filter behavior clear, but the description does not disclose details such as result format, limits, or behavior when no filters are supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It front-loads the primary purpose and then lists the optional filter dimensions, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple optional-filter search tool with no nested objects and no output schema, the description is mostly sufficient: it names the domain, the action, and the filters. The only minor gap is that it does not explicitly mention returning a list of matching events or any pagination/result behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds only that the filters are optional, which is already conveyed by the absence of required fields, and provides no extra format or syntax detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Busca) and resource (pruebas deportivas en SportLink), and the optional filters clarify scope. This cleanly separates it from sibling tools like buscar_entrenamientos, buscar_empleos, and buscar_clubes, which target different resource types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context (search sport events) and indicates that filters are optional, but it does not explicitly say when to prefer this tool over alternatives or mention any exclusions. Correct usage is mostly implied by the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calcular_matchB
Calcula el porcentaje de compatibilidad (match) entre un atleta y una oportunidad (prueba/entrenamiento).
| Name | Required | Description | Default |
|---|---|---|---|
| edadAtleta | No | Edad del atleta | |
| zonaAtleta | No | Zona geográfica del atleta | |
| categoriaMax | No | Edad máxima permitida | |
| categoriaMin | No | Edad mínima requerida | |
| deporteAtleta | Yes | Deporte principal del atleta | |
| zonaOportunidad | No | Zona geográfica de la oportunidad | |
| deporteOportunidad | Yes | Deporte requerido en la oportunidad |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure, but it only says 'calcula', giving no information about side effects, required context, return format, or how the match is computed. The tool appears non-destructive, but that is inferred rather than documented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately communicates the core purpose. It avoids fluff and is well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple in concept but has 7 parameters, no annotations, and no output schema; the description does not explain the expected result format or how to interpret the percentage. This leaves significant gaps for an agent that needs to invoke it correctly and use its output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even though the descriptions are terse labels like 'Edad del atleta'. The tool description itself adds no parameter-level insight beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: calculating a compatibility percentage between an athlete and an opportunity. It is specific and distinct from the sibling tools, which are search and profile viewing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor does it mention prerequisites such as having an athlete profile or opportunity details. It only implies a general use case through the phrase 'entre un atleta y una oportunidad'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_perfilA
Consulta el perfil consolidado de un usuario en SportLink.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | Yes | Tipo de perfil a buscar | |
| idusuario | Yes | ID del usuario (FK) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only states that the tool is a read ('Consulta'), but it does not disclose what 'consolidated' includes, permission requirements, handling of nonexistent users, or any error or response behavior. The single phrase is too thin to be transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It states the verb and resource directly and earns its place without redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema fully documents its parameters, but there is no output schema and the description leaves 'consolidado' undefined. An agent is not told what the returned profile looks like, how empty or invalid IDs are handled, or how this differs from searching for users. This is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%: both required parameters ('idusuario' and 'tipo') already have meaningful descriptions and 'tipo' has an enum. The description adds no extra parameter-level meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Consulta' with a specific object ('el perfil consolidado de un usuario'), clearly identifying the resource and action. It is distinguishable from the sibling 'buscar_*' tools, which are search tools for different entity types, and from 'calcular_match'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool when you need a user's consolidated profile in SportLink. It does not explicitly mention when not to use it or name alternatives, but the unique 'perfil consolidado' scope makes the intended usage evident relative to the search-oriented siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v1.0.0- First observed
buscar_clubes - First observed
buscar_empleos - First observed
buscar_entrenadores - First observed
buscar_entrenamientos - First observed
buscar_pruebas - First observed
calcular_match - First observed
consultar_perfil
TDQS
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Query your SEO data in plain language: rankings, audits, backlinks, competitors and AI visibility.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Ask questions in plain language, get answers from your business database. No SQL required.
1Talk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides access to comprehensive sports data from 5 major leagues (NBA, NFL, MLB, EPL, NHL) including teams, players, games, statistics, standings, injuries, and betting odds through 67+ endpoints. Enables users to query sports information and analytics through natural language.12MIT
- AlicenseNot gradedqualityFmaintenanceWraps TheSportsDB API to enable AI agents to query sports data through natural language.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to access comprehensive sports data including football, basketball, American football, and hockey leagues via 11 tools, with no API key required.MIT

tulidu-sport-mcpofficial
AlicenseNot gradedqualityDmaintenanceEnables AI tools to query sports tournaments, leaderboards, predictions, and match stats from the Tulidu Sport platform.14MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlanGr12/sportlink-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server