mcp-blogger-server
v1.0.0
Published
MCP Server for fully managing Blogger.com — blogs, posts, pages, and comments via Google Blogger API v3
Maintainers
Readme
mcp-blogger-server
A fully-featured Model Context Protocol (MCP) server for managing Blogger.com via the Google Blogger API v3.
Connect it to any MCP client (Antigravity, Claude Desktop, etc.) to let AI manage your blogs, posts, pages, and comments entirely through natural language.
Features — 25 Tools
| Category | Tools |
|----------|-------|
| Blogs | list_blogs, get_blog, get_blog_by_url, get_blog_info |
| Posts | list_posts, get_post, get_post_by_path, search_posts, create_post, update_post, publish_post, revert_post, delete_post |
| Pages | list_pages, get_page, create_page, update_page, publish_page, revert_page, delete_page |
| Comments | list_comments, list_all_comments, get_comment, approve_comment, mark_comment_spam, delete_comment |
Setup Guide
Step 1 — Google Cloud Project
- Go to Google Cloud Console
- Create a new project (or reuse an existing one)
- Navigate to APIs & Services → Library
- Search for "Blogger API v3" and click Enable
Step 2 — Create OAuth 2.0 Credentials
- Go to APIs & Services → Credentials
- Click Create Credentials → OAuth 2.0 Client IDs
- Choose Application type: Web application
- Add an Authorized Redirect URI:
http://localhost:3000/oauth/callback - Click Create and note the Client ID and Client Secret
- If prompted for a consent screen: set it to External, add your email as a test user
Step 3 — Configure Environment
# Clone and enter the project
cd f:/proj/mcp-blogger-server
# Copy the example env file
copy .env.example .envEdit .env and fill in:
GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REFRESH_TOKEN= ← leave empty for nowStep 4 — Install Dependencies & Build
npm install
npm run buildStep 5 — Get Your Refresh Token (one-time)
npm run get-tokenThis will:
- Open your browser with the Google authorization page
- After you approve, display your
GOOGLE_REFRESH_TOKENin the terminal - Copy that token into your
.envfile
Step 6 — Register in MCP Config
Add the following to your MCP configuration file (e.g. C:\Users\<you>\.gemini\antigravity\mcp_config.json):
{
"mcpServers": {
"blogger": {
"command": "node",
"args": ["f:/proj/mcp-blogger-server/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "your_client_secret",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}Tip: You can omit the
envblock if you have a.envfile in the project directory — the server loads it automatically viadotenv.
Usage Examples
Once registered, you can talk to the AI naturally:
- "List all my blogs"
- "Create a new post titled 'Hello World' on my blog with ID 1234567890"
- "Publish the draft post with ID 9876543210 on blog 1234567890"
- "Show all pending comments on blog 1234567890"
- "Approve comment 111 on post 222 on blog 1234567890"
- "Delete the page with ID 555 from blog 1234567890"
Development
# Run in development mode (no build needed)
npm run dev
# Build for production
npm run build
# Start built server directly
npm startProject Structure
mcp-blogger-server/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── auth.ts # Google OAuth2 client setup
│ ├── blogs.ts # Blog tools
│ ├── posts.ts # Post tools
│ ├── pages.ts # Page tools
│ └── comments.ts # Comment tools
├── scripts/
│ └── get-token.ts # One-time refresh token helper
├── .env.example
├── package.json
└── tsconfig.json