Skip to main content
Glama

py-mcp-google-toolbox

значок кузнеца ВерсияЛицензия

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

Обзор

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

  • Операции Gmail (чтение, поиск, отправка, изменение)

  • Управление Google Calendar (создание, перечисление, обновление, удаление событий)

  • Взаимодействие с Google Диском (поиск, чтение файлов)

  • Интеграция с Google Search (поиск в Интернете)

Related MCP server: Algolia

Оглавление

Предпосылки

  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

Лицензия

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

Latest Blog Posts

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