classby-blog-mcp
README.md
# classby-blog-mcp
스튜디오B(ClassBy) 블로그 글쓰기용 MCP 서버. 블로그 글 초안 작성/수정, 이미지 첨부,
네이버 블로그 글쓰기 화면에 자동으로 채워 넣는 도구를 제공합니다.
## 제공 도구
| 도구 | 설명 |
| --- | --- |
| `write_post_draft` | 새 블로그 글 초안 생성 (title, content, tags) |
| `update_post_draft` | 기존 초안 수정 |
| `get_post_draft` | 초안 조회 |
| `list_post_drafts` | 초안 목록 조회 |
| `attach_image` | 로컬 이미지 파일을 초안에 첨부 |
| `naver_open_editor` | 네이버 블로그 글쓰기 화면을 Chrome으로 열기 |
| `naver_fill_editor` | 열린 화면에 초안 제목/본문 입력 (발행은 하지 않음) |
| `naver_close_editor` | 자동화용 Chrome 창 닫기 |
`naver_*` 도구는 별도의 자동화 전용 Chrome 프로필
(`~/.classby-blog-mcp/chrome-profile`)을 사용합니다. 처음 실행 시 그 창에서
네이버에 한 번 로그인해두면 이후에도 로그인이 유지됩니다.
## 빌드
```bash
npm install
npm run build # src/ -> dist/ 복사 + dist/build.json 버전 번호 기록
```
`npm pack` 실행 시 `prepack` 스크립트가 자동으로 `npm run build`를 실행하므로,
배포용 tgz에는 항상 최신 `dist/`가 포함됩니다.
## Claude MCP 서버 등록 예시
Claude 설정 파일의 `mcpServers`에 아래와 같이 등록합니다 (경로는 실제 설치 위치로 교체).
`npx`가 아니라 `node`로 직접 실행해야 Windows에서 안정적으로 동작합니다.
```json
{
"mcpServers": {
"classby-blog-mcp": {
"command": "node",
"args": ["/absolute/path/to/.classby-blog-mcp/node_modules/classby-blog-mcp/dist/server.mjs"],
"env": {
"STUDIOB_GATE_URL": "https://tool.classby.kr",
"STUDIOB_KEY": "<설치 키>"
}
}
}
}
```
## 라이선스 게이트 (STUDIOB_GATE_URL / STUDIOB_KEY)
`src/lib/gate.mjs`에 호출 구조만 만들어 두었습니다. 실제 엔드포인트 경로, 요청/응답
필드, 실패 시 정책(도구 차단 여부 등)이 정해지면 해당 파일의 `TODO` 부분만 채우면
됩니다. 현재는 값이 없거나 호출이 실패해도 서버 기동을 막지 않습니다.
## 알려진 제약
- `naver_fill_editor`의 선택자는 네이버 스마트에디터 ONE 기준 추정치이며, 에디터
업데이트에 따라 조정이 필요할 수 있습니다.
- 글 발행(공개)은 자동화하지 않습니다 — 사용자가 직접 최종 확인 후 발행해야 합니다.
TDQS
B3.1/5.0
Scored across 3 tools
Disambiguation5/5
Each tool targets a distinct CRUD action on blog post drafts (create, update, read), with no overlapping purposes. Agents can easily distinguish them.
Naming Consistency5/5
All tools follow a consistent verb_noun pattern: write_post_draft, update_post_draft, get_post_draft. No mixing of styles or vague verbs.
Tool Count4/5
Three tools is minimal but reasonable for a focused 'draft management' scope. It could be slightly thin but still fits the purpose without excess.
Completeness3/5
The set covers create, read, and update, but notably missing delete and list operations. Agents have no way to delete drafts or view all drafts, which may cause dead ends in workflows.
Maintenance
ActivitySlowing
ResponsivenessNo issues