Content Genie
БесплатноНе проверенAI Content Creation Assistant for Korean creators - Trend analysis & SEO
Описание
AI Content Creation Assistant for Korean creators - Trend analysis & SEO
README
Korean-content-creator MCP that gives Claude live Naver/Daum/Google/YouTube/Zum trends, a 100+ Korean-holiday DB, and a viral-score predictor — so you stop tab-hopping between 5 trend dashboards before every post.
Why content-genie?
Most "trend" MCPs are thin wrappers around Google Trends. If you're publishing for a Korean audience (Naver Blog, YouTube Korea, Instagram KR, TikTok), Google alone misses the signal — Naver Datalab, Daum search, Zum realtime, and KR-region YouTube each surface different keywords at different hours. content-genie consolidates all five sources into one MCP, layers a 100+ Korean-holiday + 14일-day-series + 절기 event database so Claude can plan around 빼빼로데이 and 수능 without being told, and finishes the loop with a viral-score predictor trained on the structural patterns (numbers, brackets, emotional triggers, urgency words) that move CTR in Korean content.
The Phase 4 refactor (v2.12.0, May 2026) made the whole thing safe to depend on: every scraper sits behind a per-source circuit breaker (3 fails → open 5 min) with a stale-cache fallback, so a Naver HTML change no longer takes the whole MCP down — it just degrades that one source and tells the LLM about it via resource://content-genie/sources.
What's new in v2.12.0
- 17 tools, one registry, six small files. The old 4,712-line
index.tsis gone — tools live insrc/tools/{trends,seo,contentIdeas,viralScoring,competitorAnalysis,koreanEvents}.ts. Adding a tool is a one-liner. - Scrapers can't take the server down anymore. Per-source circuit breaker + LRU/TTL cache (15 min, 100 entries) + stale fallback. When Naver is degraded, Claude sees
source_status: 'stale'and adapts. - Two new MCP Resources for
@-mention.resource://content-genie/korean-events/{year}returns the full event DB rebased to any year;resource://content-genie/sourcesexposes live breaker + cache state. - Two MCP Prompts as guided workflows.
viral-titlechainsoptimize_title_hashtags→predict_viral_score→generate_ab_test_variants.competitor-analysisdoes URL analysis + gap-filling ideation. - 38 tests across 8 suites. Circuit breaker transitions, cache eviction, scraper fallback paths, SSRF guard, every tool group — runs on Node 20 + 22 in CI.
5-minute Quickstart
# 1. Install via Claude Code (recommended)
claude mcp add content-genie -- npx -y content-genie-mcp
# 2. Or add to Claude Desktop's claude_desktop_config.json:
{
"mcpServers": {
"content-genie": {
"command": "npx",
"args": ["-y", "content-genie-mcp"]
}
}
}
- Restart Claude Desktop (or
claudewill pick it up on the next run). - Try this in Claude:
오늘 한국에서 뜨는 키워드 5개로 유튜브 쇼츠 제목 후보 3개씩 만들고, 각각 바이럴 점수 등급 매겨줘.
- Expected: Claude calls
get_korean_trends(naver+daum+google+youtube+zum merged) →optimize_title_hashtagsper keyword →predict_viral_score→ returns a ranked S/A/B/C/D grade table with the structural reason ("제목에 숫자 + 호기심 트리거 포함").
Real use cases
1. "I need a Korean blog post topic that won't be obsolete by tomorrow"
Problem: Naver Blog rewards quick takes on the keywords trending right now, but those keywords change every 4 hours.
With this MCP: Claude calls get_korean_trends({ platform: 'naver', limit: 20 }) and then generate_content_ideas against the freshest 5 keywords with seasonal: true. The seasonal layer adds upcoming Korean events from the 100+ DB — so the suggestion isn't just "AI 추천 도구" but "AI 추천 도구 + 수능 D-30 콘텐츠 기획" because get_seasonal_content_guide saw 수능 is 4 weeks out.
Why it's better than the Naver Datalab UI: Datalab gives you a chart. This MCP gives you 5 titled, hashtag-optimized post drafts grounded in those same trends, in one conversational round-trip.
2. "Will this YouTube Shorts title actually pop?"
Problem: Title CTR is the single biggest lever on Shorts, but you only know after you publish.
With this MCP: Paste your draft into Claude, say "use the viral-title prompt". The prompt chains optimize_title_hashtags → predict_viral_score → generate_ab_test_variants and returns an S~D grade plus 5 A/B variants with the structural deltas (added number, added urgency word, shortened to 25 chars).
Why it's better than vibes: the scorer reads the same 6 signal classes a Korean copywriter would — emotional triggers (충격|실화|숨겨진), structural elements (numbers/brackets/?/!), urgency, social proof, utility framings (방법|꿀팁|노하우), and length window — and tells you which ones are missing.
3. "I run a small Korean brand, I need a content calendar that respects local holidays"
Problem: Generic calendar tools don't know about 빼빼로데이, 김장철, 수능, or 한가위 연휴, so you end up posting a promo on 현충일.
With this MCP: Claude calls create_content_calendar({ months: 3, niche: 'beauty' }), which joins your 3-month window against the 100+ event DB (공휴일 18 + 데이 시리즈 12 + 절기 15 + 상업 이벤트 15 + 시즌/날씨 12 + 입시 10 + 쇼핑 10 + 크리에이터 특화 8) and produces a date-by-date plan with content themes per event.
Why it's better than a Notion template: the DB is rebased to any year (resource://content-genie/korean-events/2027 is a single @-mention away), so the calendar stays accurate next year without you maintaining it.
Tools / Resources / Prompts
| Name | Type | What it does |
|---|---|---|
get_korean_trends |
tool | Real-time trends across Naver / Daum / Google / YouTube / Zum, merged + de-duped |
analyze_news_trends |
tool | Korean news headline trends with category buckets |
analyze_seo_keywords |
tool | Naver + Google autocomplete + long-tail expansion |
optimize_title_hashtags |
tool | CTR-optimized title rewrites + per-platform hashtag set |
generate_hashtag_strategy |
tool | Per-platform (IG/YT/TikTok/Naver) hashtag mix with breadth/depth split |
generate_content_ideas |
tool | Idea generation seeded by trend + season + niche |
generate_script_outline |
tool | Long-form script / short-form scene-by-scene outline |
repurpose_content |
tool | One post → cross-platform variants (Blog → Shorts → Reel → Thread) |
predict_viral_score |
tool | S~D grade with structural / emotional / urgency reasons |
generate_ab_test_variants |
tool | N A/B title variants with the lever changed in each |
predict_content_performance |
tool | Heuristic CTR / share / save estimate |
analyze_thumbnail |
tool | Thumbnail concept analysis + CTR-optimization checklist |
analyze_competitor_content |
tool | URL-fetch competitor post (SSRF-guarded) + gap analysis |
benchmark_content_performance |
tool | Industry benchmarks by niche / platform |
analyze_influencer_collab |
tool | Influencer fit / audience-overlap / brief generator |
create_content_calendar |
tool | Multi-month calendar joined against Korean event DB |
get_seasonal_content_guide |
tool | "What should I post in the next 2 weeks?" — event-aware |
resource://content-genie/korean-events/{year} |
resource | Full 100+ event DB rebased to any year (JSON) |
resource://content-genie/sources |
resource | Live scraper breaker + cache state for graceful degradation |
prompt://content-genie/viral-title |
prompt | optimize → predict → A/B-vary, one slash command |
prompt://content-genie/competitor-analysis |
prompt | URL fetch → gap-fill ideation workflow |
How it works
Claude (or any MCP client)
│
▼
McpServer (SDK 1.25)
│
┌───────────┼───────────┐
▼ ▼ ▼
17 tools Resources Prompts
│
▼
runScraper() ◄── core/cache.ts (LRU + 15min TTL)
│ ◄── core/circuitBreaker.ts (3-fail → open 5min)
▼
scrapers/{naver,daum,google,youtube,zum}.ts
│
▼
core/security.ts (SSRF + 30s timeout + 5MiB cap)
Three design choices that matter:
- Per-source circuit breaker. A bad day at Naver doesn't take down 16 other tools — only the trend tools that need Naver, and even those return a stale-cache
status: 'stale'envelope so the LLM can adapt. - Scrapers never throw. They return a
ScrapeResultenvelope (ok | stale | unavailable). All error handling is in one place (runScraper), so adding a new source is "write a scraper, returnScrapeResult, done". - Event DB rebased on read. The 100+ Korean holiday/event database is stored as month-day rules and rebased to any year on demand — so
…/korean-events/2027works today.
Configuration
| Env var | Default | Purpose |
|---|---|---|
MCP_HTTP_MODE |
false |
true to run as Streamable HTTP server instead of stdio |
HOST |
0.0.0.0 |
HTTP bind host |
PORT |
3000 |
HTTP bind port |
CONTENT_GENIE_ALLOWED_HOSTS |
KR search/social/commerce allowlist | Comma-separated host allowlist for analyze_competitor_content SSRF guard. Override to add your own competitor domains. |
HTTP endpoints (when MCP_HTTP_MODE=true):
| Method | Path | Purpose |
|---|---|---|
| GET | / |
Server info |
| GET | /health |
Health probe (Railway/Docker) |
| POST | /mcp |
MCP JSON-RPC requests (2025-03-26 spec) |
| GET | /mcp |
SSE stream for server-initiated messages |
Known limitations
- Scrapers are HTML-driven. Naver / Daum / Zum don't expose public trend APIs; the scrapers parse HTML. When they change their markup, the affected source returns
status: 'unavailable'until we ship a parser fix. The circuit breaker keeps the rest of the MCP working in the meantime. - Viral score is structural, not semantic.
predict_viral_scoreis a heuristic over Korean copy patterns. It can't read the meaning of your post — only the structural / emotional / urgency signals in the title + description. - No thumbnail image analysis.
analyze_thumbnailworks on a thumbnail concept description, not on an uploaded image. Image-in is on the roadmap. - Korean-first. Hashtag templates, urgency words, and the event DB are Korean. English/JP modes are not in scope for v2.x.
When NOT to use this
- If you need a global trend dashboard, use Google Trends directly — content-genie is opinionated toward the Korean creator stack.
- If you need paid keyword data with search volume (네이버 검색광고 API, Ahrefs, SEMrush), use those — content-genie's SEO tools rely on free autocomplete + heuristic long-tail expansion.
- If you need deterministic LLM-free copy generation for compliance reasons, this MCP feeds an LLM — the LLM is what writes the actual titles.
Comparison
| content-genie-mcp | Raw scraping yourself | Naver Datalab UI | SmartEditor / 네이버 검색광고 API | |
|---|---|---|---|---|
| Multi-source merge (5 KR sources) | yes | DIY | Naver only | Naver only |
| Korean event DB built-in | 100+ events | no | no | no |
| Circuit breaker + cache | yes | DIY | n/a | n/a |
| Viral score heuristic | yes | no | no | no |
MCP-native (Claude @-mention events) |
yes | no | no | no |
| Cost | free (npm) | dev time | free | paid above quota |
Roadmap
- More sources. Tistory realtime, Brunch picks, Kakao View — currently 5 sources, want 8.
- Image-in thumbnail analysis. Accept uploaded thumbnails and run vision-based CTR scoring.
- Cached-trend Resource. Expose
resource://content-genie/trends/{platform}/latestso the LLM can@-mentionlast-scrape results without spending a tool call. - Video script → captions/subtitles. Pair
generate_script_outlinewith a captions formatter for Shorts upload. - Naver 검색광고 API integration (opt-in). When the user supplies an API key, switch SEO tools from autocomplete heuristics to real search volume.
Contributing
PRs welcome. The Phase 4 refactor made the codebase contributor-friendly — adding a tool is a single-file change. See the Contributing section below or open an issue first if you want to discuss a larger change. CI runs typecheck + test + build on Node 20 + 22 against every PR.
Quick contributor loop:
git clone https://github.com/MUSE-CODE-SPACE/content-genie-mcp
cd content-genie-mcp
npm install
npm run typecheck && npm test && npm run build
Security
This MCP fetches third-party URLs and takes LLM-driven input. The threat model, SSRF host allowlist, 30-second fetch timeout + 5 MiB body cap, and CONTENT_GENIE_ALLOWED_HOSTS override are documented in SECURITY.md. Report vulnerabilities privately via a GitHub Security Advisory at https://github.com/MUSE-CODE-SPACE/content-genie-mcp/security/advisories/new.
License
MIT — SPDX identifier declared in package.json (a top-level LICENSE file will be added in the next release).
Maintainer
@yoon-k (MUSE-CODE-SPACE). For support, open an issue: https://github.com/MUSE-CODE-SPACE/content-genie-mcp/issues.
한국어 요약
content-genie-mcp는 한국 콘텐츠 크리에이터를 위한 MCP 서버입니다. 네이버 / 다음 / 구글 / 유튜브 / 줌 5개 소스의 실시간 트렌드를 한 번에 합쳐 보여주고, 100+ 한국 기념일/이벤트 DB(공휴일 18, 데이 시리즈 12, 절기 15, 상업 이벤트 15, 시즌/날씨 12, 입시 10, 쇼핑 10, 크리에이터 특화 8)와 바이럴 점수 예측기(S~D 등급, 한국어 카피 패턴 기반)를 함께 제공합니다.
v2.12.0(2026-05-20)에서 17개 도구가 도메인별로 모듈화되었고, 스크래퍼별 회로 차단기 + LRU 캐시 + stale fallback 으로 한 소스가 망가져도 나머지가 정상 동작합니다. @-mention 가능한 MCP Resources 2개와 슬래시 명령용 Prompts 2개도 추가되었습니다.
설치 (Claude Code):
claude mcp add content-genie -- npx -y content-genie-mcp
첫 호출 예시:
오늘 한국에서 뜨는 키워드 5개로 유튜브 쇼츠 제목 후보 3개씩 만들고, 각각 바이럴 점수 등급 매겨줘.
자세한 내용은 영문 섹션, 변경 이력은 CHANGELOG.md, 위협 모델은 SECURITY.md를 참고하세요.
Установить Content Genie в Claude Desktop, Claude Code, Cursor
unyly install content-genieСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add content-genie -- npx -y content-genie-mcpFAQ
Content Genie MCP бесплатный?
Да, Content Genie MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Content Genie?
Нет, Content Genie работает без API-ключей и переменных окружения.
Content Genie — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Content Genie в Claude Desktop, Claude Code или Cursor?
Открой Content Genie на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Content Genie with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
