
Content Genie
io.github.MUSE-CODE-SPACEPublished by GitHub account MUSE-CODE-SPACEv2.9.4Updated Oct 25, 2026
AI Content Creation Assistant for Korean creators - Trend analysis & SEO
Overview
Korean content-creation MCP server that gives an assistant live Naver, Daum, Google, YouTube and Zum trends, a Korean event database, and SEO and viral-score…
- What you can do
- Fetch and merge real-time Korean trends across Naver, Daum, Google, YouTube and Zum, plus Korean news headline trends
- Analyze SEO keywords via Naver and Google autocomplete with long-tail expansion, and build per-platform hashtag strategies
- Rewrite titles for CTR, generate content ideas, script outlines, repurposed cross-platform variants, and A/B title variants
- Score titles for viral potential, estimate CTR/share/save, and review thumbnail concepts
- Analyze competitor posts by URL, benchmark performance by niche, and assess influencer collaborations
- Build multi-month content calendars and seasonal guides from a 100+ Korean holiday and event database, exposed as a rebased-by-year resource
- When to use it
- Useful if you publish for a Korean audience on Naver Blog, YouTube Korea, Instagram or TikTok and want trend-grounded titles, hashtags, ideas and calendars inside the assistant. Less suitable for global trend dashboards, paid search-volume data, or non-Korean content.
- Requirements
- Runs locally over stdio via npx (Node.js). No accounts or API keys declared. Optional environment variables MCP_HTTP_MODE, HOST, PORT and CONTENT_GENIE_ALLOWED_HOSTS control HTTP mode and the URL allowlist. Network access is needed to scrape the trend sources.
Installation
In SourceWeft
- Open Content Genie in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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.
[CI] [npm] [License: MIT] [Maintained]
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 22 + 24 in CI.
5-minute Quickstart
- Restart Claude Desktop (or
claudewill pick it up on the next run). - Try this in Claude:
- 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
How it works
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
HTTP endpoints (when MCP_HTTP_MODE=true):
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
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 22 + 24 against every PR.
Quick contributor loop:
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):
첫 호출 예시:
자세한 내용은 영문 섹션, 변경 이력은 CHANGELOG.md, 위협 모델은 SECURITY.md를 참고하세요.
Source: README.md at commit 7b1749b
Tools
0Version history
1- v2.9.4LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts