blog-mcp

blog-mcp

자동으로 네이버 블로그 글을 생성하고 발행하는 MCP 서버로, 사진과 간단한 정보를 입력하면 SEO 최적화된 초안을 작성하고 스타일 학습을 통해 개인화된 글을 쓸 수 있습니다.

Category
Visit Server

README

blog-mcp

네이버 블로그 포스팅을 자동 생성·발행하는 MCP(Model Context Protocol) 서버입니다. Claude Desktop에 연결하면 사진과 간단한 정보만으로 SEO 최적화된 블로그 글을 즉시 작성할 수 있습니다.


기능

설명
generate_blog 이미지 + 정보 → 블로그 초안 자동 생성
save_draft 생성된 글을 파일로 저장 + 히스토리 기록
list_drafts 저장된 초안 목록 조회
load_draft 초안 ID로 내용 불러오기
delete_draft 초안 삭제
publish_to_naver 블로그 글을 클립보드에 복사 (네이버 에디터에 Ctrl+V로 발행)
analyze_style 기존 블로그 글(URL 또는 텍스트)로 개인 스타일 분석 및 학습
save_style_profile 분석된 스타일 프로필 저장 (analyze_style 후 자동 호출)
revise_blog 작성된 블로그 글을 수정 지시사항에 따라 재작성
suggest_titles SEO 최적화 제목 후보 3개 제안

지원 카테고리: 맛집 리뷰(restaurant) · 여행기(travel) · 투자 정보(investment)


설치

1. 저장소 클론

git clone https://github.com/akatjd/blog-mcp.git
cd blog-mcp

2. 패키지 설치

pip install -r requirements.txt

Claude Desktop 연결

설정 파일 경로

설치 방식 경로
Windows Store %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json
일반 설치 %APPDATA%\Claude\claude_desktop_config.json

설정 내용 추가

{
  "mcpServers": {
    "blog-mcp": {
      "command": "C:\\Users\\{사용자명}\\AppData\\Local\\Programs\\Python\\Python312\\python.exe",
      "args": ["C:\\Users\\{사용자명}\\blog-mcp\\server.py"]
    }
  }
}

{사용자명}을 실제 Windows 사용자명으로 바꾸세요. Python 경로는 where python 명령으로 확인할 수 있습니다.

설정 저장 후 Claude Desktop을 완전히 종료했다가 재시작하면 커넥터 목록에 blog-mcp가 나타납니다.


사용 예시

맛집 리뷰

generate_blog 툴로 블로그 써줘:
- 이미지: C:/photos/ramen/   ← 폴더 지정 시 내부 이미지 전체 자동 로드
- 카테고리: restaurant
- 정보: 식당명=멘야무사시, 위치=홍대, 메뉴=라멘/차슈덮밥, 가격대=12000~15000원, 별점=4.5

여행기

generate_blog 툴로 여행 블로그 작성해줘:
- 이미지: C:/photos/osaka1.jpg, C:/photos/osaka2.jpg
- 카테고리: travel
- 정보: 여행지=일본 오사카, 여행날짜=2025년 11월, 기간=3박4일, 주요활동=도톤보리/유니버셜스튜디오/구로몬시장

투자 정보

generate_blog 툴로 투자 일지 써줘:
- 이미지: C:/photos/chart1.png
- 카테고리: investment
- 정보: 종목=삼성전자, 티커=005930, 매수가=58000원, 현재가=62000원, 분석=반도체 사이클 회복 기대

초안 히스토리 관리

list_drafts 툴로 저장된 초안 목록 보여줘

load_draft 툴로 20260325_153012_restaurant 불러와줘

delete_draft 툴로 20260325_153012_restaurant 삭제해줘

개인 스타일 학습 (최초 1회)

기존에 작성한 블로그 글의 URL 또는 텍스트를 넣으면 스타일을 분석해 이후 모든 글에 자동 반영합니다.

analyze_style 툴로 내 블로그 스타일 분석해줘:
- https://blog.naver.com/내아이디/포스팅번호1
- https://blog.naver.com/내아이디/포스팅번호2
- https://blog.naver.com/내아이디/포스팅번호3

URL과 텍스트 직접 붙여넣기를 혼합해서 입력해도 됩니다. 2편 이상 권장.

분석이 완료되면 save_style_profile 툴이 자동 호출되어 style_profile.json에 저장됩니다. 이후 generate_blog 호출 시 저장된 스타일이 자동으로 반영됩니다. 스타일을 업데이트하고 싶을 때는 analyze_style을 다시 실행하면 덮어씌워집니다.

블로그 글 수정

생성된 글이 마음에 들지 않는 부분이 있을 때 수정 지시만 하면 됩니다.

revise_blog 툴로 글 수정해줘:
- 현재 글: (생성된 블로그 내용 붙여넣기)
- 수정 지시: "도입부를 좀 더 자연스럽게 바꿔줘"
revise_blog 툴로 글 수정해줘:
- 현재 글: (생성된 블로그 내용 붙여넣기)
- 수정 지시: "분량을 500자 더 늘려줘"

수정 지시 예시:

  • "도입부를 좀 더 자연스럽게" — 특정 단락만 수정
  • "분량 늘려줘" — 전체 분량 증가
  • "마무리 부분 다시 써줘" — 특정 섹션 재작성
  • "좀 더 담백하게" — 전체 톤 조정

제목 후보 3개 제안

suggest_titles 툴로 제목 후보 제안해줘:
- 카테고리: restaurant
- 식당명: 아라참치, 위치: 왕십리, 메뉴: 스페셜

맛집은 [위치] 식당명 - 메뉴 형식으로 고정 제안됩니다.

네이버 블로그 발행

publish_to_naver 툴로 방금 작성한 글 클립보드에 복사해줘
- 제목: 홍대 멘야무사시 솔직 후기
- 내용: (생성된 블로그 본문)

복사 완료 후:

  1. 네이버 블로그 글쓰기 접속
  2. 제목 입력 후 본문 영역에 Ctrl+V
  3. 발행 클릭

네이버 블로그 쓰기 API는 일반 개발자에게 제공되지 않아 클립보드 복사 방식을 사용합니다.


파일 구조

blog-mcp/
├── server.py                 # MCP 서버 진입점
├── requirements.txt
├── naver_config.json         # 네이버 API 인증 정보 (gitignore)
├── tools/
│   ├── image_reader.py       # 이미지 로드 + 리사이즈 (Pillow)
│   ├── draft_manager.py      # 초안 히스토리 관리
│   ├── naver_publisher.py    # 클립보드 복사 (pyperclip)
│   └── style_analyzer.py     # 스타일 분석 + URL 크롤링
├── templates/
│   ├── restaurant.py         # 맛집 리뷰 프롬프트
│   ├── travel.py             # 여행기 프롬프트
│   └── investment.py         # 투자 정보 프롬프트
├── drafts/
│   └── history.json          # 초안 히스토리 (자동 생성)
└── style_profile.json        # 개인 스타일 프로필 (analyze_style 후 자동 생성)

이미지 처리 스펙

  • 지원 형식: JPG, PNG, GIF, WebP
  • 최대 파일 크기: 20MB
  • 자동 리사이즈: 최대 1280px (비율 유지)
  • JPEG 품질: 85 (용량 최적화)
  • EXIF 회전 자동 보정

License

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