Skip to main content
Glama
pghoya2956

Google-Drive-MCP-Server

by pghoya2956

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: 접근을 제한할 루트 폴더 ID

  • PDF_SIZE_LIMIT_MB: PDF 파일 크기 제한 (기본값: 20, 최대: 100) - 선택사항

Google Cloud 시작하기

  1. 새 Google Cloud 프로젝트 생성

  2. 필요한 API 활성화:

  3. OAuth 동의 화면 구성

    • 조직 내에서 테스트하려면 "내부"를 선택

    • 다음 OAuth 범위를 추가:

      • https://www.googleapis.com/auth/drive.readonly

      • https://www.googleapis.com/auth/spreadsheets

  4. OAuth 클라이언트 ID 생성

    • 애플리케이션 유형: "데스크톱 앱"

    • 클라이언트의 OAuth 키 JSON 파일 다운로드

  5. 자격 증명 설정:

    • 다운로드한 키 파일의 이름을 gcp-oauth.keys.json으로 변경

    • GDRIVE_CREDS_DIR 디렉토리에 배치 (예: /Users/username/.config/gdrive-mcp-server)

    • 이 파일은 최초 인증 시에만 사용되며, 브라우저 인증 흐름을 시작합니다

  6. 환경 변수 설정:

    • gcp-oauth.keys.json에서 client_id와 client_secret 값을 확인

    • 이 값들을 환경 변수 CLIENT_ID, CLIENT_SECRET에 설정

    • 토큰 자동 갱신에 필요합니다

  7. 루트 폴더 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"
      }
    }
  }
}

인증 흐름

  1. 최초 실행: 브라우저가 열리며 Google 계정 인증

  2. 토큰 저장: .gdrive-server-credentials.json에 자동 저장

  3. 자동 갱신: 토큰 만료 시 자동으로 갱신

사용 예시

구성이 완료되면 자연어를 사용하여 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 start

100MB 초과

# 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 토큰은 자격 증명 디렉토리에 로컬로 저장됩니다

  • 자격 증명이나 토큰을 버전 관리에 커밋하지 마세요

문제 해결

일반적인 문제

  1. "GDRIVE_ROOT_FOLDER_ID 환경 변수가 필요합니다"

    • 환경이나 구성에서 GDRIVE_ROOT_FOLDER_ID를 설정했는지 확인하세요

  2. "이 유형의 Google Apps 파일을 읽을 수 없습니다"

    • 일부 Google Apps 파일(Forms, Sites 등)은 내보낼 수 없습니다

    • Docs, Sheets, Slides, Drawings만 지원됩니다

  3. 인증 오류

    • .gdrive-server-credentials.json을 삭제하고 다시 인증하세요

    • OAuth 클라이언트가 올바르게 구성되었는지 확인하세요

  4. "파일이 허용된 폴더 범위를 벗어났습니다"

    • 파일이 구성된 루트 폴더 내에 없습니다

    • 파일이 올바른 폴더 계층 구조에 있는지 확인하세요

PDF 관련 문제

  1. "PDF 파일이 20MB를 초과합니다"

    • PDF를 압축하거나 분할하여 20MB 이하로 만드세요

    • Google Drive API의 파일 크기 제한입니다

  2. "이 PDF는 암호로 보호되어 있습니다"

    • PDF 파일의 비밀번호를 제거한 후 다시 시도하세요

    • 암호화된 PDF는 현재 지원하지 않습니다

  3. "이 PDF는 스캔된 이미지로 구성되어 있어 텍스트를 추출할 수 없습니다"

    • OCR 기능을 사용해 텍스트를 추출한 PDF를 생성하세요

    • 현재 OCR 기능은 지원하지 않습니다

Excel 관련 문제

  1. "Excel 파일이 20MB를 초과합니다"

    • Excel 파일을 압축하거나 불필요한 시트를 제거하세요

    • 환경변수 PDF_SIZE_LIMIT_MB로 제한을 늘릴 수 있습니다

  2. "Excel 파싱 오류"

    • .xlsx 형식으로 저장되었는지 확인하세요

    • 파일이 손상되지 않았는지 확인하세요

    • .xls (구버전) 형식은 지원하지 않습니다

  3. "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 tools
gdrive_analyze_imageB

Analyze image files from Google Drive with metadata and preview generation

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesID of the image file to analyze
thumbnailSizeNoThumbnail width in pixels (default: 200)
includeHistogramNoInclude color histogram data (default: false)
generateThumbnailNoGenerate a thumbnail preview (default: true)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
folderIdNoFolder ID to start from (defaults to root folder)
maxDepthNoMaximum depth to traverse (default: 5)
maxItemsNoMaximum items per folder (default: 50)
includeFilesNoInclude files in the structure (default: false, only folders)

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesID of the file to read

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesID of the file to read
endByteNoEnding byte position (inclusive)
encodingNoText encoding (default: utf-8)
maxBytesNoMaximum bytes to read (default: 10MB). Use this to read files in chunks when dealing with very large files.
startByteNoStarting byte position (0-based)

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangesNoOptional array of A1 notation ranges like ['Sheet1!A1:B10']. If not provided, reads entire sheet.
sheetIdNoOptional specific sheet ID to read. If not provided with ranges, reads first sheet.
spreadsheetIdYesThe ID of the Google Sheets spreadsheet (not Excel file ID). Must be a native Google Sheets document.

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeYesCell range in A1 notation (e.g. 'Sheet1!A1')
valueYesNew cell value
fileIdYesID of the spreadsheet

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 7 tool updatesv0.5.2
    • First observedgdrive_analyze_image
    • First observedgdrive_folder_structure
    • First observedgdrive_read_file
    • First observedgdrive_read_large_file
    • First observedgdrive_search
    • First observedgsheets_read
    • First observedgsheets_update_cell

TDQS

A3.5/5.0
Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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