Azure / Azure/data-api-builder

[Gap]: Still no MCP health checks despite MCP being enabled

Abierto
#3,565 0 comentarios 0 reacciones 0 asignados Ver en GitHub
2.x health-endpoint
Lenguaje dominante
C#
Estrellas
1.5k
Forks
370
Merge medio
3 d 22 h
PR fusionados (30 d)
9

Descripción

The health response includes `"mcp": true` in the `configuration` section, but there are no MCP-specific health checks. Only REST and GraphQL entity checks appear.

## Expected

If MCP is enabled and entities are exposed via MCP, MCP endpoint health checks should appear in the `checks` array with tags like `["mcp", "list_tools"]`, similar to how REST and GraphQL each get their own checks.

| Check | Tags | What it validates | Notes |
|-------|------|-------------------|-------|
| **list_tools** | `["mcp", "list_tools"]` | Server up, tools registered, expected count based on what is enabled in the config | Baseline. If this fails, skip the rest. |
| **describe_entities** | `["mcp", "describe_entities"]` | Schema/metadata generation, pagination based on what is enabled in the config | Catches schema generation bugs. Entity count in `data` field is a good signal. |
| **read_entity** (per entity) | `["mcp", "read_entity"]` | Full data retrieval path, top 1 | Mirrors REST/GraphQL per-entity checks. Validates JSON-RPC param binding + result serialization. |
| **aggregate_entity** (per entity) | `["mcp", "aggregate_entity"]` | Aggregation code path, COUNT(*) | Genuinely different query generation than read. Cheap query, high signal. |

** MCP checks would ideally reuse one SSE connection across all MCP checks within a single health evaluation. That keeps the overhead comparable to the REST/GraphQL checks combined rather than multiplied by connection setup cost.

## Actual

The `checks` array only contains:
- Data source checks (`tags: ["data-source"]`)
- REST entity checks (`tags: ["rest", "endpoint"]`)
- GraphQL entity checks (`tags: ["graphql", "endpoint"]`)

No MCP checks exist. Combined with the missing MCP metrics from the OTEL report, MCP remains the least observable API surface.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Localiza la respuesta de health y la generación existente de comprobaciones de entidades de REST y GraphQL; después, sigue cómo se leen las entidades habilitadas desde la configuración. Añade comprobaciones MCP para list_tools, describe_entities, read_entity y aggregate_entity, incluidos los tags indicados y el comportamiento baseline, considerando también la reutilización de una única conexión SSE. Se considera terminado cuando las comprobaciones aparecen únicamente cuando las entidades MCP están habilitadas y validan las rutas indicadas.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp
Área
api, backend, observability
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
55/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.