blogger-mcp
blogger-mcp
Пользовательский MCP-сервер на базе Google Blogger API v3. Предоставляет инструменты (tools) для просмотра, создания, редактирования и удаления записей в вашем блоге Blogger через MCP-хосты, такие как Claude Code или Claude Desktop.
Основные функции (MCP Tools)
Инструмент | Описание |
| Список блогов авторизованного пользователя |
| Получение Blog ID по URL блога |
| Список записей блога (поддержка фильтрации по статусу) |
| Получение конкретной записи |
| Создание новой записи (сохранение как черновик через |
| Редактирование записи (title/content/labels) |
| Безвозвратное удаление записи |
| Публикация черновика |
| Возврат опубликованной записи в статус черновика |
Архитектура
Claude Code ──stdio──► blogger-mcp (Node)
│
├─ src/index.ts : MCP server (tools 등록/디스패치)
├─ src/auth.ts : OAuth 2.0 토큰 로드/저장/갱신
└─ src/auth-cli.ts : 최초 1회 대화형 인증용 CLI
│
▼
Google Blogger API v3Авторизация: OAuth 2.0 (Desktop-приложение). При первом запуске
npm run authзапускается локальный сервер обратного вызова для получения токена, который сохраняется в~/.config/blogger-mcp/token.json. В дальнейшем токен автоматически обновляется с помощью refresh token.Scopes:
https://www.googleapis.com/auth/bloggerTransport: stdio (MCP-хост запускает сервер как дочерний процесс)
Быстрый старт
1. Установка и сборка
git clone https://github.com/mech12/blogger-mcp.git
cd blogger-mcp
npm install
npm run build2. Подготовка OAuth-клиента
В Google Cloud Console активируйте Blogger API v3, создайте OAuth-клиент типа Desktop app и скачайте client_secret.json.
mkdir -p ~/.config/blogger-mcp
cp /path/to/client_secret.json ~/.config/blogger-mcp/client_secret.jsonПодробную информацию о настройке Google Cloud см. в разделе Получение авторизации Blogger API v3 ниже.
3. Первичная авторизация
npm run authОткройте URL, отображаемый в браузере, и подтвердите доступ — после этого будет создан файл ~/.config/blogger-mcp/token.json.
4. Регистрация в Claude Code
claude mcp add blogger --scope user -- node /absolute/path/to/blogger-mcp/dist/index.jsИли добавьте напрямую в ~/.claude.json:
{
"mcpServers": {
"blogger": {
"command": "node",
"args": ["/absolute/path/to/blogger-mcp/dist/index.js"]
}
}
}Переменные окружения
Переменная | Значение по умолчанию | Описание |
|
| Директория с учетными данными |
|
| Путь к JSON-файлу OAuth-клиента |
Получение авторизации Blogger API v3 (кратко)
Создайте проект в Google Cloud — https://console.cloud.google.com/
В Библиотеке API включите
Blogger API v3Настройте Экран согласия OAuth
Тип пользователя: Внешний (External)
Добавьте область (Scope):
https://www.googleapis.com/auth/bloggerДобавьте свой Google-аккаунт в список тестовых пользователей
Учетные данные → Идентификатор клиента OAuth
Тип приложения: Десктопное приложение
После создания скачайте JSON →
~/.config/blogger-mcp/client_secret.json
Узнайте Blog ID
Числовой идентификатор из
blogID=...в URL администратора Blogger или через инструментget_blog_by_url
Подробное руководство, специфичное для проекта, находится в
docs/vibe/mcp/blogger-mcp.mdв хост-проекте.
Планы реализации (Design Notes)
Стек: TypeScript + Node 18+,
@modelcontextprotocol/sdk,googleapis,google-auth-library.Хранение токенов:
~/.config/blogger-mcp/. Защищено через.gitignore.Обработка ошибок: Сбои при вызове инструментов автоматически обрабатываются MCP. При отсутствии авторизации выводится подсказка:
No stored token. Runnpm run authfirst.План развития:
Инструмент преобразования Markdown в HTML (на базе
marked)Загрузка изображений (Blogger требует обхода через Picasa/Google Photos — опционально в будущем)
Планирование публикаций (настройка поля
published)
Разработка
npm run dev # tsc --watch
npm run build # dist/ 생성
npm start # dist/index.js 실행 (MCP stdio 서버)
npm run auth # OAuth 최초 인증Лицензия
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/mech12/blogger-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server