Azure / Azure/data-api-builder

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

Đang mở
#3,565 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
2.x health-endpoint
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.