Skip to main content
Glama

Google Toolbox

py-mcp-google-toolbox

ВерсияЛицензия

Сервер MCP, предоставляющий помощникам на базе искусственного интеллекта мощные инструменты для взаимодействия со службами Google, включая Gmail, Google Calendar, Google Drive и Google Search.

Обзор

py-mcp-google-toolbox предоставляет следующие функции, связанные с Google:

  • Операции Gmail (чтение, поиск, отправка, изменение)
  • Управление Google Calendar (создание, перечисление, обновление, удаление событий)
  • Взаимодействие с Google Диском (поиск, чтение файлов)
  • Интеграция с Google Search (поиск в Интернете)

Оглавление

Предпосылки

  1. Python : установите Python 3.12 или выше.
  2. Настройка консоли Google Cloud :
    • Перейти в Google Cloud Console
    • Создайте новый проект или выберите существующий
    • Включите API сервиса:
      1. Перейдите в раздел «API и службы» > «Библиотека»
      2. Найдите и включите «Gmail API».
      3. Найдите и включите «API Google Calendar».
      4. Найдите и включите «Google Drive API»
      5. Форма поискаи включение «API пользовательского поиска»
    • Настройте учетные данные OAuth 2.0 из GCP:
      1. Перейдите в раздел «API и службы» > «Учетные данные».
      2. Нажмите «Создать учетные данные» > «Идентификатор клиента OAuth».
      3. Выберите «Веб-приложение»
      4. Запишите идентификатор клиента и секретный код клиента.
        • Идентификатор клиента
        • Секрет клиента
      5. скачать секретный json и переименовать в credentials.json
    • Сгенерировать ключ API
  3. Перейдите в Custom Search Engine и получите его идентификатор.

Установка

Клон Git
git clone https://github.com/jikime/py-mcp-google-toolbox.git cd py-mcp-google-toolbox
Конфигурация
  1. Установите менеджер пакетов UV:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Создать и активировать виртуальную среду:
uv venv -p 3.12 source .venv/bin/activate # On MacOS/Linux # or .venv\Scripts\activate # On Windows
  1. Установите зависимости:
uv pip install -r requirements.txt
  1. Получить токен обновления (если токен просрочен, вы можете выполнить это)
uv run get_refresh_token.py

Это позволит:

  • Откройте браузер для аутентификации Google OAuth.
  • Запросите следующие разрешения:
    • 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
  • Отобразить токен обновления в консоли
  1. Переменные среды:
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
  1. скопируйте credentials.json в корневую папку проекта (py-mcp-google-toolbox)
Использование Докера
  1. Создайте образ Docker:
docker build -t py-mcp-google-toolbox .
  1. Запустите контейнер:
docker run py-mcp-google-toolbox
Использование локального
  1. Запустите сервер:
mcp run server.py
  1. Запустите MCP Inspector
mcp dev server.py

Настройте параметры MCP

Добавьте конфигурацию сервера в файл настроек MCP:

Приложение Клод для ПК
  1. Для автоматической установки через Smithery :
npx -y @smithery/cli install @jikime/py-mcp-google-toolbox --client claude
  1. Для ручной установки откройте ~/Library/Application Support/Claude/claude_desktop_config.json

Добавьте это к объекту mcpServers :

{ "mcpServers": { "Google Toolbox": { "command": "/path/to/bin/uv", "args": [ "--directory", "/path/to/py-mcp-google-toolbox", "run", "server.py" ] } } }
Курсор IDE

открыть ~/.cursor/mcp.json

Добавьте это к объекту mcpServers :

{ "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" ] } } }

Инструменты Документация

Инструменты Gmail

  • list_emails : список последних писем из почтового ящика Gmail с возможностью фильтрации.
  • search_emails : выполняет расширенный поиск в Gmail с подробным извлечением содержимого писем.
  • send_email : Составляет и отправляет электронные письма с поддержкой получателей CC и BCC.
  • modify_email : Изменяет состояния писем (прочитано/непрочитано, архивировано, отправлено в корзину) путем изменения меток.

Инструменты календаря

  • list_events : Извлекает предстоящие события календаря в указанных временных диапазонах.
  • create_event : создает новые события календаря с указанием участников, местоположения и описания.
  • update_event : Изменяет существующие события календаря с гибким обновлением параметров.
  • delete_event : Удаляет события календаря по идентификатору события

Инструменты для привода

  • read_gdrive_file : считывает и извлекает содержимое из файлов Google Диска
  • search_gdrive : Поиск файлов на Google Диске с помощью настраиваемых запросов.

Инструменты поиска

  • search_google : выполняет поиск в Google и возвращает отформатированные результаты.

Разработка

Для локального тестирования вы можете использовать прилагаемый клиентский скрипт:

# 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:test@example.com" # Example: Send email uv run client.py send_email to="test@example.com" 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="user1@example.com,user2@example.com" # 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="user1@example.com,user2@example.com" # 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

Лицензия

Лицензия Массачусетского технологического института

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    Integrates with Google Tasks to allow listing, reading, searching, creating, updating, and deleting tasks.
    Last updated -
    15
    TypeScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    Enables managing Google Cloud Platform resources through natural language commands in Claude Desktop, supporting comprehensive operations across compute, storage, databases, networking, monitoring, and IAM without manual credential setup.
    Last updated -
    8
    Python
    • Apple
  • -
    security
    A
    license
    -
    quality
    A tool that connects Google Ads with Claude AI, allowing users to analyze advertising data through natural language conversations and access campaign information, performance metrics, keyword analytics, and ad management.
    Last updated -
    60
    Python
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    Enables AI assistants to interact with and manage Google Cloud Platform resources including Compute Engine, Cloud Run, Storage, BigQuery, and other GCP services through a standardized MCP interface.
    Last updated -
    1
    Python
    MIT License
    • Linux
    • Apple

View all related MCP servers

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/jikime/py-mcp-google-toolbox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server