content-genie-mcp
Retrieves real-time trending keywords from Google Trends, merged with other Korean sources for content planning.
Generates per-platform hashtag strategies and content repurposing for Instagram Reels and posts.
Fetches real-time Naver trends and datalab data; provides SEO keyword expansion and autocomplete analysis.
Offers hashtag strategy generation and content repurposing for TikTok, including short-form script outlines.
Gathers regional YouTube trending keywords and supports YouTube Shorts title optimization with viral score prediction.
Provides CTR-optimized title rewrites, hashtag strategies, and viral scoring tailored for YouTube Shorts content.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@content-genie-mcp오늘 네이버 인기 검색어와 바이럴 점수 예측해줘"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
content-genie-mcp
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.
Related MCP server: Hot-News
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 |
| tool | Real-time trends across Naver / Daum / Google / YouTube / Zum, merged + de-duped |
| tool | Korean news headline trends with category buckets |
| tool | Naver + Google autocomplete + long-tail expansion |
| tool | CTR-optimized title rewrites + per-platform hashtag set |
| tool | Per-platform (IG/YT/TikTok/Naver) hashtag mix with breadth/depth split |
| tool | Idea generation seeded by trend + season + niche |
| tool | Long-form script / short-form scene-by-scene outline |
| tool | One post → cross-platform variants (Blog → Shorts → Reel → Thread) |
| tool | S~D grade with structural / emotional / urgency reasons |
| tool | N A/B title variants with the lever changed in each |
| tool | Heuristic CTR / share / save estimate |
| tool | Thumbnail concept analysis + CTR-optimization checklist |
| tool | URL-fetch competitor post (SSRF-guarded) + gap analysis |
| tool | Industry benchmarks by niche / platform |
| tool | Influencer fit / audience-overlap / brief generator |
| tool | Multi-month calendar joined against Korean event DB |
| tool | "What should I post in the next 2 weeks?" — event-aware |
| resource | Full 100+ event DB rebased to any year (JSON) |
| resource | Live scraper breaker + cache state for graceful degradation |
| prompt | optimize → predict → A/B-vary, one slash command |
| 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 |
|
|
|
|
| HTTP bind host |
|
| HTTP bind port |
| KR search/social/commerce allowlist | Comma-separated host allowlist for |
HTTP endpoints (when MCP_HTTP_MODE=true):
Method | Path | Purpose |
GET |
| Server info |
GET |
| Health probe (Railway/Docker) |
POST |
| MCP JSON-RPC requests (2025-03-26 spec) |
GET |
| 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 | 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 buildSecurity
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를 참고하세요.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MUSE-CODE-SPACE/content-genie-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server