返回 MCP 目录
public公开dns本地运行

firebase-docs-mcp

该项目是一个Firebase文档索引和检索系统,包含Go编写的文档索引器、基于Model Context Protocol的服务端以及用于测试的Genkit客户端实现。

article

README

🚀 Firebase 文档 MCP 服务器设置指南

本指南详细介绍了 Firebase 文档 MCP 服务器的设置与使用方法,帮助您高效地进行文档索引和测试工作。

📁 目录布局

docs-mcp

此目录对应 Firebase 文档的索引器,是一个 Go 项目。其主要功能是从指定文件路径抓取并索引 Firebase 文档。

docs-mcp-server

这是模型上下文协议服务器,通过标准输入输出传输方式提供内容服务。

genkit-mcp-tester

这是一个使用 GenKit 实现的 MCP 客户端,专门用于测试 docs-mcp-server

💻 使用方法

🚀 开始索引

  1. 设置 API 密钥:我们使用双子星嵌入模型(Gemini embedding model)处理文档,因此需要从 AI 工作室 获取 API 密钥。在终端中调用 export genaikey="APIKEY" 来设置密钥。
  2. 确保输出目录为空:文件将被写入用户主目录下名为 .indexResp 的文件夹。Go 会从 Firebase 文档网站抓取文档,以 Markdown 格式保存到磁盘,并在 SQL Lite 数据库中进行索引。若索引失败,会执行重试策略,重新将文档索引为 Markdown 格式。
  3. 启动索引过程:在 docs-mcp 文件夹中调用 go run .,这将启动位于 main.go 文件第 291 行附近列出文件路径的索引过程。

🧪 测试索引器

  1. 设置 API 密钥:同样需要从 AI 工作室 获取 API 密钥,并在终端中调用 export genaikey="APIKEY" 进行设置。
  2. 切换目录:切换到 docs-mcp-server 文件夹。
  3. 复制索引数据库:通过调用 cp $HOME/.indexResp/db.sqlite . 将索引数据库复制到当前 docs-mcp-server 文件夹。
  4. 安装依赖项并构建项目:运行 npm ci 然后 npm run build。构建完成后,通过运行 npm run build && npx @modelcontextprotocol/inspector node build/index.js 测试项目。这将启动检查程序,并打印出一个 URL,用于查看 STDIO 服务器。
  5. 连接并测试:在检查程序视图中点击“连接”,然后在工具菜单中选择“List Tools -> find-firebase-doc”,输入请求内容进行测试。

⚠️ 重要提示

作者发现使用 VSCode 的终端时会出现类似问题,因此如果遇到类似问题,请尝试使用系统终端。

🧪 使用 Genkit 进行测试

  1. 设置 API 密钥:在代码中修改 docs-mcp-server/src/helpers/embeddings.ts 文件内容,将
const genAiKey = process.env.genaikey || "";

修改为

const genAiKey = process.env.genaikey || "MYAPIKEY";
  1. 切换目录:切换到 genkit-mcp-tester 目录。
  2. 复制索引数据库:通过调用 cp $HOME/.indexResp/db.sqlite . 将索引数据库复制到当前 genkit-mcp-tester 文件夹。
  3. 安装依赖项并构建项目:运行 npm ci 然后 npm run build。构建完成后,通过运行 npm start 启动 Genkit 测试。
  4. 开始测试:在终端中输入 mcp-tester
  5. 输入测试内容:根据提示输入要处理的内容进行测试。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端