MCP Google Sheets Server
Enables reading, writing, and managing Google Sheets documents with support for batch operations, formatting, charts, and conditional formatting through the Model Context Protocol.
README
GoogleSheetsMCP - AgenticLedger Platform
Google Sheets MCP Server
Production-ready MCP server providing comprehensive Google Sheets integration for the AgenticLedger AI Agent Platform.
🚀 Features
- 26 Production-Ready Tools - Complete CRUD operations, formatting, charts, sheet management
- Service Account Authentication - Persistent, shareable credentials
- Batch Operations - 50-70% faster than sequential operations
- Advanced Formatting - Colors, fonts, borders, conditional formatting, cell merging
- Chart Creation - LINE, BAR, COLUMN, PIE, SCATTER, AREA, COMBO charts
- Type-Safe - Full TypeScript with Zod schema validation
- 100% Documented - Comprehensive guides for developers and AI agents
📦 Quick Start
Installation
# Clone repository
git clone https://github.com/oregpt/Agenticledger_MCP_SheetsOnly.git
cd Agenticledger_MCP_SheetsOnly
# Install dependencies
npm install
# Build
npm run build
Authentication Setup
- Create Google Cloud Project (see GOOGLE_CLOUD_SETUP.md)
- Enable Google Sheets API
- Create Service Account and download JSON key
- Configure environment:
# Create .env file
cp .env.example .env
# Edit .env with your credentials
GOOGLE_PROJECT_ID=your-project-id
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
TEST_SPREADSHEET_ID=your-test-spreadsheet-id
- Share spreadsheets with service account email (from JSON key)
Run Tests
npm run test:integration
🛠️ Available Tools (26)
<details> <summary><b>Reading Data (4 tools)</b></summary>
sheets_check_access- Verify spreadsheet accesssheets_get_values- Read cell values from rangesheets_batch_get_values- Read multiple ranges at oncesheets_get_metadata- Get spreadsheet metadata
</details>
<details> <summary><b>Writing Data (5 tools)</b></summary>
sheets_update_values- Update cell valuessheets_batch_update_values- Update multiple rangessheets_append_values- Append rows to tablesheets_clear_values- Clear cell contentssheets_insert_rows- Insert rows at position
</details>
<details> <summary><b>Sheet Management (6 tools)</b></summary>
sheets_insert_sheet- Create new sheetsheets_delete_sheet- Delete sheetsheets_duplicate_sheet- Duplicate sheetsheets_copy_to- Copy sheet to another spreadsheetsheets_update_sheet_properties- Update sheet propertiessheets_batch_delete_sheets- Delete multiple sheets
</details>
<details> <summary><b>Formatting (6 tools)</b></summary>
sheets_format_cells- Apply cell formattingsheets_batch_format_cells- Format multiple rangessheets_update_borders- Add/modify borderssheets_merge_cells- Merge cellssheets_unmerge_cells- Unmerge cellssheets_add_conditional_formatting- Add conditional rules
</details>
<details> <summary><b>Charts (3 tools)</b></summary>
sheets_create_chart- Create chartsheets_update_chart- Update existing chartsheets_delete_chart- Delete chart
</details>
<details> <summary><b>Additional (2 tools)</b></summary>
sheets_insert_link- Insert hyperlinksheets_insert_date- Insert formatted date/time
</details>
📖 Documentation
For Developers
- README_AGENTICLEDGER.md - Complete integration guide
- PLATFORM_INTEGRATION_REPORT.md - Detailed tool documentation with real API tests
- GOOGLE_CLOUD_SETUP.md - Step-by-step authentication setup
For AI Agents
- ABILITIES_LIMITATIONS.md - Smart workarounds, best practices, optimization strategies
Example Files
.env.example- Environment configuration templateservice-account-key.example.json- Credentials format exampletest-integration.ts- Integration test suite
💡 Example Usage
Read Data
const result = await sheets_get_values({
spreadsheetId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms",
range: "Sheet1!A1:C10"
});
Write Data
await sheets_update_values({
spreadsheetId: "1BxiMVs0XRA...",
range: "Sheet1!A1",
values: [
["Name", "Age", "Email"],
["Alice", "25", "alice@example.com"]
]
});
Format Cells
await sheets_format_cells({
spreadsheetId: "1BxiMVs0XRA...",
range: "Sheet1!A1:C1",
backgroundColor: "#4285F4",
foregroundColor: "#FFFFFF",
bold: true
});
Create Chart
await sheets_create_chart({
spreadsheetId: "1BxiMVs0XRA...",
sheetId: 0,
chartType: "COLUMN",
sourceRange: "Sheet1!A1:B10",
position: { anchorCell: "E1" }
});
🔐 Security
- Never commit credentials (
service-account-key.json,.env) - Share spreadsheets explicitly with service account email
- Use environment variables for sensitive data
- Rotate keys regularly (every 90 days recommended)
- Monitor API usage in Google Cloud Console
📊 Performance
- Average Response Time: 477ms per operation
- Batch Operations: 50-70% faster than sequential
- API Quotas: 100 requests per 100 seconds per user
- Recommendation: Use batch operations for 2+ ranges
🤝 Contributing
This is an AgenticLedger platform-customized version of freema/mcp-gsheets.
AgenticLedger Customizations:
- Platform-specific documentation
- Integration test suite
- AI agent guides
- Example files and templates
📜 License
MIT License - See LICENSE file
🔗 Links
- Repository: https://github.com/oregpt/Agenticledger_MCP_SheetsOnly
- Upstream Source: https://github.com/freema/mcp-gsheets
- AgenticLedger Platform: [Platform Documentation]
- Google Sheets API: https://developers.google.com/sheets/api
📞 Support
-
Check Documentation:
- README_AGENTICLEDGER.md - Integration guide
- PLATFORM_INTEGRATION_REPORT.md - Tool reference
- GOOGLE_CLOUD_SETUP.md - Authentication help
-
Run Diagnostics:
npm run test:integration -
Review Examples:
- See
test-integration.tsfor real API usage examples
- See
Status: ✅ Production Ready Version: 1.5.2 Last Updated: 2025-11-03 Total Tools: 26 Platform: AgenticLedger
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.