关于 Firebase Docs MCP Server Setup
Firebase Docs MCP Server Setup 是一个示例项目,用于索引 Firebase 文档并向 MCP 客户端提供内容。项目包含 Go 索引器、stdio 服务端和用于测试的 Genkit 客户端。
主要功能
- 01索引 Firebase 文档文件
- 02将索引数据存入 SQLite
- 03通过 stdio 提供文档搜索
- 04附带 Genkit MCP 测试客户端
适用场景
- 01搜索已索引的 Firebase 文档
- 02使用 MCP Inspector 测试文档查询
- 03通过 Genkit DevUI 调用工具
MCP 相关
MCP 服务通过 stdio 暴露 `find-firebase-doc` 工具,并使用已索引的文档数据库。项目还介绍了用于测试的 Genkit MCP 客户端和 MCP Inspector。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Firebase 文档 MCP 服务设置
目录布局
docs-mcp
这是 Firebase 文档的索引器。这是一个 Go 项目,用于索引所列文件路径中的 Firebase 文档。
docs-mcp-server
这是一个通过 stdio 传输内容的模型上下文协议服务。
genkit-mcp-tester
这是一个使用 Genkit 实现的 MCP 客户端,用于测试 docs-mcp-server。
使用方法
从索引开始
-
设置 API 密钥。我们使用 Gemini 嵌入模型处理文档,因此需要从 AI Studio 获取 API 密钥。要设置 API 密钥,请在终端中运行
export genaikey="APIKEY" -
确保输出目录为空。我们会在你的主目录中名为
.indexResp的文件夹内写入文件。Go 从 Firebase 文档站点获取文档时,会以 Markdown 格式将文件写入磁盘,并在此目录中的 SQLite 数据库里为其建立索引。如果索引失败,它会执行重试策略,以 Markdown 格式重新索引文档。 -
在
docs-mcp文件夹中运行go run .。这将开始索引main.go文件第 291 行附近列出的文件。
测试索引器
-
设置 API 密钥。我们使用 Gemini 嵌入模型处理文档,因此需要从 AI Studio 获取 API 密钥。要设置 API 密钥,请在终端中运行
export genaikey="APIKEY" -
切换到
docs-mcp-server文件夹。 -
将已索引的数据库复制到本地
docs-mcp-server文件夹。运行cp $HOME/.indexResp/db.sqlite .即可完成此操作。 -
安装依赖项并构建项目。运行
npm ci,然后运行npm run build。项目构建完成后,可以运行npm run build && npx @modelcontextprotocol/inspector node build/index.js来测试项目。 这会启动 Inspector,并显示一个用于查看 STDIO 服务的 URL。 -
在 Inspector 视图中点击“连接”,然后依次点击“工具” ->“列出工具” -> 找到 find-firebase-doc,然后输入你想要使用的请求。**注意:**作者在使用 VSCode 内置终端运行此步骤时遇到了一些问题,因此如果你遇到类似问题,请尝试使用系统终端。
使用 Genkit 进行测试
-
在代码中设置 API 密钥,方法是将 embedding.ts 中的这一行从:
const genAiKey = process.env.genaikey || "";改为const genAiKey = process.env.genaikey || "MYAPIKEY"; -
切换到
genkit-mcp-tester目录。 -
将已索引的数据库复制到本地
genkit-mcp-tester文件夹。运行cp $HOME/.indexResp/db.sqlite .即可完成此操作。 -
安装依赖项并构建项目。运行
npm ci,然后运行npm run build。项目构建完成后,可以运行npx genkit start -- npx tsx --watch src/index.ts来测试项目。 这会启动 Genkit DevUI,你可以直接在其中与工作流和工具交互。打开 DevUI(通常位于 http://localhost:4000),然后前往“工具” ->find-firebase-doc/find-firebase-doc工具并在此处发起请求。你可以看到请求返回了与 modelcontextprotocol/inspector 中相同的结果。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。