blogger-mcp

blogger-mcp

A custom MCP server for interacting with Google Blogger blogs. It provides tools to list, create, edit, delete, and publish blog posts through Claude Code or Claude Desktop.

Category
Visit Server

README

blogger-mcp

Google Blogger API v3 기반의 커스텀 MCP 서버. Claude Code / Claude Desktop 등 MCP 호스트에서 자신의 Blogger 블로그에 글을 조회/작성/수정/삭제할 수 있도록 도구(tools)를 제공합니다.

주요 기능 (MCP Tools)

도구 설명
list_blogs 인증된 사용자의 블로그 목록
get_blog_by_url 블로그 URL → Blog ID 조회
list_posts 블로그 글 목록 (status 필터 지원)
get_post 특정 글 조회
create_post 새 글 작성 (isDraft=true로 임시 저장)
update_post 글 수정 (title/content/labels)
delete_post 글 영구 삭제
publish_post 임시 저장 글 발행
revert_post 발행된 글을 임시 저장으로 되돌림

아키텍처

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 앱). 최초 1회 npm run auth로 로컬 콜백 서버를 띄워 토큰을 받아 ~/.config/blogger-mcp/token.json에 저장. refresh token 으로 이후 자동 갱신됨.
  • Scopes: https://www.googleapis.com/auth/blogger
  • Transport: stdio (MCP host가 자식 프로세스로 기동)

빠른 시작

1. 설치 및 빌드

git clone https://github.com/mech12/blogger-mcp.git
cd blogger-mcp
npm install
npm run build

2. OAuth 클라이언트 준비

Google Cloud Console에서 Blogger API v3을 활성화하고 Desktop 앱 타입의 OAuth 클라이언트를 발급받아 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"]
    }
  }
}

환경변수

변수 기본값 설명
BLOGGER_MCP_CRED_DIR ~/.config/blogger-mcp 자격 증명 디렉터리
BLOGGER_MCP_CLIENT_SECRET $CRED_DIR/client_secret.json OAuth 클라이언트 JSON 경로

Blogger API v3 인증 발급 (요약)

  1. Google Cloud 프로젝트 생성 — https://console.cloud.google.com/
  2. API 라이브러리에서 Blogger API v3 사용 설정
  3. OAuth 동의 화면 구성
    • User Type: 외부(External)
    • Scope 추가: https://www.googleapis.com/auth/blogger
    • 테스트 사용자에 본인 Google 계정 추가
  4. 사용자 인증 정보 → OAuth 클라이언트 ID
    • 애플리케이션 유형: 데스크톱 앱
    • 생성 후 JSON 다운로드 → ~/.config/blogger-mcp/client_secret.json
  5. Blog ID 확인
    • Blogger 관리자 URL의 blogID=... 숫자 또는 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로 보호.
  • 에러 전략: tool 호출 실패는 MCP가 자동으로 에러 래핑. 인증 누락 시 No stored token. Run \npm run auth` first.` 메시지로 가이드.
  • 확장 로드맵:
    • 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured