/ Directory / Playground / md2wechat-skill
● Community geekjourneyx ⚡ Instant

md2wechat-skill

by geekjourneyx · geekjourneyx/md2wechat-skill

Write WeChat Official Account articles in Markdown — Claude converts styling, uploads images, and drops the draft into your WeChat backend.

A Claude skill that takes a Markdown draft and produces a styled WeChat Official Account (公众号) article. API mode calls md2wechat.cn for instant themed conversion; AI mode lets Claude generate richer custom styling. Handles metadata extraction, image upload to WeChat's media library, and creating the draft directly in the backend.

Why use it

Key features

Live Demo

What it looks like in practice

md2wechat-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "md2wechat-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/geekjourneyx/md2wechat-skill",
        "~/.claude/skills/md2wechat-skill"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "md2wechat-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/geekjourneyx/md2wechat-skill",
        "~/.claude/skills/md2wechat-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "md2wechat-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/geekjourneyx/md2wechat-skill",
        "~/.claude/skills/md2wechat-skill"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "md2wechat-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/geekjourneyx/md2wechat-skill",
        "~/.claude/skills/md2wechat-skill"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "md2wechat-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/geekjourneyx/md2wechat-skill",
        "~/.claude/skills/md2wechat-skill"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "md2wechat-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/geekjourneyx/md2wechat-skill",
          "~/.claude/skills/md2wechat-skill"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add md2wechat-skill -- git clone https://github.com/geekjourneyx/md2wechat-skill ~/.claude/skills/md2wechat-skill

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use md2wechat-skill

Turn a Markdown draft into a WeChat Official Account draft in one step

👤 运营 / 公众号 editors who prefer writing in Markdown ⏱ ~5 min beginner

When to use: You draft in Obsidian/VSCode and dread the manual formatting in the WeChat editor.

Prerequisites
  • md2wechat.cn API key — Sign up at md2wechat.cn — free tier available
  • WeChat Official Account API credentials — Register your 公众号 and get AppID/AppSecret
Flow
  1. Convert via API mode
    Use md2wechat-skill. Take this draft at article.md, convert with the 'modern' theme, and push to WeChat drafts.✓ Copied
    → Themed HTML + draft URL in the WeChat backend
  2. Review in WeChat editor
    (manual step — open the draft)✓ Copied
    → Preview matches intent

Outcome: A publish-ready WeChat draft in seconds instead of 20 minutes of copy-paste.

Pitfalls
  • Images in your Markdown are local paths — Skill uploads local images to WeChat's media library — they must be accessible to the runner
Combine with: filesystem

Use AI mode for a visually distinctive long-form essay

👤 Creators who want more than a template theme ⏱ ~15 min intermediate

When to use: The piece warrants custom pull-quotes, callouts, or visual hierarchy.

Flow
  1. Request AI mode
    Use md2wechat-skill in AI mode. Style this essay with warm typography and pull-quotes.✓ Copied
    → Claude produces richer HTML styling than a preset theme
  2. Upload to drafts
    Now push to the 公众号 draft backend.✓ Copied
    → Draft ID returned

Outcome: A visually distinct article that stands out in the feed.

Pitfalls
  • Over-styling hurts mobile readability — Preview on mobile before publishing — WeChat users are 95%+ mobile
Combine with: claude-blog-skill

Combinations

Pair with other MCPs for X10 leverage

md2wechat-skill + claude-blog-skill

claude-blog writes the article, md2wechat-skill publishes it to WeChat

Use /blog write for a new post, then md2wechat-skill to push to the 公众号 drafts.✓ Copied
md2wechat-skill + filesystem

Read drafts from a local vault of markdown files

For every .md in ~/wechat-drafts ready to ship, convert and push.✓ Copied

Recommend a cover image prompt, generate externally, then upload via this skill

Pick a cover prompt from nano-banana, then publish the draft with the resulting image.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
API conversion (themed) markdown + theme name Fast themed output md2wechat.cn credits
AI styling mode markdown + style brief Custom look beyond presets LLM tokens only
Image upload image paths / URLs Before draft creation if images present 0 (WeChat API)
Draft creation HTML + metadata + media IDs Final step 0
Cover image generation article or custom brief No cover supplied Depends on generator

Cost & Limits

What this costs to run

API quota
md2wechat.cn has free + paid tiers; WeChat API has its own quotas
Tokens per call
Low for API mode, medium for AI mode
Monetary
Mostly free; paid only if you exceed md2wechat.cn's free tier
Tip
Use API mode for routine posts; save AI mode for showpieces.

Security

Permissions, secrets, blast radius

Credential storage: md2wechat.cn API key + WeChat AppID/AppSecret in env vars. Never commit.
Data egress: To md2wechat.cn and WeChat's official API endpoints

Troubleshooting

Common errors and fixes

40001 invalid credential (WeChat)

AppSecret wrong or access_token expired. The skill should refresh; if not, rotate secret.

Images don't render in WeChat

WeChat blocks cross-domain images — make sure all images are uploaded via the media API.

Conversion API returns 401

md2wechat.cn key missing or exhausted — check dashboard.

Alternatives

md2wechat-skill vs others

AlternativeWhen to use it insteadTradeoff
Manual copy-paste into WeChat editorInfrequent postsSlow but zero setup
Mdnice / Mdx editorYou want a web UI rather than AI automationManual flow, no draft API push

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills