AI Content Creation Assistant for Korean creators - Trend analysis & SEO
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
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.
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.
index.ts is gone β tools live in src/tools/{trends,seo,contentIdeas,viralScoring,competitorAnalysis,koreanEvents}.ts. Adding a tool is a one-liner.source_status: 'stale' and adapts.@-mention. resource://content-genie/korean-events/{year} returns the full event DB rebased to any year; resource://content-genie/sources exposes live breaker + cache state.viral-title chains optimize_title_hashtags β predict_viral_score β generate_ab_test_variants. competitor-analysis does URL analysis + gap-filling ideation.claude will pick it up on the next run).get_korean_trends (naver+daum+google+youtube+zum merged) β optimize_title_hashtags per keyword β predict_viral_score β returns a ranked S/A/B/C/D grade table with the structural reason ("μ λͺ©μ μ«μ + νΈκΈ°μ¬ νΈλ¦¬κ±° ν¬ν¨").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.
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.
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.
| 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 |
Three design choices that matter:
status: 'stale' envelope so the LLM can adapt.ScrapeResult envelope (ok | stale | unavailable). All error handling is in one place (runScraper), so adding a new source is "write a scraper, return ScrapeResult, done".β¦/korean-events/2027 works today.| 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 |
status: 'unavailable' until we ship a parser fix. The circuit breaker keeps the rest of the MCP working in the meantime.predict_viral_score is 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.analyze_thumbnail works on a thumbnail concept description, not on an uploaded image. Image-in is on the roadmap.| 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 |
resource://content-genie/trends/{platform}/latest so the LLM can @-mention last-scrape results without spending a tool call.generate_script_outline with a captions formatter for Shorts upload.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:
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.
MIT β SPDX identifier declared in package.json (a top-level LICENSE file will be added in the next release).
@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λ₯Ό μ°Έκ³ νμΈμ.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/content-genie)<a href="https://allmcps.com/mcp/content-genie"><img src="https://allmcps.com/api/badge/content-genie?style=directory" alt="Content Genie on AllMCPs" /></a>