
谷歌工具箱
STDIO谷歌服务工具箱MCP服务器
谷歌服务工具箱MCP服务器
An MCP server that provides AI assistants with powerful tools to interact with Google services, including Gmail, Google Calendar, Google Drive, and Google Search.
py-mcp-google-toolbox provides the following Google-related functionalities:
git clone https://github.com/jikime/py-mcp-google-toolbox.git cd py-mcp-google-toolbox
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv -p 3.12 source .venv/bin/activate # On MacOS/Linux # or .venv\Scripts\activate # On Windows
uv pip install -r requirements.txt
uv run get_refresh_token.py
This will:
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/drive.readonly
token.json
cp env.example .env vi .env # change with your key GOOGLE_API_KEY=your_google_api_key GOOGLE_CSE_ID=your_custom_search_engine_id GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GOOGLE_REFRESH_TOKEN=your_google_refresh_token
docker build -t py-mcp-google-toolbox .
docker run py-mcp-google-toolbox
mcp run server.py
mcp dev server.py
Add the server configuration to your MCP settings file:
npx -y @smithery/cli install @jikime/py-mcp-google-toolbox --client claude
~/Library/Application Support/Claude/claude_desktop_config.json
Add this to the mcpServers
object:
{ "mcpServers": { "Google Toolbox": { "command": "/path/to/bin/uv", "args": [ "--directory", "/path/to/py-mcp-google-toolbox", "run", "server.py" ] } } }
open ~/.cursor/mcp.json
Add this to the mcpServers
object:
{ "mcpServers": { "Google Toolbox": { "command": "/path/to/bin/uv", "args": [ "--directory", "/path/to/py-mcp-google-toolbox", "run", "server.py" ] } } }
{ "mcpServers": { "Google Toolbox": { "command": "docker", "args": [ "run", "-i", "--rm", "py-mcp-google-toolbox" ] } } }
list_emails
: Lists recent emails from Gmail inbox with filtering optionssearch_emails
: Performs advanced Gmail searches with detailed email content retrievalsend_email
: Composes and sends emails with support for CC, BCC recipientsmodify_email
: Changes email states (read/unread, archived, trashed) by modifying labelslist_events
: Retrieves upcoming calendar events within specified time rangescreate_event
: Creates new calendar events with attendees, location, and descriptionupdate_event
: Modifies existing calendar events with flexible parameter updatingdelete_event
: Removes calendar events by event IDread_gdrive_file
: Reads and retrieves content from Google Drive filessearch_gdrive
: Searches Google Drive for files with customizable queriessearch_google
: Performs Google searches and returns formatted resultsFor local testing, you can use the included client script:
# Example: List emails uv run client.py list_emails max_results=5 query="is:unread" # Example: Search emails uv run client.py search_emails query="from:[email protected]" # Example: Send email uv run client.py send_email to="[email protected]" subject="test mail" body="Hello" # Example: Modify email uv run client.py modify_email id=MESSAGE_ID remove_labels=INBOX add_labels=ARCHIVED # Example: List events uv run client.py list_events time_min=2025-05-01T00:00:00+09:00 time_max=2025-05-02T23:59:59+09:00 max_results=5 # Example: Create event uv run client.py create_event summary="new event" start=2025-05-02T10:00:00+09:00 end=2025-05-02T11:00:00+09:00 attendees="[email protected],[email protected]" # Example: Update event uv run client.py update_event event_id=EVENT_ID summary="update event" start=2025-05-02T10:00:00+09:00 end=2025-05-02T11:00:00+09:00 attendees="[email protected],[email protected]" # Example Delete event uv run client.py delete_event event_id=EVENT_ID # Example: Search Google uv run client.py search_google query="what is the MCP?" # Example: Search Google Drive uv run client.py search_gdrive query=mcp # Example: Read file uv run client.py read_gdrive_file file_id=1234567890
MIT License