Skip to main content
Glama
samularagran1408-bot

Inklusport MCP Server (Python)

Inklusport MCP Server (Python)

MCP (Model Context Protocol) server with the same foundation as the class example (mcp>=2.0.0, MCPServer, @server.tool, HTTP transport).

Domain tools do not touch databases: they make HTTP GET requests to ink-ms-users (port 3002) and ink-ms-sports (port 3003). A per-role agent (user, coach, organizer, admin) only sees the tools corresponding to their role.


Tools (read & management → microservices)

Tool

Microservice

Endpoint

Test cases

listar_discapacidades

sports

GET /api/disabilities

CP1-HU16.2

consultar_discapacidad

sports

GET /api/disabilities/{id}

CP2-HU16.2

registrar_discapacidad

sports

POST /api/disabilities

CP1-HU16.1, CP2-HU16.1

editar_discapacidad

sports

PUT /api/disabilities/{id}

CP1-HU16.3, CP2-HU16.3

desactivar_discapacidad

sports

PATCH /api/disabilities/{id}/deactivate

CP1-HU16.4, CP2-HU16.4

reactivar_discapacidad

sports

PATCH /api/disabilities/{id}/activate

CP1-HU16.4

listar_adaptaciones_deporte

sports

GET /api/sport-disabilities/sport/{sportId}

CP1-HU17, CP2-HU17

listar_eventos

sports

GET /api/events

CP1-HU18

crear_evento

sports

POST /api/events

CP2-HU18, CP1-HU18.1, CP2-HU18.1

listar_eventos_disponibles

sports

GET /api/events/available

CP1-HU18.2

consultar_evento

sports

GET /api/events/{id}

CP2-HU18.2

editar_evento

sports

PUT /api/events/{id}

CP1-HU18.3, CP2-HU18.3

cancelar_evento

sports

POST /api/events/{id}/cancel

CP1-HU18.4, CP2-HU18.4

inscribirse_evento

sports

POST /api/registrations

CP1-HU18.5, CP2-HU18.5

consultar_calendario_eventos

sports

GET /api/events/calendar

CP1-HU19, CP2-HU19

consultar_usuario

users

GET /api/internal/users/{id} (or email → id-by-email)

consultar_inscripciones

sports

GET /api/registrations/user/{userId}

consultar_roles_por_email

users

GET /api/internal/users/roles-by-email

listar_rutinas_publicadas

sports

GET /api/routines

listar_rutinas_entrenador

sports

GET /api/routines/trainer/{trainerId}

listar_deportes

sports

GET /api/sports/active


Related MCP server: Strava MCP Broker

Agents by role

AGENT_ROLE in .env (or at startup) filters the tools:

Role

Tools

usuario

events, available events, calendar, register, sports, profile, registrations, adaptations

entrenador

events, calendar, profile, routines, adaptations, disabilities (CRUD/activate)

organizador

events (CRUD/cancel), calendar, disabilities, registrations, adaptations

admin

all event management, disabilities, users, routines and adaptations

all

all of the above

Instructions for Antigravity: agents/usuario.md, entrenador.md, organizador.md, admin.md.


Structure

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)

Configuration (.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

TRANSPORT: sse, streamable-http or stdio.


Quick start (Windows)

1. Environment and installation

cd ink-mcp-inklusport
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

2. MCP server

Users and Sports are not required to start. Without them, tools return success=false (microservice unreachable).

python src/server.py

You should see http://127.0.0.1:8000. Health: http://127.0.0.1:8000/.

3. Test client (another terminal)

.\.venv\Scripts\Activate.ps1
python src/client_test.py

4. One process per role (optional)

# 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.py

Configure Antigravity with all four: agents/antigravity.roles.mcp.json. With a single server (AGENT_ROLE=all): agents/antigravity.mcp.json.


Antigravity

  1. Install Antigravity IDE (not the "pure" agent 2.0).

  2. Start the server with TRANSPORT=streamable-http.

  3. Add the MCP: http://127.0.0.1:8000/mcp.

  4. Paste the prompt from agents/<role>.md as the agent instructions.

  5. Test: "What events are there in Inklusport?". If the response includes the "via": "mcp" field, the agent is using the server and not making up data.


Microservices

From the monorepo root:

docker compose up -d users-service sports-service

Ports: Users 3002, Sports 3003. Read queries are permitAll. Write tools (create/edit/cancel/register) call the same Sports API endpoints and may require a JWT depending on the security profile.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    An 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.
  • F
    license
    -
    quality
    B
    maintenance
    MCP 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.

View all related MCP servers

Related MCP Connectors

  • Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.

  • Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.

  • MCP server for the Inistate platform: module discovery, entry management, and activity submission.

View all MCP Connectors

Latest Blog Posts

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/samularagran1408-bot/ink-mcp-inklusport'

If you have feedback or need assistance with the MCP directory API, please join our Discord server