
Gemini Docs MCP Server

2025.03.03
13
TypeScript文档查询技术学习代码调试开发效率
Gemini Docs MCP Server 是一个基于 Gemini API 的文档访问服务,旨在为各种技术文档提供智能化的查询和解答功能。它特别适用于 Roo/Cline 环境,通过利用 Gemini API 的 2M tokens 上下文窗口,能够直接访问整个文档集,避免了传统 RAG 系统的分块和检索问题。该服务提供了一个精选的知识库,能够生成经过深思熟虑的答案,适用于学习、调试和技术查询。
View on GitHub
Overview
基本能力
产品定位
Gemini Docs MCP Server 是一个基于 Gemini API 的文档访问服务,旨在为各种技术文档提供智能化的查询和解答功能。
核心功能
- 访问精选知识库:避免垃圾结果和误报,提供准确的文档信息。
- 克服上下文窗口限制:直接提供文档,使 LLM 能够访问比单独使用网络搜索更多的信息。
- 定制化响应:LLM 不仅提供文档片段,还能根据整个技术规范生成经过深思熟虑的答案。
- 无需分块或检索:Gemini API 本身作为强大的检索器,无需实现自定义检索器或分块。
- 无需向量化或向量数据库:直接处理纯文本,无需相似性搜索。
适用场景
- 学习新技术文档
- 调试代码问题
- 查询技术文档中的特定任务或最佳实践
- 获取复杂问题的解答
工具列表
- can_x_be_done:检查特定任务是否可以在给定技术中完成。
- hints_for_problem:获取解决特定问题的提示。
- is_this_good_practice:检查代码片段是否遵循最佳实践。
- how_to_do_x:获取特定任务的示例和替代方法。
常见问题解答
- 实时更新:文档是静态的,不会实时更新。
- 上下文窗口限制:LLM 只能看到约 200 万 tokens,可能无法看到某些技术的全部文档。
- 速度问题:使用 Gemini 1.5 Pro 加载大量文档可能会导致响应时间较长。
使用教程
使用依赖
- 需要安装 Smithery 和 bun。
安装教程
npx -y @smithery/cli install @M-Gonzalo/cosa-sai --client claude
配置
在设置文件中配置服务器,例如:
{
"command": "bun",
"args": [
"--watch",
"path/to/repo/cosa-sai-mcp/src/index.ts",
"--verbose"
],
"env": {
"GEMINI_API_KEY": "<your_gemini_api_key>"
},
"disabled": false,
"alwaysAllow": [
"can_x_be_done",
"hints_for_problem",
"is_this_good_practice",
"how_to_do_x"
],
"timeout": 60
}
调试方式
启用 --verbose
标志以启用日志系统。
知识库准备
获取知识库
- 下载公共仓库
- 抓取网站
- 使用其他方法
清理工具
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --directory-prefix=./local_copy --no-verbose --show-progress $1
转换为 Markdown
#!/bin/bash
directory="${1:-.}"
output_file="${2:-concatenated.md}"
echo "Concatenating files in '$directory' into '$output_file'..."
truncate -s 0 "$output_file"
find "$directory" -type f -name '*.html' | while IFS= read -r file; do
echo "=== ${file#./} ===" >> "$output_file"
cat "$file" \
| grep -v 'base64' \
| html2markdown >> "$output_file"
echo -e "\n" >> "$output_file"
done
echo "Done! Output saved to '$output_file'"