xlsx-drive-mcp
An MCP server that lets AI agents read and write .xlsx files stored on Google Drive.
README
xlsx-drive-mcp
An MCP server that lets AI agents (Claude and others) read and write .xlsx files
stored on Google Drive. Fills the gap between Excel MCP servers (local files only)
and Google Drive MCP servers (native Google Sheets only).
Features
- Read/write cell values, formulas, formatting, charts
- Full sheet management (create, delete, rename, copy)
- Google Drive authentication with zero extra setup for existing workspace-mcp users
- Conflict detection on concurrent edits
Installation
pip install xlsx-drive-mcp
Requires Python 3.10+.
Authentication
Option A: Existing workspace-mcp users (zero extra setup)
If you already use workspace-mcp, credentials are reused automatically. Skip to Claude Config below.
Option B: Standalone setup
- Go to Google Cloud Console
- Create a project (or use an existing one)
- Enable the Google Drive API
- Create credentials: OAuth client ID → Desktop app
- Download the client ID and secret, then:
export GOOGLE_CLIENT_ID=your_client_id
export GOOGLE_CLIENT_SECRET=your_client_secret
xlsx-drive-mcp auth --user you@example.com
This opens a browser, completes the OAuth flow, and stores credentials at
~/.xlsx-drive-mcp/credentials/you@example.com.json.
Add to your global .gitignore:
~/.xlsx-drive-mcp/
Claude Config
{
"mcpServers": {
"xlsx-drive": {
"command": "xlsx-drive-mcp",
"args": ["--user", "your-actual-email@example.com"]
}
}
}
Replace your-actual-email@example.com with the email you authenticated with.
If you have only one credential file, --user can be omitted.
Scope note
- workspace-mcp users inherit workspace-mcp's scope, which is typically full Drive access.
- Standalone users get
drive.filescope -- access only to files this app created or opened. Withdrive.filescope,list_xlsx_filesonly returns files you've previously opened with this tool. To search all Drive files, use fulldrivescope or the workspace-mcp path.
Finding a folder_id
Open any Drive folder in your browser. The URL looks like:
https://drive.google.com/drive/folders/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74
The folder_id is the last segment: 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74.
Important warnings
write_rangeover formula cells replaces formulas with static values.read_rangewithdata_only=true(default) returns cached values, not live formula results. Usedata_only=falseto get formula strings instead.copy_sheetsilently drops charts and images from the copied sheet (openpyxl limitation).delete_xlsxmoves the file to trash. The user has 30 days to recover it from Drive UI.
Tool reference
| Tool | Description |
|---|---|
list_xlsx_files |
Search Drive for xlsx files |
get_xlsx_info |
Sheet names, data dimensions, named ranges |
create_xlsx |
Create a new blank xlsx on Drive |
delete_xlsx |
Move an xlsx to trash |
list_sheets |
List all sheets |
create_sheet |
Add a new sheet |
delete_sheet |
Remove a sheet |
rename_sheet |
Rename a sheet |
copy_sheet |
Duplicate a sheet (drops charts/images) |
read_range |
Read cell values |
write_range |
Write cell values |
append_rows |
Append rows below last data |
clear_range |
Clear values, preserve formatting |
read_format |
Read cell formatting (colors, bold, borders) |
format_range |
Apply formatting to a range |
set_column_width |
Set column widths |
set_row_height |
Set row heights |
merge_cells |
Merge a cell range |
unmerge_cells |
Unmerge a cell range |
create_chart |
Create a bar, line, pie, or scatter chart |
write_formula |
Write a formula to a single cell |
Troubleshooting
MCP server won't start / tool not found: Claude Desktop launches MCP servers as background processes with no visible output. To see server logs, run the server manually:
xlsx-drive-mcp --user your@email.com
Any errors will appear in the terminal.
list_xlsx_files returns no results:
With drive.file scope, only files this app created or previously opened are visible.
Use get_xlsx_info(file_id) directly with a known file_id from the Drive URL instead.
Shared Drive / Team Drive: Not officially tested in v1. May work; not supported. Open an issue if you test it.
Service accounts: Not supported in v1. Tracked as a roadmap item.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.