Inklusport MCP Server (Python)
Servidor MCP Inklusport (Python)
Servidor MCP (Model Context Protocol) con la misma base que el ejemplo de clase
(mcp>=2.0.0, MCPServer, @server.tool, transporte HTTP).
Las tools de dominio no tocan bases de datos: hacen GET HTTP a
ink-ms-users (puerto 3002) e ink-ms-sports (puerto 3003). Un agente por rol
(usuario, entrenador, organizador, admin) ve solo las tools que le corresponden.
Herramientas (lectura y gestión → microservicios)
Herramienta | Microservicio | Endpoint | Casos de prueba |
| sports |
| CP1-HU16.2 |
| sports |
| CP2-HU16.2 |
| sports |
| CP1-HU16.1, CP2-HU16.1 |
| sports |
| CP1-HU16.3, CP2-HU16.3 |
| sports |
| CP1-HU16.4, CP2-HU16.4 |
| sports |
| CP1-HU16.4 |
| sports |
| CP1-HU17, CP2-HU17 |
| sports |
| CP1-HU18 |
| sports |
| CP2-HU18, CP1-HU18.1, CP2-HU18.1 |
| sports |
| CP1-HU18.2 |
| sports |
| CP2-HU18.2 |
| sports |
| CP1-HU18.3, CP2-HU18.3 |
| sports |
| CP1-HU18.4, CP2-HU18.4 |
| sports |
| CP1-HU18.5, CP2-HU18.5 |
| sports |
| CP1-HU19, CP2-HU19 |
| users |
| — |
| sports |
| — |
| users |
| — |
| users |
| — |
| users |
| — |
| users |
| — |
| users |
| — |
| users |
| — |
| users |
| — |
| users |
| — |
| users |
| — |
| users |
| — |
| reports |
| — |
| reports |
| — |
| sports |
| — |
| sports |
| — |
| sports |
| — |
| sports |
| — |
| sports |
| — |
Related MCP server: Strava MCP Broker
Agentes por rol
AGENT_ROLE en .env (o al arrancar) filtra las tools:
Rol | Tools |
| eventos, disponibles, calendario, inscribirse, deportes, perfil, inscripciones, adaptaciones |
| eventos, calendario, perfil, rutinas, adaptaciones, discapacidades (CRUD/activar) |
| eventos (CRUD/cancelar), calendario, discapacidades, inscripciones, adaptaciones |
| todas las de gestión: usuarios (bloquear/activar/eliminar/roles), PDF, eventos, discapacidades, deportes, rutinas y adaptaciones |
| todas las anteriores |
Instrucciones para Antigravity: agents/usuario.md, entrenador.md, organizador.md, admin.md.
Estructura
ink-mcp-inklusport/
├── requirements.txt
├── .env / .env.example
├── README.md
├── agents/ # prompts y config MCP para Antigravity
└── src/
├── server.py # servidor MCP y registro de tools
├── ms_client.py # GET HTTP a Users/Sports
└── client_test.py # cliente de prueba (como en clase)Configuración (.env)
TRANSPORT=streamable-http
HOST=127.0.0.1
PORT=8000
AGENT_ROLE=all
USERS_SERVICE_URL=http://localhost:3002
SPORTS_SERVICE_URL=http://localhost:3003
REPORTS_SERVICE_URL=http://localhost:3006TRANSPORT: sse, streamable-http o stdio.
Inicio rápido (Windows)
1. Entorno e instalación
cd ink-mcp-inklusport
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt2. Servidor MCP
Users y Sports no son obligatorios para arrancar. Sin ellos, las tools
devuelven success=false (microservicio no alcanzable).
python src/server.pyDeberías ver http://127.0.0.1:8000. Health: http://127.0.0.1:8000/.
3. Cliente de prueba (otra terminal)
.\.venv\Scripts\Activate.ps1
python src/client_test.py4. Un proceso por rol (opcional)
# terminal 1
$env:AGENT_ROLE="usuario"; $env:PORT="8000"; python src/server.py
# terminal 2
$env:AGENT_ROLE="entrenador"; $env:PORT="8001"; python src/server.py
# terminal 3
$env:AGENT_ROLE="organizador"; $env:PORT="8002"; python src/server.py
# terminal 4
$env:AGENT_ROLE="admin"; $env:PORT="8003"; python src/server.pyConfig Antigravity con los cuatro: agents/antigravity.roles.mcp.json.
Con un solo servidor (AGENT_ROLE=all): agents/antigravity.mcp.json.
Antigravity
Instala Antigravity IDE (no el agente 2.0 “puro”).
Arranca el servidor con
TRANSPORT=streamable-http.Añade el MCP:
http://127.0.0.1:8000/mcp.Pega el prompt de
agents/<rol>.mdcomo instrucciones del agente.Prueba: “¿Qué eventos hay en Inklusport?”. Si la respuesta incluye el campo
"via": "mcp", el agente está usando el servidor y no inventando datos.
Microservicios
Desde la raíz del monorepo:
docker compose up -d users-service sports-service reports-servicePuertos: Users 3002, Sports 3003, Reports 3006. Las consultas de lectura
son permitAll. Las tools de escritura (crear/editar/cancelar/inscribir,
bloquear usuarios, roles, deportes) llaman los mismos endpoints y pueden
exigir JWT de admin/entrenador/organizador según el perfil de seguridad.
This server cannot be deployed
Maintenance
Related MCP Connectors
Eventify MCP server — manage events, attendees, sessions, speakers, sponsors, and analytics.
Strava MCP tools for AI: athletes, activities, segments, clubs, routes. Powered by HAPI MCP server.
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
Discover, hire, and verify real-world physical capability through MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.1MIT
- FlicenseNot gradedqualityDmaintenanceAn HTTP broker that exposes Strava data and operations (activities, routes, segments, etc.) as MCP tools, allowing users to interact with their own Strava account via natural language using per-user OAuth2 authentication.-
- FlicenseNot gradedqualityDmaintenanceMCP server for eventos event management platform, enabling AI assistants to manage events and tickets via API integration. Supports authentication, ticket CRUD operations, and listing with pagination.1-
- FlicenseNot gradedqualityDmaintenanceMCP server that wraps wger fitness/nutrition management platform, providing 15 tools for exercise search, ingredient nutrition lookup, weight tracking, and more, accessible to any MCP-compatible AI agent.-