如果你经常使用Google Gemini API,是否遇到过查找文档时翻来覆去找不到关键信息的情况?是否希望有一个本地工具能快速检索、整理Gemini的官方文档?今天要介绍的Gemini Docs MCP Server,就是为解决这些问题而生的本地STDIO MCP服务器。它能帮你高效管理、搜索和获取Gemini API的相关文档,让开发过程更顺畅。
一、Gemini Docs MCP Server是什么?
简单来说,Gemini Docs MCP Server是一个运行在本地的工具,通过标准输入输出(STDIO)实现的模型控制协议(MCP)服务器。它的核心作用是为开发者提供Gemini API文档的检索和管理能力,让你不用反复访问在线文档,就能快速找到需要的信息。
无论是想搜索特定概念的解释、查看某个功能的使用说明,还是了解当前Gemini模型的详细信息,这个工具都能帮你轻松实现。而且,它会在启动时自动更新文档,确保你获取的内容始终是最新的。
二、它能帮你做什么?核心功能解析
Gemini Docs MCP Server的功能设计围绕开发者使用Gemini API时的实际需求展开,主要包括以下几个方面:
1. 文档全文搜索
这是最核心的功能之一。它支持对所有Gemini文档页面进行全文检索,不管你想找“embeddings”“模型参数”还是“API调用示例”,只要输入关键词,就能快速定位到相关内容。比如你在开发中遇到“embeddings如何生成”的问题,通过搜索就能直接找到官方文档中的具体说明。
2. 获取功能文档
这个功能有两种用法:如果你想知道Gemini API有哪些可用的文档页面,可以用它列出所有内容;如果你已经知道某个具体页面的名称,也能直接获取该页面的详细内容。比如你想了解“模型训练”相关的文档,既可以先列出所有相关页面,再选择具体查看,也可以直接指定页面名称获取内容。
3. 快速访问当前模型文档
Gemini的模型会不断更新,不同模型的特性、参数、使用限制可能不同。这个功能专门用于快速调取当前Gemini模型的官方文档,帮你及时了解正在使用的模型的详细信息,避免因模型版本差异导致开发问题。
4. 自动更新文档
不用担心文档过时的问题。每次启动服务器时,它都会自动抓取最新的Gemini API文档并更新本地存储,确保你查阅的内容始终与官方保持一致。
三、工作原理:它是如何运作的?
想知道这个工具为什么能高效管理文档吗?其实它的工作流程可以分为四个关键步骤,环环相扣确保文档的及时获取和快速检索:
1. 文档收集(Ingestion)
服务器启动时,首先会访问https://ai.google.dev/gemini-api/docs/llms.txt这个地址,获取所有Gemini文档页面的列表。这个列表就像一个“目录”,告诉服务器有哪些文档需要处理。
2. 文档处理(Processing)
拿到文档页面列表后,服务器会同时(并发)获取每个页面的内容,并对这些内容进行处理——主要是提取纯文本信息,去掉多余的格式、广告等无关内容,只保留核心的文档文字。这样处理后,内容更简洁,也更适合后续的检索。
3. 文档索引(Indexing)
处理好的文本内容会被存储到本地的SQLite数据库中,并且会建立FTS5(Full-Text Search 5)全文检索索引。SQLite是一款轻量级的本地数据库,不需要单独安装服务器,非常适合本地工具使用;而FTS5索引则能让搜索变得更快,即使文档内容很多,也能瞬间找到匹配的结果。
4. 文档检索(Searching)
当你使用“search_documentation”工具时,服务器会直接查询这个带FTS5索引的SQLite数据库,根据你输入的关键词找到最相关的文档内容,然后整理成清晰的格式返回给你。
整个流程可以用下面的序列图直观展示:
sequenceDiagram
    participant Client as MCP Client / IDE
    participant Server as FastMCP Server
    participant DB as SQLite Database
    Client->>Server: call_tool("search_documentation", queries=["embeddings"])
    Server->>DB: Full-Text Search for "embeddings"
    DB-->>Server: Return matching documentation
    Server-->>Client: Return formatted results
