Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Mark MCP tools as readonly for M365 federated connector support.

未关闭
#3,798 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 8 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
65/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
csharp
领域
api

调研方向

从 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

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Azure/data-api-builder 的其他 Issue

查看 Azure/data-api-builder 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。