blogger-mcp
blogger-mcp
Пользовательский MCP-сервер на базе Google Blogger API v3. Предоставляет инструменты (tools) для просмотра, создания, редактирования и удаления записей в вашем блоге Blogger через MCP-хосты, такие как Claude Code или Claude Desktop.
Основные функции (MCP Tools)
Инструмент | Описание |
| Список блогов авторизованного пользователя |
| Получение Blog ID по URL блога |
| Список записей блога (поддержка фильтрации по статусу) |
| Получение конкретной записи |
| Создание новой записи (сохранение как черновик через |
| Редактирование записи (title/content/labels) |
| Безвозвратное удаление записи |
| Публикация черновика |
| Возврат опубликованной записи в статус черновика |
Related MCP server: MCP-Google-Doc
Архитектура
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
Available Tools
9 toolscreate_postC
Create a new blog post. Content is HTML; labels is a list of tags. isDraft=true saves as draft.
Inputs: blogId (required), title (required), content (required), labels, +1 more.
delete_postC
Delete a post permanently
Inputs: blogId (required), postId (required).
get_blog_by_urlC
Resolve a Blog ID from a blog URL (e.g. https://xxx.blogspot.com)
Inputs: url (required).
get_postC
Fetch a single post
Inputs: blogId (required), postId (required).
list_blogsB
List blogs owned by the authenticated user
Inputs: no named parameters.
list_postsC
List posts of a blog
Inputs: blogId (required), maxResults, status.
publish_postC
Publish a draft post
Inputs: blogId (required), postId (required).
revert_postC
Revert a published post back to draft
Inputs: blogId (required), postId (required).
update_postC
Update an existing post (title/content/labels).
Inputs: blogId (required), postId (required), title, content, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Every tool has a clearly distinct purpose with no ambiguity. Each tool targets a specific resource (blog, post) and action (create, delete, get, list, publish, revert, update), making it easy for an agent to select the correct one. The separation between operations like publish_post and revert_post is particularly clear.
All tool names follow a consistent verb_noun pattern with snake_case throughout, such as create_post, delete_post, and list_blogs. There are no deviations in naming conventions, making the set predictable and readable for an agent.
With 9 tools, this server is well-scoped for managing blogs and posts, covering essential operations without bloat. Each tool earns its place by addressing a specific need in the blogging workflow, from listing blogs to handling post lifecycles.
The tool surface provides complete CRUD/lifecycle coverage for the blogging domain. It includes create, read (get/list), update, and delete for posts, plus additional lifecycle actions like publish and revert, with no obvious gaps that would cause agent failures.
Maintenance
Related MCP Connectors
An MCP server for the BlogCaster project.
Create, edit, organize, publish, and configure JustBlogged blogs from MCP clients.
Hosted MCP for BlogBat: read, write, generate, and publish blog articles and content.
Hosted MCP for BlogBat: read, write, generate, and publish blog articles and content.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for managing Ghost blogs from AI coding editors. Create, edit, publish, and sync blog posts directly from tools like Claude Code or Cursor.51 npm1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that allows you to connect to Google Docs through Claude, enabling listing, reading, creating, updating, searching, and deleting documents.1,797 npm48MIT
- FlicenseDqualityDmaintenanceMCP server for blog management that provides tools to get, search, and create blog posts via a mock API.3-
- AlicenseNot gradedqualityDmaintenanceMCP server for managing Blogger posts: create, update, retrieve posts, and upload images to GCS via natural language.2MIT