从图中可以看到,当你的客户端(比如IDE或其他MCP客户端)发送搜索请求后,服务器会直接与本地数据库交互,快速返回结果,整个过程高效且本地化,不需要依赖外部网络(除了启动时的更新)。
四、如何安装?三种方式任你选
根据你的使用需求和技术习惯,Gemini Docs MCP Server提供了三种安装方式,你可以选择最适合自己的一种:
方式1:使用uvx(推荐)
如果你不想进行复杂的安装步骤,只想快速启动工具,uvx是个好选择。uvx可以直接运行远程包,不需要先“安装”到本地,非常适合临时使用或快速体验。
操作步骤很简单,只需要在终端中输入以下命令:
uvx --from git+https://github.com/philschmid/gemini-api-docs-mcp gemini-docs-mcp
运行后,工具会自动下载并启动,不需要额外配置。
方式2:通过pip直接从GitHub安装
如果你希望将工具安装到本地,方便长期使用,可以用pip直接从GitHub仓库安装。pip是Python的包管理工具,大多数Python开发者对它都很熟悉。
安装命令如下:
pip install git+https://github.com/philschmid/gemini-api-docs-mcp.git
执行后,工具会被安装到你的Python环境中,之后可以直接通过命令启动。
方式3:手动安装(适合开发人员)
如果你想对工具进行二次开发,或者想了解它的源代码,可以选择手动安装。这种方式会将代码克隆到本地,方便你修改和调试。
具体步骤:
- 
克隆代码仓库到本地:
git clone https://github.com/philschmid/gemini-api-docs-mcp.git - 
进入克隆后的文件夹:
cd gemini-api-docs-mcp - 
以可编辑模式安装(修改代码后无需重新安装即可生效):
pip install -e . - 
(可选)如果只是想安装后删除源代码文件夹,可以执行:
cd .. rm -rf gemini-api-docs-mcp 
这种方式适合有开发需求的用户,普通用户直接用前两种方式即可。
五、如何使用?从启动到配置全指南
安装完成后,使用起来也很简单,主要包括启动服务器、配置数据库路径,以及与MCP客户端配合使用三个部分。
1. 启动服务器
如果你通过方式2或方式3安装,启动命令非常直接,在终端输入:
gemini-docs-mcp
第一次运行时,服务器会开始收集和处理Gemini文档,这个过程可能需要几分钟(取决于网络速度和文档数量),之后再次启动会快很多,因为文档已经存储在本地数据库中了。
如果是用方式1(uvx),启动命令就是安装时的那一行,运行后同样会开始文档的初始处理。
2. 配置数据库路径
默认情况下,文档数据库存储在~/.mcp/gemini-api-docs/database.db(“~”代表你的用户主目录)。如果你想更改存储位置,可以通过设置环境变量GEMINI_DOCS_DB_PATH来指定新的路径。
比如在Linux或macOS终端中,可以这样设置:
export GEMINI_DOCS_DB_PATH="/path/to/your/custom/database.db"
在Windows的命令提示符中,则可以用:
set GEMINI_DOCS_DB_PATH="C:\path\to\your\custom\database.db"
设置后,服务器会将文档存储到你指定的位置,方便你管理或备份。
3. 与MCP客户端配合使用
Gemini Docs MCP Server是一个MCP服务器,通常需要与MCP客户端(比如某些IDE插件、开发工具等)配合使用。你需要在客户端中配置服务器的启动命令,这样客户端才能调用服务器的功能。
配置方式根据客户端的不同而略有差异,但核心是指定启动服务器的命令和参数。以下是两种常见的配置示例:
示例1:如果使用uvx启动
{
  "mcpServers": {
    "gemini-docs": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/philschmid/gemini-api-docs-mcp", "gemini-docs-mcp"]
    }
  }
}
示例2:如果已通过pip安装(方式2或3)
{
  "mcpServers": {
    "gemini-docs": {
      "command": "gemini-docs-mcp"
    }
  }
}
将类似的配置添加到你的MCP客户端设置中,客户端就会自动启动并连接到Gemini Docs MCP Server,之后你就能在客户端中直接使用它的功能了。
六、可用工具详解:具体能调用哪些功能?
Gemini Docs MCP Server提供了三个核心工具,每个工具都有明确的用途和参数,你可以根据需要调用:
1. search_documentation:全文搜索文档
作用:根据关键词在所有Gemini文档中进行全文搜索,返回匹配的内容。
参数:queries: list[str](关键词列表,最多支持3个关键词)。
使用场景:当你想查找某个概念、功能或问题的相关文档时使用。比如想了解“如何处理API返回的错误”,可以传入关键词["API错误处理"];如果想更精确,也可以传入多个关键词,比如["embeddings", "生成方法", "Python"]。
2. get_capability_page:获取功能文档
作用:两种用法——不指定参数时,返回所有可用的文档页面列表;指定参数时,返回该页面的具体内容。
参数:capability: str = None(可选,文档页面的名称)。
使用场景:想浏览所有文档目录时,不带参数调用;想查看某个已知页面的内容时,传入页面名称。比如get_capability_page("模型参数说明")会返回该页面的详细内容。
3. get_current_model:获取当前模型文档
作用:快速返回当前Gemini模型的官方文档,包括模型特性、支持的功能、使用限制等。
参数:无。
使用场景:开发中需要确认当前使用的Gemini模型的具体信息时使用,比如想知道模型的最大输入长度、支持的语言等。
七、测试结果:它的可靠性如何?
为了确保工具能提供准确、有效的文档内容,开发团队进行了全面的测试,覆盖了Python和TypeScript两种SDK的相关文档。测试结果如下:
| 指标 | 数值 | 
|---|---|
| 总测试数 | 117 | 
| 通过数 | 114 | 
| 失败数 | 3 | 
数据更新时间:2025-11-03 13:29:01
从结果来看,工具的整体可靠性较高,117项测试中114项通过,说明它能准确地检索和返回大部分文档内容。如果你想了解具体哪些测试通过或失败,可以查看项目中的tests/result.json文件。
八、常见问题(FAQ)
在使用过程中,你可能会遇到一些疑问,这里整理了几个常见问题及解答:
1. 第一次启动时为什么很慢?
第一次启动时,服务器需要从网络上抓取所有Gemini文档页面,进行处理并存储到数据库中,这个过程受网络速度和文档数量影响,可能需要几分钟。之后启动时,因为文档已经存储在本地,就会快很多。
2. 数据库文件可以手动删除吗?
可以。如果删除了数据库文件,下次启动服务器时,它会重新抓取和处理所有文档,相当于重置文档数据。如果你怀疑文档数据有问题(比如内容过时或损坏),可以尝试删除数据库文件后重新启动。
3. 支持同时搜索多个关键词吗?
支持,search_documentation工具的queries参数最多可以传入3个关键词,服务器会根据这些关键词进行联合搜索,返回最相关的结果。
4. 如何确认文档是最新的?
服务器每次启动时都会自动抓取最新的文档列表并更新内容,所以只要你定期重启服务器,就能确保文档是最新的。如果长时间不重启,可能会错过官方文档的更新。
5. 可以在离线状态下使用吗?
在完成第一次文档抓取后,服务器的搜索、获取文档等功能可以在离线状态下使用,因为文档已经存储在本地数据库中。但离线时无法进行文档更新,重启服务器也不会获取新内容。
6. 支持哪些操作系统?
由于它是基于Python开发的跨平台工具,理论上支持Windows、macOS和Linux系统,只要你的系统能安装Python和相关依赖即可。
九、许可证信息
Gemini Docs MCP Server采用MIT许可证,这意味着你可以自由地使用、复制、修改、合并、发布、分发该工具,无论是用于个人项目还是商业项目,都不需要支付费用,但需要保留原作者的版权声明。
总结
Gemini Docs MCP Server是一款针对Gemini API开发者的实用工具,通过本地数据库和全文检索功能,让文档查找变得高效、便捷。它的自动更新机制确保内容时效性,多种安装方式适配不同用户需求,而简单清晰的工具调用方式则降低了使用门槛。
如果你经常与Gemini API打交道,不妨试试这个工具,相信它能帮你节省查找文档的时间,让开发更专注于核心功能的实现。
