Google-Drive-MCP-Server
Enables reading Google Documents and converting them to Markdown format.
Allows searching, reading, and managing files within a specified Google Drive folder, including support for various file types like Google Docs, Sheets, PDFs, and Excel files.
Provides tools to read and update cells in Google Sheets, supporting multiple ranges and structured data access.
Allows reading Google Slides presentations and extracting text content.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google-Drive-MCP-Serversearch for project proposals"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Google Drive 서버
지정된 폴더 범위 내에서 Google Drive 파일과 Google Sheets에 대한 안전하고 범위가 지정된 액세스를 제공하는 Model Context Protocol (MCP) 서버입니다. 이 서버를 통해 AI 어시스턴트가 Google Drive 콘텐츠와 상호작용할 수 있습니다.
드라이브 접근 범위
이 서버는 내 드라이브와 공유 드라이브 모두 지원합니다. GDRIVE_ROOT_FOLDER_ID로 지정된 폴더와 그 하위 폴더에만 접근합니다.
내 드라이브: 특정 폴더 ID를 설정하면 해당 폴더 이하만 접근
공유 드라이브: 공유 드라이브 내 폴더 ID를 설정하면 해당 범위만 접근
API 설정:
supportsAllDrives: true로 모든 드라이브 유형 지원
Related MCP server: MCP Google Drive Server
기능
파일 작업: Google Docs, Sheets, PDF, Excel 및 일반 파일 읽기
검색 기능: 허용된 범위 내에서 파일 검색
Sheets 통합: Google Sheets 셀 읽기 및 업데이트
PDF 지원: PDF 파일에서 텍스트 추출 및 메타데이터 분석 (캐싱 지원)
Excel 지원: Excel 파일(.xlsx) 읽기 및 구조화된 데이터 추출 (캐싱 지원)
보안: Google API를 사용한 OAuth2 인증
오류 처리: 지원되지 않는 파일 유형에 대한 우아한 처리
사용 가능한 도구
파일 관리
gdrive_search: Google Drive 파일 검색 (query,pageToken,pageSize)gdrive_read_file: 파일 내용 읽기 (fileId)gdrive_read_large_file: 대용량 파일 읽기 (fileId,startLine,endLine)gdrive_folder_structure: 폴더 구조 탐색 (folderId)gdrive_analyze_image: 이미지 분석 (fileId,prompt)
스프레드시트
gsheets_read: 시트 데이터 읽기 (spreadsheetId,ranges,sheetId)gsheets_update_cell: 셀 업데이트 (fileId,range,value)
지원 파일 유형
Google Docs → Markdown
Google Sheets → CSV
Google Slides → 텍스트
Google Drawings → PNG
PDF 파일 → 텍스트 추출 (메타데이터 포함)
Excel 파일 (.xlsx) → 구조화된 JSON 데이터
일반 파일 (텍스트/바이너리)
설치
npm install @pghoya2956/google-drive-mcp-server구성
환경 변수
프로젝트 루트에 다음 변수를 포함한 .env 파일을 생성합니다:
CLIENT_ID=your-oauth-client-id
CLIENT_SECRET=your-oauth-client-secret
GDRIVE_CREDS_DIR=/path/to/credentials/directory
GDRIVE_ROOT_FOLDER_ID=your-root-folder-id
PDF_SIZE_LIMIT_MB=20환경 변수 역할:
CLIENT_ID,CLIENT_SECRET: 토큰 갱신 시 사용 (gcp-oauth.keys.json의 값과 동일)GDRIVE_CREDS_DIR: 인증 파일들이 저장되는 디렉토리 경로GDRIVE_ROOT_FOLDER_ID: 접근을 제한할 루트 폴더 IDPDF_SIZE_LIMIT_MB: PDF 파일 크기 제한 (기본값: 20, 최대: 100) - 선택사항
Google Cloud 시작하기
Google Drive API
조직 내에서 테스트하려면 "내부"를 선택
다음 OAuth 범위를 추가:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/spreadsheets
애플리케이션 유형: "데스크톱 앱"
클라이언트의 OAuth 키 JSON 파일 다운로드
자격 증명 설정:
다운로드한 키 파일의 이름을
gcp-oauth.keys.json으로 변경GDRIVE_CREDS_DIR디렉토리에 배치 (예:/Users/username/.config/gdrive-mcp-server)이 파일은 최초 인증 시에만 사용되며, 브라우저 인증 흐름을 시작합니다
환경 변수 설정:
gcp-oauth.keys.json에서 client_id와 client_secret 값을 확인이 값들을 환경 변수
CLIENT_ID,CLIENT_SECRET에 설정토큰 자동 갱신에 필요합니다
루트 폴더 ID 찾기:
루트로 사용할 Google Drive 폴더 열기
폴더 ID는 URL에 있습니다:
https://drive.google.com/drive/folders/[FOLDER_ID]
MCP 클라이언트 구성
Claude Desktop
claude_desktop_config.json에 추가:
{
"mcpServers": {
"gdrive": {
"command": "npx",
"args": ["@pghoya2956/gdrive-mcp-server"],
"env": {
"CLIENT_ID": "your-oauth-client-id",
"CLIENT_SECRET": "your-oauth-client-secret",
"GDRIVE_CREDS_DIR": "/path/to/credentials/directory",
"GDRIVE_ROOT_FOLDER_ID": "your-root-folder-id",
"PDF_SIZE_LIMIT_MB": "20"
}
}
}
}인증 흐름
최초 실행: 브라우저가 열리며 Google 계정 인증
토큰 저장:
.gdrive-server-credentials.json에 자동 저장자동 갱신: 토큰 만료 시 자동으로 갱신
사용 예시
구성이 완료되면 자연어를 사용하여 Google Drive와 상호작용할 수 있습니다:
"프로젝트 제안서가 포함된 문서 검색"
"분기별 보고서의 내용 읽기"
"예산 스프레드시트의 A1 셀을 5000으로 업데이트"
"내 드라이브의 모든 스프레드시트 보기"
"계약서 PDF 파일 읽어서 메타데이터 확인하기"
"연간 보고서 PDF의 내용과 페이지 수 확인"
PDF 파일 지원
PDF 읽기 기능
텍스트 추출: PDF 파일에서 텍스트 내용 추출
메타데이터: 페이지 수, 파일 크기, 제목, 작성자, 생성일 등 정보 제공
구조화된 응답: JSON 형식으로 텍스트와 메타데이터를 분리하여 제공
테이블 추출: PDF 내 테이블 자동 감지 및 구조화 (Markdown/JSON 형식)
캐싱 지원: LRU 캐시로 반복 요청 시 성능 향상
캐시 크기: 100MB
캐시 유효 시간: 30분
파일 수정 시 자동 갱신
PDF 제한사항
파일 크기: 최대 20MB까지 지원
암호화된 PDF: 비밀번호 보호 PDF는 지원하지 않음
스캔 문서: 스캔된 이미지로만 구성된 PDF는 텍스트 추출 불가
OCR 미지원: 이미지에서 텍스트 인식(OCR) 기능 없음
PDF 예시 응답
{
"text": "PDF 문서의 텍스트 내용...",
"metadata": {
"pages": 15,
"fileSize": 2097152,
"title": "연간 보고서 2024",
"author": "John Doe",
"createdAt": "2024-01-15T10:30:00Z"
},
"version": "PDF-1.4",
"tables": [
{
"index": 1,
"headers": ["항목", "2023년", "2024년", "변화율"],
"rows": [
["매출", "100억", "120억", "+20%"],
["영업이익", "20억", "25억", "+25%"]
],
"markdown": "| 항목 | 2023년 | 2024년 | 변화율 |\n|---|---|---|---|\n| 매출 | 100억 | 120억 | +20% |\n| 영업이익 | 20억 | 25억 | +25% |"
}
]
}대용량 PDF 처리
PDF 크기 제한
기본 제한: 20MB (환경변수
PDF_SIZE_LIMIT_MB로 조정 가능)최대 제한: 100MB (메모리 제약)
크기별 처리 방법
20MB 이하 (기본)
# gdrive_read_file 사용 - 완전한 PDF 파싱
# 텍스트, 테이블, 메타데이터 추출 가능20-100MB
# 환경변수 설정 후 gdrive_read_file 사용
PDF_SIZE_LIMIT_MB=50 npm start100MB 초과
# gdrive_read_large_file로 부분 읽기
# 주의: PDF 파싱 없음, 원본 내용만 반환
{
"tool": "gdrive_read_large_file",
"arguments": {
"fileId": "your-file-id",
"maxBytes": 10485760, # 10MB씩 읽기
"startByte": 0
}
}도구별 특징 비교
기능 | gdrive_read_file | gdrive_read_large_file |
PDF 텍스트 추출 | ✅ | ❌ |
테이블 추출 | ✅ | ❌ |
메타데이터 | ✅ | ❌ |
크기 제한 | PDF_SIZE_LIMIT_MB | 없음 (부분 읽기) |
캐싱 | ✅ | ❌ |
Excel 파일 처리
Excel 파일 지원
지원 형식: .xlsx (Office 2007 이상)
구조화된 데이터: 각 시트별로 헤더와 데이터를 JSON 형식으로 추출
다중 시트: 모든 시트의 데이터를 한 번에 읽기
캐싱: PDF와 동일한 캐싱 시스템 사용
Excel 읽기 응답 형식
{
"sheetNames": ["Sheet1", "Sheet2"],
"sheets": {
"Sheet1": {
"range": "A1:D10",
"rowCount": 10,
"columnCount": 4,
"headers": ["Name", "Age", "Email", "City"],
"data": [
{
"Name": "John Doe",
"Age": 30,
"Email": "john@example.com",
"City": "New York"
}
],
"rawData": [
["Name", "Age", "Email", "City"],
["John Doe", 30, "john@example.com", "New York"]
],
"csv": "Name,Age,Email,City\nJohn Doe,30,john@example.com,New York"
}
},
"metadata": {
"fileSize": 1048576,
"sheetCount": 2
}
}Excel vs Google Sheets
기능 | Excel 파일 (.xlsx) | Google Sheets |
도구 이름 | gdrive_read_file | gsheets_read |
데이터 수정 | ❌ | ✅ |
특정 범위 읽기 | ❌ (전체 시트) | ✅ |
수식 결과 | ✅ | ✅ |
캐싱 | ✅ | ❌ |
보안 고려사항
서버는 지정된 루트 폴더와 하위 폴더 내의 파일에만 액세스할 수 있습니다
Drive 파일에 대해 읽기 전용 액세스 사용 (업데이트를 허용하는 Sheets 제외)
OAuth 토큰은 자격 증명 디렉토리에 로컬로 저장됩니다
자격 증명이나 토큰을 버전 관리에 커밋하지 마세요
문제 해결
일반적인 문제
"GDRIVE_ROOT_FOLDER_ID 환경 변수가 필요합니다"
환경이나 구성에서
GDRIVE_ROOT_FOLDER_ID를 설정했는지 확인하세요
"이 유형의 Google Apps 파일을 읽을 수 없습니다"
일부 Google Apps 파일(Forms, Sites 등)은 내보낼 수 없습니다
Docs, Sheets, Slides, Drawings만 지원됩니다
인증 오류
.gdrive-server-credentials.json을 삭제하고 다시 인증하세요OAuth 클라이언트가 올바르게 구성되었는지 확인하세요
"파일이 허용된 폴더 범위를 벗어났습니다"
파일이 구성된 루트 폴더 내에 없습니다
파일이 올바른 폴더 계층 구조에 있는지 확인하세요
PDF 관련 문제
"PDF 파일이 20MB를 초과합니다"
PDF를 압축하거나 분할하여 20MB 이하로 만드세요
Google Drive API의 파일 크기 제한입니다
"이 PDF는 암호로 보호되어 있습니다"
PDF 파일의 비밀번호를 제거한 후 다시 시도하세요
암호화된 PDF는 현재 지원하지 않습니다
"이 PDF는 스캔된 이미지로 구성되어 있어 텍스트를 추출할 수 없습니다"
OCR 기능을 사용해 텍스트를 추출한 PDF를 생성하세요
현재 OCR 기능은 지원하지 않습니다
Excel 관련 문제
"Excel 파일이 20MB를 초과합니다"
Excel 파일을 압축하거나 불필요한 시트를 제거하세요
환경변수
PDF_SIZE_LIMIT_MB로 제한을 늘릴 수 있습니다
"Excel 파싱 오류"
.xlsx 형식으로 저장되었는지 확인하세요
파일이 손상되지 않았는지 확인하세요
.xls (구버전) 형식은 지원하지 않습니다
"gsheets_read가 Excel 파일에서 작동하지 않습니다"
gsheets_read는 Google Sheets 전용입니다
Excel 파일은 gdrive_read_file을 사용하세요
개발
소스에서 빌드
# 저장소 복제
git clone https://github.com/pghoya2956/Google-Drive-MCP-Server.git
cd gdrive-mcp-server
# 종속성 설치
npm install
# TypeScript 빌드
npm run build
# 개발 모드로 실행
npm run watch라이센스
이 프로젝트는 이 저장소에서 MIT 라이센스로 배포된 Anthropic, PBC가 원래 개발한 코드를 포함합니다.
기여
기여를 환영합니다! Pull Request를 자유롭게 제출해 주세요.
Available Tools
7 toolsgdrive_analyze_imageB
Analyze image files from Google Drive with metadata and preview generation
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | ID of the image file to analyze | |
| thumbnailSize | No | Thumbnail width in pixels (default: 200) | |
| includeHistogram | No | Include color histogram data (default: false) | |
| generateThumbnail | No | Generate a thumbnail preview (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of disclosing behavioral traits. It does not state whether the operation is read-only, whether 'generateThumbnail' has side effects like creating or modifying files, or what authentication or permission requirements exist. The description is a single sentence that only paraphrases the tool's purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately states the action and resource. It contains no redundant wording or unnecessary details, making it appropriately concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters, no output schema, and no annotations. The description omits critical context such as return value format, default behavior of optional parameters, whether any data is modified, and potential side effects. This leaves an agent with insufficient information to fully anticipate the tool's behavior, especially for a tool with several configurable options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters are fully described in the input schema, giving 100% schema coverage. The description itself adds no additional parameter context, but the high coverage justifies a baseline score of 3. It does not explain how parameters like includeHistogram or generateThumbnail influence the output, but the schema already details their basic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'analyze' and identifies the resource as 'image files from Google Drive', with the added scope of 'metadata and preview generation.' This clearly distinguishes it from sibling tools like gdrive_read_file, gdrive_search, or gsheets_update_cell, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that gdrive_read_file should be used for raw file content or that gdrive_search is for locating files, leaving the agent to infer usage solely from the tool's name and basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_folder_structureA
Display the entire folder structure of Google Drive in a tree format
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | No | Folder ID to start from (defaults to root folder) | |
| maxDepth | No | Maximum depth to traverse (default: 5) | |
| maxItems | No | Maximum items per folder (default: 50) | |
| includeFiles | No | Include files in the structure (default: false, only folders) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It simply says 'display' and provides no information about side effects, performance implications, authorization requirements, or whether it is read-only. The description does not contradict annotations (since none exist), but it is too terse to convey important behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every part—subject, verb, and output format—is meaningful and directly contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 optional parameters and no output schema. The description explains the output as a 'tree format' but does not elaborate on the actual return type (e.g., JSON, string), error behavior, or depth/item limits. While the schema covers parameter details, the missing output schema places a burden on the description to explain return values, which it only partially does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all four optional parameters (folderId, maxDepth, maxItems, includeFiles), resulting in 100% schema description coverage. The tool description adds no additional parameter-specific semantics beyond what the schema already documents, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Display the entire folder structure of Google Drive in a tree format.' It uses a specific verb ('display'), identifies the resource ('folder structure'), and specifies the output format ('tree format'), distinguishing it from sibling tools that search/read files or update sheets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool's use case (displaying folder hierarchy) but does not explicitly state when to use it over alternatives or mention exclusions. No mention of alternatives like gdrive_search, but the purpose is clear enough that an agent could infer when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_read_fileA
Read file contents from Google Drive. Supports text extraction from PDFs and structured data from Excel files (.xlsx). Automatically converts Google Docs/Sheets to readable formats. For very large files (>20MB) or partial reading, use gdrive_read_large_file instead.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | ID of the file to read |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses supported file types and automatic conversion behavior, and flags a size limitation. It does not mention return format or error cases, but for a read operation it offers substantial behavioral context beyond the bare name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, followed by supported formats and an explicit alternative. Every sentence contributes value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should clarify what the caller gets back. It implies text/structured data but does not specify return format (e.g., raw text, JSON, binary). It also does not mention behavior for unsupported file types. This leaves a notable gap for a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (fileId) with description 'ID of the file to read' and 100% schema coverage. The description adds no new parameter-level meaning beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Read file contents from Google Drive' which is a specific verb+resource. It further differentiates itself from siblings by explicitly naming gdrive_read_large_file for large files and outlining supported formats (PDF, Excel, Google Docs/Sheets).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance and an alternative: 'For very large files (>20MB) or partial reading, use gdrive_read_large_file instead.' This gives a clear exclusion criterion and names the alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_read_large_fileA
Read large files (>20MB) from Google Drive with streaming support, or read specific byte ranges from any file. Use this for partial file reading or when gdrive_read_file fails due to size limits. Not suitable for Google Docs/Sheets or files requiring text extraction.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | ID of the file to read | |
| endByte | No | Ending byte position (inclusive) | |
| encoding | No | Text encoding (default: utf-8) | |
| maxBytes | No | Maximum bytes to read (default: 10MB). Use this to read files in chunks when dealing with very large files. | |
| startByte | No | Starting byte position (0-based) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions streaming support, byte-range capabilities, and file-type limitations. While it doesn't describe return format or auth requirements, these are less critical for a read operation and the core behaviors are sufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, followed by usage guidance and exclusions. Every sentence contributes meaningful information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return behavior. It does not state what the tool returns (e.g., raw bytes, stream, or decoded text). While usage and limitations are covered, the missing return-value explanation creates a gap for an AI agent invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with descriptive text for each parameter. The description adds context about streaming and byte ranges but does not provide additional parameter-specific semantics beyond what the schema already defines. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads large files (>20MB) from Google Drive with streaming and byte-range support. It distinguishes itself from the sibling tool gdrive_read_file by explicitly referencing size limits and partial reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Use this for partial file reading or when gdrive_read_file fails due to size limits.' Also states exclusions: 'Not suitable for Google Docs/Sheets or files requiring text extraction.' This clearly delineates usage vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdrive_searchB
Search for files in Google Drive
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| driveId | No | ID of a specific shared drive to search in | |
| pageSize | No | Number of results per page (max 100) | |
| pageToken | No | Token for the next page of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states 'search' without explaining whether it is read-only, what scope it covers, or how results are returned. It does not mention pagination, authentication, or limitations, so the agent lacks critical context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words. It is front-loaded and immediately communicates the core action, earning full marks for conciseness and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an input schema with good parameter detail, the tool lacks an output schema and annotations. The description does not clarify return values, query syntax, or potential edge cases, making it incomplete for an agent to use correctly without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds no additional meaning beyond what the schema provides, which is acceptable given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search for files in Google Drive' clearly states the verb (search) and the resource (files in Google Drive), distinguishing it from sibling tools like gdrive_read_file and gsheets_read. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as gdrive_folder_structure or gdrive_read_large_file. It does not mention exclusions or preferred contexts, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsheets_readA
Read data from Google Sheets (native Google Sheets only, not Excel/CSV files uploaded to Drive). For Excel files (.xlsx), use gdrive_read_file instead. Supports flexible range selection and formatting options.
| Name | Required | Description | Default |
|---|---|---|---|
| ranges | No | Optional array of A1 notation ranges like ['Sheet1!A1:B10']. If not provided, reads entire sheet. | |
| sheetId | No | Optional specific sheet ID to read. If not provided with ranges, reads first sheet. | |
| spreadsheetId | Yes | The ID of the Google Sheets spreadsheet (not Excel file ID). Must be a native Google Sheets document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It does mention the native-only constraint and flexible range selection, but it omits details like return format, pagination, error handling, or confirmation that this is a read-only operation. The disclosure is partial, not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with front-loaded purpose and a clear alternative. Every clause earns its place, and the wording is tight with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple 3-parameter tool with 100% schema coverage and no output schema, the description provides enough context for selection and basic usage: scoping constraints, range flexibility, and alternative for non-native files. The lack of return format details is a minor gap but does not undermine completeness for this straightforward read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with detailed descriptions, so the schema carries the parameter documentation burden. The description adds little beyond restating 'flexible range selection' and mentioning 'formatting options' which do not map to a schema property. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read data from Google Sheets') and the specific resource (native Google Sheets documents). It distinguishes itself from siblings by explicitly excluding Excel/CSV files and pointing to gdrive_read_file, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'native Google Sheets only, not Excel/CSV files uploaded to Drive' and names the alternative tool for Excel files ('use gdrive_read_file instead'). This is clear and actionable for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gsheets_update_cellA
Update a cell value in a Google Spreadsheet
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | Cell range in A1 notation (e.g. 'Sheet1!A1') | |
| value | Yes | New cell value | |
| fileId | Yes | ID of the spreadsheet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention that the operation overwrites the existing cell value, does not describe permissions/authentication requirements, and does not indicate what is returned after the update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence states the core purpose without filler or redundancy. It is appropriately concise for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with fully documented parameters, but the description lacks behavioral details (e.g., overwrite behavior, return value) and usage alternatives. It is minimally adequate, but the absence of annotations and output schema leaves gaps for an agent assessing side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all three parameters with descriptions (fileId, range, value), so schema coverage is 100%. The description adds no additional meaning beyond the term 'cell value,' which is the baseline expected when schema fully documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the action ('Update') and resource ('a cell value in a Google Spreadsheet'), which is specific and distinct from sibling tools like gsheets_read. It communicates exactly what operation is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the goal is to modify a spreadsheet cell, but it does not explicitly state when to choose this tool over gsheets_read or other siblings, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.5.2- First observed
gdrive_analyze_image - First observed
gdrive_folder_structure - First observed
gdrive_read_file - First observed
gdrive_read_large_file - First observed
gdrive_search - First observed
gsheets_read - First observed
gsheets_update_cell
TDQS
Most tools are distinct, but gdrive_read_file and gdrive_read_large_file overlap significantly as both read file contents, differentiated only by size thresholds. Additionally, gsheets_read and gdrive_read_file both handle Google Sheets, which could cause an agent to misselect. Descriptions help, but boundaries are not crisp.
The naming pattern is mostly consistent: resources (gdrive/gsheets) prefixed to verb_noun (e.g., gdrive_search, gsheets_read). However, gdrive_folder_structure is a noun phrase instead of a verb-based name, and gsheets_read lacks the explicit '_file' or '_sheet' suffix seen elsewhere, causing minor deviations.
With 7 tools, the count is well-scoped for a Google Drive server covering search, read, and spreadsheet operations. It is within the ideal 3-15 range and each tool addresses a plausible use case without excessive bloat.
The domain appears to be Google Drive file management, but the toolset only supports search, read, folder structure, and a single spreadsheet cell update. Missing critical operations like file upload, delete, update/move, and more advanced spreadsheet writes create significant gaps that would force agents to hit dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Give Claude only the Google Drive files you choose. Every action logged.
Connect AI assistants to Google Sheets through controlled tools for reading and updating rows.
Create and manage documents, spreadsheets, and presentations from your AI assistant.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive interaction with Google Docs and Google Drive through AI assistants, supporting document reading/writing, rich formatting, table/image insertion, comment management, and complete file/folder operations with secure OAuth authentication.11MIT
- FlicenseNot gradedqualityNot gradedmaintenanceConnects AI assistants like Claude to Google Drive, enabling them to browse, read, search, create, and edit files and folders using Google's official API with secure authentication.-
- FlicenseBqualityDmaintenanceEnables AI assistants to create, read, edit, and manage Google Docs and Drive files with support for formatting, comments, tables, images, and bulk operations.571-
- AlicenseNot gradedqualityDmaintenanceEnables AI models to search, list, and read files from Google Drive with automatic format conversion for Google Workspace documents.6,700MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pghoya2956/Google-Drive-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server