npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-blogger-server

v1.0.0

Published

MCP Server for fully managing Blogger.com — blogs, posts, pages, and comments via Google Blogger API v3

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

  1. Go to Google Cloud Console
  2. Create a new project (or reuse an existing one)
  3. Navigate to APIs & Services → Library
  4. Search for "Blogger API v3" and click Enable

Step 2 — Create OAuth 2.0 Credentials

  1. Go to APIs & Services → Credentials
  2. Click Create Credentials → OAuth 2.0 Client IDs
  3. Choose Application type: Web application
  4. Add an Authorized Redirect URI: http://localhost:3000/oauth/callback
  5. Click Create and note the Client ID and Client Secret
  6. 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 .env

Edit .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 now

Step 4 — Install Dependencies & Build

npm install
npm run build

Step 5 — Get Your Refresh Token (one-time)

npm run get-token

This will:

  1. Open your browser with the Google authorization page
  2. After you approve, display your GOOGLE_REFRESH_TOKEN in the terminal
  3. Copy that token into your .env file

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 env block if you have a .env file in the project directory — the server loads it automatically via dotenv.


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 start

Project 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