恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

MCP Toolbox 的 firestore-get-rules 工具:安全规则检索的完整指南

  • 首页
  • 资讯中心
  • /
  • MCP Toolbox 的 firestore-get-rules 工具:安全规则检索的完整指南

相关资讯

ESP32蓝牙Beacon高精度测距实战:RSSI滤波与路径损耗建模 2026/9/14 9:58:32
AI建站工具怎么选?一套决策框架拆解We0、ChatGPT Sites、Lovable与Bolt 2026/9/14 9:58:32
2026具身智能培训避坑指南:从VLA到真机实操的选课核心指标 2026/9/14 9:58:32

最新资讯

uni-app脚手架vs框架:@meng-xi/create-uni-app与unibest选型指南
Prism框架实战:构建模块化WPF企业应用
AIGC降重工具测评与继续教育应用指南
电子病历系统(EMR)核心技术解析与架构设计
yq 的 with 操作符实战指南:深层路径批量更新与数组元素相对更新
人机交互数据采集系统选型:从传感器到同步架构的核心要点

今日推荐

ASP+Access库存管理系统源码部署与IIS配置实战指南
基于SSM框架的毕业季旧物分类处理系统设计与实现
MATLAB FFT频谱仿真:从DFT原理到参数设置与窗函数选择

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

MCP Toolbox 的 firestore-get-rules 工具:安全规则检索的完整指南

