Mark MCP tools as readonly for M365 federated connector support.
维护者通常 8 天内回复
还没有人认领这个 Issue。
评估
调研方向
从 MCP 服务器的 tools/list 响应开始,定位 describe_entities、read_records、aggregate_records、create_record、update_record 和 delete_record 的内置 DML 工具定义。将它们的输出与 MCP 注释要求进行比较,然后验证只读工具和写入工具是否公开了预期的 readOnlyHint 和 destructiveHint 值。
由索引模型根据 Issue 内容生成。
描述
Title
MCP tools missing annotations (readOnlyHint/destructiveHint) required by MCP spec and consumers like M365 Copilot Federated Connectors
Summary
DAB's built-in MCP DML tools (describe_entities, read_records, aggregate_records, and presumably create_record/update_record/delete_record) do not emit an annotations object in their tools/list response. This blocks integration with MCP consumers that require tool annotations for safety validation — specifically, Microsoft 365 Copilot's federated connector, which rejects or silently drops tools lacking readOnlyHint.
Current behavior
tools/list response for built-in tools has no annotations field, e.g.:
{
"name": "read_records",
"description": "...",
"inputSchema": { ... }
}
Expected behavior
Each tool should include an annotations object per the MCP spec, e.g.:
{
"name": "read_records",
"description": "...",
"inputSchema": { ... },
"annotations": {
"readOnlyHint": true
}
}
At minimum, describe_entities, read_records, and aggregate_records should be marked readOnlyHint: true. Any write tools (create_record, update_record, delete_record) should be marked readOnlyHint: false and destructiveHint set appropriately (true for delete/update, false for create).
Impact
Without this, DAB's MCP server cannot be registered as a custom connector in Microsoft 365 Copilot (and likely other MCP consumers enforcing the same validation), since these platforms require explicit read-only annotations before allowing a tool to be surfaced/executed.
Environment
DAB version: 2.x (MCP support)
Consumer: Microsoft 365 Copilot federated connector (custom MCP connector)
- 主要语言
- C#
- 星标
- 1.5k
- 派生
- 371
- 平均合并
- 8 天 19 小时
- 30 天内合并 PR
- 10
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Azure/data-api-builder 的其他 Issue
-
pgsql
难度 2/5 1-3 小时 新手友好度 68/100
Azure/data-api-builder#3598 ·
维护者通常 8 天内回复
-
2.x cli mcp-server
难度 2/5 1-3 小时 新手友好度 68/100
Azure/data-api-builder#3576 ·
维护者通常 8 天内回复
-
2.x health-endpoint
难度 2/5 1-3 小时 新手友好度 68/100
Azure/data-api-builder#3570 ·
维护者通常 8 天内回复
-
2.x telemetry
难度 2/5 1-3 小时 新手友好度 68/100
Azure/data-api-builder#3564 ·
维护者通常 8 天内回复
-
2.x telemetry
难度 2/5 1-3 小时 新手友好度 70/100
Azure/data-api-builder#3562 ·
维护者通常 8 天内回复
查看 Azure/data-api-builder 的全部 Issue
相似的 Issue
-
[Simple] NavigationBar primary commands do not render AppBarButton.Content when it is a UIElement未关闭control/navigationbar kind/bug triage/untriaged
难度 2/5 1-3 小时 新手友好度 90/100
unoplatform/uno.toolkit.ui#1652 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
microsoft/copilot-camp#1053 ·
维护者通常 1 天内回复
-
bug effort:S P3
难度 2/5 1-3 小时 新手友好度 84/100
nightscout/nocturne#1861 ·
维护者通常 1 天内回复
-
agentic-workflows area/Docs partner/agentic-workflows
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/fluentui-blazor#5364 ·
维护者通常 1 天内回复