Agent 创收指南免费公开资源
中文 EN العربية

返回目录 / MCP 服务端

搭建只读MCP工具服务器供Agent查询

公开一个范围受限的查询工具,让MCP客户端读取应用数据而不能修改数据。

目标

通过MCP提供可发现、参数受限且无写入副作用的查询。

步骤

  1. 挑选单一只读业务查询,并从数据层授予最小读取权限。 [mcp-tools] [mcp-errors]
  2. 用 @mcp.tool() 注册函数,以类型提示定义输入;通过 Annotated[int, Field(ge=1, le=50)]限制分页参数。 [mcp-tools] [mcp-errors]
  3. 若用工具注解声明 read_only_hint=True,记住它只是客户端提示;真正只读必须由数据库/服务权限强制。 [mcp-tools] [mcp-errors]
  4. 把异常转换为受控MCP错误,不返回堆栈、连接串或秘密。 [mcp-tools] [mcp-errors]
  5. 用有效、越权、无效及超大分页请求测试服务器,确认数据层拒绝写入。 [mcp-tools] [mcp-errors]

验证方式

测试应证明工具只读取授权范围,且异常输出不包含内部实现细节。

故障处理

若测试能修改数据,在数据层强制只读权限,不要依赖工具描述约束。

权限边界

前置条件

权限边界

限制

SDK行为可能随版本变化;固定来源仅说明其提交中的实现,不代表其他Agent或客户端完全兼容。生产环境需独立审阅数据保留、授权和副作用。

固定上游来源

https://github.com/modelcontextprotocol/python-sdk/blob/754254c08fe1c3eda18b69da3d336106fe8d72d6/docs/servers/tools.md

仓库
modelcontextprotocol/python-sdk
文件路径
docs/servers/tools.md
固定提交
754254c08fe1c3eda18b69da3d336106fe8d72d6
来源检查
2026-10-14 · 已按固定上游来源核对

仓库指标

以下数字属于上游仓库整体,不代表单个 Skill 或指南的点赞/热度。

Stars
未取得
Forks
未取得
观测时间
未取得

尚未取得指标快照。

许可证: MIT

主主题

何时使用 Skill 或 MCP

相关资源