发布时间:2026/9/14 10:03:33
MCP Toolbox 的 firestore-get-rules 工具:安全规则检索的完整指南 MCP Toolbox 的 firestore-get-rules 工具安全规则检索的完整指南【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox本文聚焦 MCP Toolbox for Databases 中的firestore-get-rules工具深入讲解它如何基于 Firebase Rules API 检索当前项目活跃的 Firestore 安全规则、如何通过 YAML 配置接入 MCP Server以及配套的 IAM 权限与前置条件。读完本文你将掌握该工具的配置方法、底层调用链路与返回数据结构能够将其直接用于安全审计、规则巡检与 Agent 工作流。工具概述无参数的安全规则只读查询firestore-get-rules是 MCP Toolbox 中面向 Firestore 集成的一组工具之一它的职责非常单一检索当前项目正在生效的 Firestore 安全规则Security Rules并返回规则内容以及规则集名称、时间戳等元数据。它属于典型的只读工具不接收任何输入参数不修改任何状态因此可以被安全地暴露给 LLM/Agent 用于安全上下文感知。当 Agent 需要判断当前数据库的读写权限约束是什么某条路径是否允许匿名访问时可以先调用本工具获取规则原文再结合具体的数据操作工具制定安全合规的访问策略。在 internal/tools/firestore/firestoregetrules/firestoregetrules.go 中工具类型以常量resourceType firestore-get-rules注册到工具注册表其初始化代码明确说明此工具不需要参数// No parameters needed for this tool并以只读注解tools.NewReadOnlyAnnotations声明其不产生副作用。底层实现两步调用 Firebase Rules API从源码看firestore-get-rules本身是一个薄封装真正的工作由 Firestore Source 的GetRules方法完成见 internal/sources/firestore/firestore.go#L456-L479调用链可以概括为两个步骤获取当前 release 引用的 ruleset工具先构造 release 名称projects/{project}/releases/cloud.firestore/{database}注意默认数据库名(default)会被原样拼入路径调用 Firebase Rules API 的Projects.Releases.Get获取当前生效 release。如果返回的release.RulesetName为空说明该项目与数据库中没有任何活跃规则源码会返回错误no active Firestore rules were found。拉取 ruleset 完整内容拿到RulesetName后再调用Projects.Rulesets.Get获取 ruleset 详情。若 ruleset 的Source为空或Source.Files为空同样会返回明确的错误信息。最终整个firebaserules.Ruleset对象被原样返回给调用方。这种release → ruleset的两段式设计确保获取到的永远是最新发布生效的规则集而不是某个中间版本或草稿这正是安全审计场景下最需要的数据。compatibleSource接口firestoregetrules.go要求关联的 Source 必须实现FirebaseRulesClient()与GetRules(ctx)两个方法Firestore Source 同时满足两者FirebaseRulesClient()返回内部持有的firebaserules.Service实例firestore.go#L118-L120。配置方法一段 YAML 即可接入在 Toolbox 的配置文件YAML中声明一个firestore-get-rules工具非常简单官方文档给出的示例为kind: tool name: get_firestore_rules type: firestore-get-rules source: my-firestore-source description: Use this tool to retrieve the active Firestore security rules.其中各字段的语义如下表fieldtyperequireddescriptionkindstringtrue必须为 tool声明这是一个工具定义。namestringtrue工具实例名Agent 调用时使用的标识如get_firestore_rules。typestringtrue必须为 firestore-get-rules对应已注册的工具类型。sourcestringtrue要读取规则的 Firestore Source 名称须与 source 定义中的 name 一致。descriptionstringtrue传给 LLM 的工具描述用于帮助模型判断何时调用本工具。在 internal/prebuiltconfigs/tools/firestore.yaml 预构建配置中官方默认给出了一个现成示例kind: tool name: get_rules type: firestore-get-rules source: firestore-source description: Retrieves the active Firestore security rules for the current project该文件还把get_rules与validate_rules一起归入名为security的 toolset说明二者是安全规则管理场景下的标准组合。可选扩展authRequired虽然原文档的字段表只列出了三个必填字段但从源码与测试中可以看到配置还支持authRequired与annotations等可选字段。测试用例 firestoregetrules_test.go 演示了带鉴权要求的写法kind: tool name: secure_get_rules type: firestore-get-rules source: prod-firestore description: Get Firestore security rules with authentication authRequired: - google-auth-service - admin-serviceauthRequired用于声明调用该工具需要经过哪些认证服务未声明时默认为空列表。同一个配置文件中还可以用---分隔符声明多个firestore-get-rules工具实例分别指向不同环境dev/staging/prod的 Firestore Source。前置条件Source 定义与 IAM 权限工具本身不含参数但它依赖一个正确配置的 Firestore Source。Source 的最小定义如下详见 docs/en/integrations/firestore/source.mdkind: source name: my-firestore-source type: firestore project: my-project-id # database: my-database # 可选默认为 (default)fieldtyperequireddescriptiontypestringtrue必须为 firestore。projectstringtrue包含 Firestore 数据库的 GCP 项目 ID如 my-project-id。databasestringfalse要连接的 Firestore 数据库名缺省时使用 (default)。需要注意的是GetRules构造 release 名称时会把数据库 ID 直接拼进路径源码 firestore.go#L458因此如果配置了非默认数据库规则检索也会精确落在该数据库对应的 release 上。在权限方面Toolbox 通过 Application Default CredentialsADC完成鉴权。GetRules内部依赖 Firebase Rules APIfirebaserules.Service因此运行服务的 IAM 身份至少需要具备读取规则的权限。参考 source.md 中的角色说明roles/firebaserules.adminFirebase Security Rules 的完整管理权限涵盖创建、更新与管理安全规则的操作仅做只读规则查看时应结合roles/datastore.viewer等只读角色的最小权限原则进行授权。返回结果规则内容与元数据调用成功后工具直接返回 Firebase Rules API 的Ruleset对象google.golang.org/api/firebaserules/v1中的firebaserules.Ruleset其典型字段包括ruleset name规则的完整资源名如projects/{project}/rulesets/{ruleset_id}createTime / updateTime规则集创建与更新时间戳source.files规则源码文件列表每个File包含name如firestore.rules与content规则文本。在实际使用中Agent 最关心的就是source.files[].content中的规则原文。由于返回的是结构化对象而非纯文本模型可以直接解析规则内容并据此判断后续数据操作是否会被安全规则拦截。与 validate_rules 搭配安全工具集firestore-get-rules通常与firestore-validate-rules见 docs/en/integrations/firestore/tools/firestore-validate-rules.md配合使用形成先读取现有规则、再校验新规则的工作流Agent 先取出线上生效的规则修改或生成新规则文本后用validate_rules提交给 Firebase Rules 的 Test API 做语法与语义校验确认无错误后再通过管理面发布。这种组合在 firestore.yaml 的securitytoolset 中已被官方固化开箱即用。测试保障配置解析有据可查工具的配置解析行为有完整的单元测试覆盖firestoregetrules_test.goTestParseFromYamlFirestoreGetRules验证了基础配置与authRequired配置能正确解析为firestoregetrules.Config结构含Type、Source、Description、AuthRequired字段TestParseFromYamlMultipleTools则验证了在一个配置文件中用分隔符声明多个 get-rules 工具对应不同环境的 Source的解析正确性。这意味着你在配置文件中编写该工具定义时可以确信其解析行为与上述规范完全一致。小结firestore-get-rules是 MCP Toolbox Firestore 集成中一个简单但关键的安全只读工具零参数、只读、两步调用 Firebase Rules API 拿到当前生效的规则集。配置只需一段 YAMLtype: firestore-get-rules 正确的source前置条件是配置好 Firestore Source 并授予firebaserules.admin等相应 IAM 角色。对于任何需要安全上下文感知的 Agent 工作流规则审计、权限排查、规则变更前的基线比对它都是值得优先接入的工具。【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号