blogger-mcp-toolkit
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_API_KEY | No | Optional API key for read-only access (alias for BLOGGER_API_KEY) | |
| BLOGGER_API_KEY | No | Optional API key for read-only access | |
| GOOGLE_CLIENT_ID | No | OAuth2 Client ID from Google Cloud Console (alias for BLOGGER_CLIENT_ID) | |
| BLOGGER_CLIENT_ID | No | OAuth2 Client ID from Google Cloud Console | |
| GOOGLE_CLIENT_SECRET | No | OAuth2 Client Secret from Google Cloud Console (alias for BLOGGER_CLIENT_SECRET) | |
| GOOGLE_REFRESH_TOKEN | No | OAuth2 Refresh Token (alias for BLOGGER_REFRESH_TOKEN) | |
| BLOGGER_CLIENT_SECRET | No | OAuth2 Client Secret from Google Cloud Console | |
| BLOGGER_REFRESH_TOKEN | No | OAuth2 Refresh Token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| blogger_blogs_getA | Retrieve a single blog's metadata by its unique blog ID. Returns blog details like name, description, URL, and post/page counts. |
| blogger_blogs_getByUrlA | Retrieve a single blog's metadata by its public URL. Useful when you only know the blog address. |
| blogger_blogs_listByUserA | List all blogs associated with a specific user. Returns an array of blogs. |
| blogger_posts_listA | List posts for a specific blog, with optional filtering, pagination, and lightweight summary mode. |
| blogger_posts_getA | Retrieve a single blog post by its unique ID, including content, metadata, labels, and optionally comments and images. |
| blogger_posts_getByPathA | Retrieve a single blog post by its URL path. Useful when resolving public blog links. |
| blogger_posts_searchA | Search across a blog's posts using a text query string, with optional lightweight summary mode. |
| blogger_posts_searchByLabelA | Quickly filter and retrieve posts for a blog by a specific label (tag). |
| blogger_posts_insertC | Create a new blog post. |
| blogger_posts_updateB | Perform a full update of an existing blog post. Replaces the entire post content. |
| blogger_posts_patchB | Perform a partial update of a blog post, updating only the provided fields. |
| blogger_posts_deleteA | Permanently delete a blog post. |
| blogger_posts_publishA | Publish a draft blog post, either immediately or scheduled for the future. |
| blogger_posts_revertB | Revert a published blog post back to a draft. |
| blogger_pages_listB | List all static pages for a specific blog, with optional summary mode to strip heavy HTML. |
| blogger_pages_getA | Retrieve a single static page by its unique page ID, including its content and metadata. |
| blogger_pages_insertA | Create a new static page for a blog with the specified title and HTML content. |
| blogger_pages_updateA | Perform a full update of an existing static page. Replaces the entire page with the new title and content. |
| blogger_pages_patchA | Perform a partial update of an existing static page. Only updates the provided fields (e.g., title or content). |
| blogger_pages_deleteA | Permanently delete a static page by its ID. |
| blogger_comments_listC | List all comments for a specific post. Returns an array of comment objects. |
| blogger_comments_listByBlogA | List comments across all posts in a blog. Useful for a global comment moderation view. |
| blogger_comments_getB | Retrieve a single specific comment by its unique comment ID. |
| blogger_comments_approveA | Approve a comment, removing it from spam or pending status and making it live. |
| blogger_comments_deleteA | Permanently delete a comment from a post. |
| blogger_comments_removeContentA | Remove comment content, replacing it with an admin notice, without fully deleting the comment object. |
| blogger_comments_markAsSpamA | Mark a comment as spam, moving it out of the live view. |
| blogger_users_getA | Retrieve a user's Blogger profile information. Returns details like user ID, display name, profile URL, and location. |
| blogger_media_to_base64A | Convert a local image file (.png, .jpg, .jpeg, .webp, .gif, .svg) into an embedded Base64 Data URI and generate a ready-to-use Blogger tag snippet. Guaranteed permanent embedding inside Blogger post bodies without external host dependencies. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 29 tools
Each tool targets a distinct resource and action, with clear boundaries between list/get/search, full updates vs patches, and comment moderation actions. Even similar tools like posts_update and posts_patch are clearly differentiated by their descriptions.
All tool names follow a consistent blogger_<resource>_<action> pattern using snake_case. Compound actions like getByPath and searchByLabel are also uniformly structured, making the naming predictable and easy to navigate.
At 29 tools, the count exceeds the 25+ threshold, making the server feel heavy. While the scope of Blogger API justifies many tools, the sheer number may overwhelm agents and increase selection complexity.
The toolkit provides thorough CRUD and lifecycle coverage for posts, pages, comments, and blogs, plus user and media utilities. There are no glaring gaps; the inclusion of publish/revert, spam handling, and media embedding makes the surface complete for common Blogger workflows.