使用说明
Google Drive MCP 服务器
一个模型上下文协议(MCP)服务器,能够同步任何Google Drive文件夹,并使其内容可通过具备强大语义搜索能力的人工智能助手进行搜索。
建筑
这台服务器使用的是 本地同步方法:
- 从任何Google Drive文件夹下载文档到本地存储
- 从PDF、Google Docs和其他文档中提取文本内容
- 每6小时自动同步以保持最新状态
- 通过本地索引和语义搜索提供快速查询
- 同步后可离线工作
特点/功能
语义搜索
- 基于语义的搜索 使用Transformer嵌入(本地运行,无需API密钥)
- 理解上下文和含义,而不仅仅是关键词
- 返回相关性评分和匹配部分
- 非常适合用于自然语言查询,例如“访问控制的关键要求有哪些?”
重复检测
- 查找概念或内容被多次定义的地方
- 相似度评分以识别近似重复项
- 跨文档逐节对比
交叉参考分析
- 自动提取文档引用(ISO标准、RFC文档、IEEE标准、NIST出版物、自定义文档ID)
- 分析哪些文件引用了其他标准/文件
- 查看每个引用周围的上下文
MCP Resources(公司名,可译为“MCP资源公司”或根据具体语境简化为“MCP资源”)
- 将每个文档暴露为资源(
gdrive:///{document-id}) - 文档可以直接由人工智能助手阅读
MCP 工具
搜索与发现
- 搜索文档 - 基于语义理解(意义导向)的智能搜索,若无法匹配则回退到关键词匹配
- 语义搜索 - 高级语义搜索,附带相关性评分和匹配段落
- 列出文件 - 列出所有可用文档及其元数据
- 获取文档 - 获取特定文档的全部内容
重复检测与分析
- 查找重复项 - 在文档中查找重复或相似的内容
- 分析交叉引用 - 分析所有文档中的文档引用(ISO、RFC、IEEE、NIST、自定义ID)
- 获取文档引用 - 从特定文档中提取所有带有上下文的文档引用
同步管理
- 同步文档 - 手动触发从Google Drive的同步
- 获取同步状态 - 检查同步状态和统计数据
设置
1. Google Cloud Console 设置
- 首选 Google 云控制台
- 创建一个新项目(或选择现有项目)
- 启用Google Drive API:
- 导航至“APIs 和服务”→“库”
- 搜索“Google Drive API”
- 点击“启用”
- 创建OAuth 2.0凭据:
- 前往“APIs 与服务”→“凭据”
- 点击“创建凭据”→“OAuth 客户端 ID”
- 选择“桌面应用”作为应用程序类型
- 下载凭据JSON文件
- 将其保存为
credentials.json在项目根目录中
2. 安装依赖项
npm install
3. 使用Google Drive进行身份验证
npm run build
node dist/setup-auth.js
这将:
- 打开浏览器进行Google认证(如果跳转到未找到页面,请将网址更新为包含端口3000并按回车键)
- 生成一个
token.json为将来查阅存档 - 该令牌将被本地保存并重复使用
- 令牌刷新访问令牌大约在1小时后过期,但会使用刷新令牌自动刷新并持久化到磁盘上
4. 配置Google云端硬盘文件夹
查找您Google Drive文件夹的文件夹ID:
- 在Google Drive中打开该文件夹
- 网址将类似于:
https://drive.google.com/drive/folders/FOLDER_ID_HERE - 复制文件夹ID
设置环境变量:
export GOOGLE_DRIVE_FOLDER_ID="your-folder-id-here"
或者创建一个 .env 文件(可选 - 如需加载,可使用 dotenv):
# Copy the example file
cp .env.example .env
# Then edit .env and add your folder ID
GOOGLE_DRIVE_FOLDER_ID=your-folder-id-here
5. 运行MCP服务器
npm run dev
首次运行时,它会从Google云端硬盘同步所有文档。
与Claude Desktop配合使用
添加到您的Claude桌面配置中(~/Library/Application Support/Claude/claude_desktop_config.json (在 macOS 上):
{
"mcpServers": {
"google-drive": {
"command": "node",
"args": ["/path/to/google-drive-mcp/dist/index.js"],
"env": {
"GOOGLE_DRIVE_FOLDER_ID": "your-folder-id-here"
}
}
}
}
重启Claude桌面应用,您的Google Drive文档即可使用!
发展
# Build TypeScript
npm run build
# Watch mode
npm run watch
# Run server
npm start
文件结构
google-drive-mcp/
├── src/
│ ├── index.ts # Main entry point
│ ├── types.ts # TypeScript type definitions
│ ├── google-drive-sync.ts # Google Drive sync logic
│ ├── semantic-search.ts # Semantic search implementation
│ ├── mcp-server.ts # MCP server implementation
│ ├── setup-auth.ts # Authentication setup script
│ ├── manual-auth.ts # Manual authentication (fallback)
│ └── complete-auth.ts # Complete auth with code
├── storage/ # Local document storage (created on first run)
│ ├── documents.json # Document metadata database
│ └── [file-ids] # Downloaded documents
├── credentials.json # Google OAuth credentials (you provide)
├── token.json # Google OAuth token (auto-generated)
├── package.json
├── tsconfig.json
└── README.md
它是如何工作的
- 初始同步启动时,从指定的Google Drive文件夹下载所有文档
- 文本提取从PDF和Google文档中提取可搜索文本
- 语义索引使用Transformer嵌入构建语义搜索索引
- 本地存储在本地存储文档以实现快速访问
- 自动同步每6小时检查一次更新
- MCP接口通过MCP协议提供文档和搜索功能
- 人工智能集成AI助手可以搜索、阅读并参考您的文档
支持的文件类型
- PDF文档 (带文本提取功能)
- Google Docs (导出为文本)
- Google 电子表格 (导出为CSV格式)
- Google Slides(谷歌幻灯片) (导出为文本)
- 纯文本文件
- 其他文件类型(已下载,但可能无法提取文本)
安全注意事项
credentials.json并且token.json包含敏感数据 - 永远不要提交它们- 服务器仅请求对Google Drive的只读访问权限
- 文件本地存储在
storage/目录 - 确保存储目录上的文件权限设置正确
- 令牌刷新访问令牌在大约1小时后过期,但会使用刷新令牌自动刷新并持久化到磁盘,因此服务器无需重新认证即可继续工作
故障排除
“未找到令牌”错误
运行安装脚本: node dist/setup-auth.js
“GOOGLE_DRIVE_FOLDER_ID 是必需的”错误
设置环境变量,使用你的文件夹ID
文档未同步
- 检查文件夹ID是否正确
- 确保谷歌账户有权访问该文件夹
- 检查网络连接
- 跑
sync_documents手动查看工具以查看详细错误
PDF文本提取失败
有些PDF文件可能是扫描图像,不包含文本。建议对这些文档使用OCR工具。
服务器运行后出现的认证错误
如果服务器运行一段时间后出现认证错误:
- 服务器会自动刷新过期的访问令牌并将其保存到
token.json - 如果刷新令牌本身过期(大约在未使用6个月后),您将需要重新进行身份验证:
node dist/setup-auth.js - 检查一下
token.json文件有效refresh_token田野
用例
这台MCP服务器非常适合用于:
- 文档库使您的团队文档可搜索
- ISO/合规文件搜索ISO标准、合规文件和政策
- 研究论文索引和搜索学术论文
- 技术规格查询技术规格和标准
- 法律文件搜索合同、协议和法律文件
- 知识库任何需要智能搜索的文档集合
AI查询示例
一旦连接到Claude或其他人工智能助手,您就可以提出诸如以下问题:
- “哪些文件提到了风险评估?”
- “查找所有讨论数据加密的文档”
- “备份策略是在哪里定义的?”
- “在所有文档中显示所有关于ISO 27001的引用”
- “哪些文件彼此相似?”
- “在政策文件中查找重复内容”
未来的改进/增强
- 增量同步(仅同步更改的文件)
- 对扫描的PDF进行OCR识别
- 文档版本控制
- 文档分类和标记
- 查询扩展和同义词处理
- 多语言支持
- 支持额外的文件格式
- 自定义参考模式配置
许可证
麻省理工学院(MIT)
