这是一个用于 Google Drive 集成的 Model Context Protocol (MCP) 服务器,使用 FastMCP 构建。提供工具用于读取、写入、搜索和列出 Google Drive 文件,特别关注 Google 文档的操作。
uv sync
service-account-key.jsonpython -m google_drive_mcp.server
无需身份验证流程——服务账户将自动使用密钥文件进行身份验证。
list_files列出 Google Drive 中的文件,可选过滤和分页。
参数:
folder_id(可选):要列出文件的文件夹ID(默认:根)page_size(可选):每页文件数量(默认:50,最大:100)page_token(可选):分页标记mime_type(可选):按 MIME 类型过滤(例如:'application/vnd.google-apps.document')search_files使用查询语法在 Google Drive 中搜索文件。
参数:
query:搜索查询(例如:'name contains "report"')page_size(可选):每页文件数量(默认:50,最大:100)page_token(可选):分页标记read_document分页读取 Google 文档的内容。
参数:
document_id:Google 文档IDtab_id(可选):要读取的具体标签IDstart_index(可选):起始字符索引(默认:0)length(可选):要读取的字符数(默认:5000,最大:10000)write_document写入 Google 文档的内容。
参数:
document_id:Google 文档IDcontent:要写入的内容tab_id(可选):要写入的具体标签IDinsert_index(可选):插入内容的索引位置(默认:末尾)replace_start(可选):替换内容的起始索引replace_end(可选):替换内容的结束索引# 搜索包含 "report" 的文档
search_files(query='name contains "report" and mimeType="application/vnd.google-apps.document"')
# 读取前5000个字符
read_document(document_id="your_doc_id")
# 读取接下来的5000个字符
read_document(document_id="your_doc_id", start_index=5000)
# 在文档的特定标签中写入内容
write_document(
document_id="your_doc_id",
content="Hello, World!",
tab_id="your_tab_id"
)
google_drive_mcp/
├── __init__.py
├── auth.py # Google Drive 认证
└── server.py # FastMCP 服务器实现
# 以开发模式安装
uv pip install -e .
# 运行服务器
python -m google_drive_mcp.server
本项目采用 MIT 许可证。