Danbooru Tags MCP Server
by gamzadongza
README.md
# Danbooru Tags MCP Server
MCP 서버를 통해 Danbooru의 태그 정보와 캐릭터 통계를 검색할 수 있습니다.
## 🎯 주요 기능
### 도구 (Tools)
#### 1. `get_post_tags`
특정 Danbooru 포스트의 모든 태그를 추출합니다.
**입력:**
- `post_id_or_url` (string): 포스트 ID 또는 URL
**출력 예시:**
```json
{
"post_id": 2973340,
"url": "https://danbooru.donmai.us/posts/2973340",
"total_tags": 47,
"all_tags": ["1girl", "armpits", "black_boots", ...],
"categories": {
"general": ["1girl", "armpits", ...],
"artist": ["ress"],
"copyright": ["elsword"],
"character": ["crimson_avenger_(elsword)", ...],
"meta": []
}
}
```
#### 2. `get_character_tags`
캐릭터의 자주 사용되는 태그 통계를 분석합니다.
**입력:**
- `character_tag` (string, required): 캐릭터 태그명
- `num_posts` (number, optional): 분석할 포스트 수 (기본: 100)
- `top_n` (number, optional): 반환할 상위 태그 개수 (기본: 50)
- `category` (string, optional): 카테고리 필터 (general/artist/copyright/character/meta)
- `include_tags` (array, optional): 반드시 포함할 태그
- `exclude_tags` (array, optional): 제외할 태그
- `clothing_only` (boolean, optional): 의상 태그만 반환
**출력 예시:**
```json
{
"character_tag": "hatsune_miku",
"posts_analyzed": 100,
"filters": {
"include_tags": ["tachi-e"]
},
"top_tags": [
{"rank": 1, "tag": "hatsune_miku", "count": 100, "percentage": 100.0},
{"rank": 2, "tag": "long_hair", "count": 90, "percentage": 90.0}
],
"clothing_tags": [
{"tag": "necktie", "count": 75, "percentage": 75.0}
]
}
```
#### 3. `get_wiki_info`
Danbooru Wiki에서 태그/캐릭터 정보를 검색합니다.
**입력:**
- `tag_name` (string): 태그명
**출력 예시:**
```json
{
"title": "hatsune_miku",
"other_names": ["初音ミク", "miku"],
"body": "Hatsune Miku is a Japanese VOCALOID...",
"body_formatted": "포맷팅된 본문",
"created_at": "2007-09-12T17:15:58.073-04:00",
"updated_at": "2025-09-13T13:43:39.561-04:00"
}
```
## 📦 설치 및 사용
### 로컬에서 사용 (config.json)
1. **Claude Desktop 설정 파일 열기:**
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
2. **MCP 서버 추가:**
```json
{
"mcpServers": {
"danbooru-tags": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@gamzadongza/danbooru-tags-mcp"
]
}
}
}
```
3. **Claude Desktop 재시작**
### HTTPS URL로 사용 (클라우드)
Claude.ai 또는 모바일 앱에서 다음 URL을 추가하세요:
```
https://server.smithery.ai/@gamzadongza/danbooru-tags-mcp/mcp?api_key=YOUR_API_KEY
```
## 💡 사용 예시
### 포스트 태그 추출
```
User: 이 Danbooru 이미지의 태그를 분석해줘: https://danbooru.donmai.us/posts/2973340
Claude: [get_post_tags 도구 자동 호출]
```
### 캐릭터 태그 통계
```
User: 하츠네 미쿠의 자주 사용되는 태그 100개 분석해줘
Claude: [get_character_tags 도구 자동 호출]
```
### 스탠딩 일러스트만 필터링
```
User: 크림슨 어벤저의 스탠딩 일러스트에서 자주 나오는 의상 태그는?
Claude: [get_character_tags with include_tags: ["tachi-e"] 호출]
```
### Wiki 정보 검색
```
User: tachi-e 태그가 뭐야?
Claude: [get_wiki_info 도구 자동 호출]
```
## 🛠️ 개발
### 로컬 개발
```bash
# 의존성 설치
npm install
# TypeScript 빌드
npm run build
# 서버 실행
npm start
```
### Docker 빌드
```bash
docker build -t danbooru-tags-mcp .
docker run -p 3000:3000 danbooru-tags-mcp
```
## 📚 기술 스택
- **TypeScript** - 타입 안전성
- **Express** - HTTP 서버
- **MCP SDK** - Model Context Protocol 구현
- **SSEServerTransport** - Server-Sent Events 지원
## 🔗 관련 링크
- **Danbooru API 문서:** https://danbooru.donmai.us/wiki_pages/help:api
- **MCP 공식 문서:** https://modelcontextprotocol.io/
- **Smithery:** https://smithery.ai
## 📄 라이선스
MIT
## 👤 작성자
**gamzadongza**
- GitHub: https://github.com/gamzadongza
- 관련 프로젝트:
- [turso-mcp-server](https://github.com/gamzadongza/turso-mcp-server)
- [danbooru-turso-mcp](https://github.com/gamzadongza/danbooru-turso-mcp)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessUnresponsive