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
Оглавление
Предпосылки
Python : установите Python 3.12 или выше.
Настройка консоли Google Cloud :
Перейти в Google Cloud Console
Создайте новый проект или выберите существующий
Включите API сервиса:
Перейдите в раздел «API и службы» > «Библиотека»
Найдите и включите «Gmail API».
Найдите и включите «API Google Calendar».
Найдите и включите «Google Drive API»
Форма поискаи включение «API пользовательского поиска»
Настройте учетные данные OAuth 2.0 из GCP:
Перейдите в раздел «API и службы» > «Учетные данные».
Нажмите «Создать учетные данные» > «Идентификатор клиента OAuth».
Выберите «Веб-приложение»
Запишите идентификатор клиента и секретный код клиента.
Идентификатор клиента
Секрет клиента
скачать секретный json и переименовать в credentials.json
Сгенерировать ключ API
Перейдите в Custom Search Engine и получите его идентификатор.
Установка
Клон Git
git clone https://github.com/jikime/py-mcp-google-toolbox.git
cd py-mcp-google-toolboxКонфигурация
Установите менеджер пакетов UV:
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Это позволит:
Откройте браузер для аутентификации Google OAuth.
Запросите следующие разрешения:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/gmail.sendhttps://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://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скопируйте credentials.json в корневую папку проекта (py-mcp-google-toolbox)
Использование Докера
Создайте образ Docker:
docker build -t py-mcp-google-toolbox .Запустите контейнер:
docker run py-mcp-google-toolboxИспользование локального
Запустите сервер:
mcp run server.pyЗапустите MCP Inspector
mcp dev server.pyНастройте параметры MCP
Добавьте конфигурацию сервера в файл настроек MCP:
Приложение Клод для ПК
Для автоматической установки через Smithery :
npx -y @smithery/cli install @jikime/py-mcp-google-toolbox --client claudeДля ручной установки откройте
~/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Лицензия
Лицензия Массачусетского технологического института
Appeared in Searches
- Tools for finding trending keywords, ad costs, and storing data in Google Sheets
- How to Create Looker Dashboards
- Automating Workflow for File Processing and Communication
- A server for finding information using Google Search
- An analytics platform for tracking and understanding website and app performance