X

Google Workspace

Information

# Google Drive & Sheets MCP Server A Model Context Protocol (MCP) server built in Rust for interacting with Google Drive and Google Sheets. This tool provides MCP-compatible interfaces for Google Workspace services, allowing it to be used as part of larger agent workflows and compositions. ## Features ### Google Drive Operations - List files in Google Drive with filtering options: - Filter by MIME type - Custom search queries - Configurable page size - Custom ordering ### Google Sheets Operations - Read data from Google Sheets with options: - Specify range - Choose major dimension (ROWS or COLUMNS) - Write data to Google Sheets - Create new spreadsheets with: - Custom title - Multiple sheets - Clear values from ranges in spreadsheets ## MCP Integration This server implements the Model Context Protocol (MCP), making it compatible with agent frameworks like [Distri](https://github.com/distrihub/distri). Each service exposes its capabilities as MCP tools: ### Drive Tools - \`list_files\`: List and filter Drive files with customizable parameters - Available capabilities exposed via \`resources/list\` endpoint ### Sheets Tools - \`read_values\`: Read spreadsheet data with dimension control - \`write_values\`: Write data to spreadsheets - \`create_spreadsheet\`: Create new spreadsheets - \`clear_values\`: Clear ranges in spreadsheets - Available capabilities exposed via \`resources/list\` endpoint ## Prerequisites - Rust (latest stable version) - Google Cloud Project with Drive and Sheets APIs enabled - OAuth 2.0 credentials configured for your Google Cloud Project ## Installation Install the \`mcp-google\` binary directly from GitHub using Cargo: \`\`\`bash cargo install --git https://github.com/distrihub/mcp-google-workspace.git \`\`\` This will install the \`mcp-google\` command to your system. ## Configuration Before using the server, you need to: 1. Set up a Google Cloud Project 2. Enable Google Drive and Google Sheets APIss 3. Create OAuth 2.0 credentials 4. Set up your environment variables: - \`ACCESS_TOKEN\`: Your Google OAuth access token - \`GOOGLE_CLIENT_ID\`: Your OAuth client ID - \`GOOGLE_CLIENT_SECRET\`: Your OAuth client secret - \`GOOGLE_REFRESH_TOKEN\`: Your OAuth refresh token ## Usage ### As MCP Server The servers can be started independently and will communicate using the MCP protocol over stdio: Start the Drive MCP server: \`\`\`bash mcp-google drive --access-token \`\`\` Start the Sheets MCP server: \`\`\`bash mcp-google sheets --access-token \`\`\` ### Using with Distri This server can be used as part of a Distri agent configuration: \`\`\`yaml agents: google_workspace: drive: type: mcp command: ["mcp-google", "drive", "--access-token", "$\{ACCESS_TOKEN\}"] sheets: type: mcp command: ["mcp-google", "sheets", "--access-token", "$\{ACCESS_TOKEN\}"] \`\`\` ### Token Management Refresh your OAuth token: \`\`\`bash mcp-google refresh \ --client-id \ --client-secret \ --refresh-token \`\`\` ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## Note This is an MCP-compatible server that interacts with Google services. Make sure you have appropriate permissions and credentials before using the tool.

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Last Modified