Azure / Azure/data-api-builder
[Gap]: Still no MCP health checks despite MCP being enabled
- Ngôn ngữ chính
- C#
- Star
- 1.5k
- Fork
- 370
- Merge trung bình
- 3 ngày 22 giờ
- Pull request đã merge (30 ngày)
- 9
Mô tả
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.
Hướng dẫn đóng góp
Hướng nghiên cứu
Tìm response health và phần tạo entity-check hiện có cho REST và GraphQL, sau đó lần theo cách các entity được bật được đọc từ cấu hình. Thêm các MCP check cho list_tools, describe_entities, read_entity và aggregate_entity, bao gồm các tag đã nêu và baseline behavior, đồng thời cân nhắc việc tái sử dụng một kết nối SSE. Hoàn thành khi các check chỉ xuất hiện nếu MCP entities được bật và xác thực các path được liệt kê.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- csharp
- Lĩnh vực
- api, backend, observability
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 55/100