Skip to main content
Glama

Wenyan MCP 서버

npm License NPM Downloads Docker Pulls Stars

소개

**Wenyan(文颜)**은 다중 플랫폼 Markdown 조판 및 게시 도구로, Markdown을 한 번의 클릭으로 변환하여 다음 플랫폼에 게시할 수 있습니다:

  • WeChat 공식 계정

  • Zhihu

  • Toutiao

  • 기타 콘텐츠 플랫폼 (지속적으로 확장 중)

Wenyan의 목표는 작가가 조판이나 플랫폼 적응이 아닌 콘텐츠 자체에 집중하게 하는 것입니다.

Related MCP server: WeChat Article MCP Server

Wenyan의 다양한 버전

Wenyan은 현재 다양한 사용 환경을 지원하는 여러 형태로 제공됩니다:

Wenyan MCP 서버란 무엇인가요?

간단히 말해, 'AI 글쓰기'와 '공식 계정 게시'를 연결하는 통로입니다.

MCP 프로토콜을 기반으로 Claude Desktop과 같은 AI 클라이언트는 이제 Wenyan의 조판 엔진을 직접 호출할 수 있습니다. 글을 쓴 후 타사 편집기로 복사하고 붙여넣을 필요 없이, AI가 직접 조판을 수행하고 WeChat 초안 보관함에 저장하게 할 수 있습니다.

핵심 기능:

  • 조판 도구 우회: AI가 생성한 Markdown을 직접 WeChat 리치 텍스트로 변환하여 업로드하므로 중간 단계가 생략됩니다.

  • 대화형 조판: AI에게 "오렌지색 스타일 테마로 바꿔줘"라고 말하면 스타일이 자동으로 적용됩니다.

  • 창 전환 없는 워크플로우: 동일한 채팅창 내에서 '주제 선정 -> 글쓰기 -> 조판 조정 -> 초안 저장'의 모든 작업을 매끄럽게 처리합니다.

실전 데모:

기능 특징

  • Markdown을 WeChat 공식 계정 초안 보관함으로 한 번에 게시

  • 로컬 이미지 및 커버 자동 업로드

  • 원격 서버 게시 지원 (IP 화이트리스트 제한 우회)

  • 여러 가지 정교한 조판 테마 내장

  • 사용자 정의 테마 지원

  • 표준 MCP Tool 인터페이스 제공

  • AI 자동 호출 지원:

    • Markdown 렌더링

    • 테마 관리

    • 초안 게시

빠른 시작

설치

npm install -g @wenyan-md/mcp

Claude Desktop 설정 (claude_desktop_config.json):

{
  "mcpServers": {
    "wenyan-mcp": {
      "command": "wenyan-mcp",
      "env": {
        "WECHAT_APP_ID": "your_app_id",
        "WECHAT_APP_SECRET": "your_app_secret"
      }
    }
  }
}

기본 사용법

테마 목록 확인

AI에게 다음과 같이 말하세요:

현재 사용할 수 있는 공식 계정 테마는 무엇인가요?

AI 응답:

目前我支持的公众号主题包括以下这些,每个主题都有独特的风格和配色,适用于不同的内容调性:

1. **Default(默认)**  
   简洁经典的排版,适合长文阅读,通用性强。

2. **OrangeHeart(橙心)**  
   暖橙色调,优雅而富有活力,适合情感、生活类内容。
...

테마 등록

AI에게 다음과 같이 말하세요:

이 css(https://wenyan.yuzhi.tech/manhua.css)를 'xiuluochang'이라는 이름의 새로운 공식 계정 테마로 등록해줘.

AI 응답:

好的,已成功将 CSS 样式表注册为新的公众号主题,主题名称为:**xiuluochang**。

您现在可以在公众号后台选择该主题进行应用,样式将按照 `https://wenyan.yuzhi.tech/manhua.css` 的定义进行渲染。

如有需要进一步自定义或更换主题,随时告诉我!

테마 삭제

AI에게 다음과 같이 말하세요:

'xiuluochang'이라는 이름의 공식 계정 테마를 삭제해줘.

AI 응답:

公众号主题 “xiuluochang” 已成功删除。

글 게시

AI에게 다음과 같이 말하세요:

phycat 테마를 사용하여 이 글을 WeChat 공식 계정에 게시해줘: ./tests/publish.md

AI 응답:

文章已成功发布至微信公众号草稿箱!🎉

- **主题**:phycat  
- **媒体ID**:xxx

您可登录微信公众号后台,在「草稿箱」中查看并编辑文章,确认无误后即可一键发布。如需进一步排版优化、添加封面或设置摘要,我也可以协助您完成!

是否需要我帮您生成一篇发布文案或封面建议? 😊

개념

환경 변수 설정

[!IMPORTANT]

MCP 시작 시 아래 환경 변수가 설정되어 있는지 확인하세요. 그렇지 않으면 업로드 인터페이스 호출이 실패합니다.

  • WECHAT_APP_ID

  • WECHAT_APP_SECRET

WeChat 공식 계정 IP 화이트리스트

[!IMPORTANT]

Wenyan을 실행하는 머신의 IP가 WeChat 공식 계정 백엔드의 IP 화이트리스트에 추가되어 있는지 확인하세요. 그렇지 않으면 업로드 인터페이스 호출이 실패합니다.

설정 문서: https://yuzhi.tech/docs/wenyan/upload

글 형식

글을 올바르게 업로드하려면 각 Markdown 상단에 frontmatter가 포함되어야 합니다:

---
title: 在本地跑一个大语言模型(2) - 给模型提供外部知识库
cover: /Users/xxx/image.jpg
author: xxx
source_url: http://
---

필드 설명:

필드

필수

설명

title

✅

글 제목

cover

❌

커버 이미지 (로컬 경로 또는 웹 URL)

author

❌

작성자

source_url

❌

원문 링크

type

❌

글 유형, image로 설정 시 이미지 메시지(샤오뤼슈)

image_list

❌

이미지 경로 목록 (이미지 메시지 전용, 최대 20장)

need_open_comment

❌

댓글 허용 여부

only_fans_can_comment

❌

팬만 댓글 작성 가능 여부

설명:

  • cover를 지정하지 않으면 본문의 첫 번째 이미지가 자동으로 커버로 사용됩니다.

  • cover는 로컬 경로와 웹 URL을 모두 지원합니다.

  • type과 image_list는 이미지 메시지 게시용입니다.

예시 글

본문 이미지 및 글 커버

글을 공식 계정에 게시하기 전에 Wenyan은 WeChat의 요구 사항에 따라 본문의 모든 이미지를 자동으로 처리하여 공식 계정 소재 라이브러리에 업로드합니다. 현재 Wenyan은 다음 이미지들을 잘 지원합니다:

  • 로컬 하드 드라이브 절대 경로 (예: /Users/xxx/image.jpg)

  • 웹 경로 (예: https://example.com/image.jpg)

  • 현재 글의 상대 경로 (예: ./assets/image.png)

이미지 메시지 게시 (샤오뤼슈)

이미지 메시지 게시와 일반 글 게시의 차이점은 frontmatter에 이미지 목록을 지정해야 한다는 것입니다. 두 가지 방식을 지원합니다:

방식 1: type: image 사용 (권장)

frontmatter에서 type: image를 설정하면 CLI가 본문에서 모든 이미지를 자동으로 추출합니다:

---
title: 人勤春来早,读书正当时
type: image
---

![](./1.jpeg)
![](./2.jpeg)
![](./3.jpeg)

방식 2: image_list 수동 지정

frontmatter에 이미지 경로를 직접 나열합니다:

---
title: 人勤春来早,读书正当时
image_list:
  - ./1.jpeg
  - ./2.jpeg
  - ./3.jpeg
  - ./4.jpeg
  - ./5.jpeg
---

image_list는 최대 20장까지 가능하며, 첫 번째 이미지가 커버가 됩니다.

서버 모드

순수 로컬 실행인 **로컬 모드(Stdio Mode)**와 비교하여, wenyan-mcp는 **원격 클라이언트 모드(Client–Server Mode)**도 제공합니다. 두 모드의 실행 결과는 완전히 동일하며, 실행 환경과 네트워크 조건에 따라 가장 적합한 방식을 선택할 수 있습니다.

로컬 모드에서는 MCP가 WeChat 공식 계정 API를 직접 호출하여 이미지 업로드와 초안 게시를 완료합니다.

flowchart LR
    MCP[Wenyan MCP] --> Wechat[公众号 API]

원격 클라이언트 모드에서는 MCP가 클라이언트 역할을 하며, 게시 요청을 클라우드 서버에 배포된 Wenyan 서버로 보내고, 서버가 WeChat 공식 계정 API 호출을 완료합니다.

flowchart LR
    MCP[Wenyan MCP] --> Server[Wenyan Server] --> Wechat[公众号 API]

적합한 경우:

  • 로컬 고정 IP가 없어 IP 화이트리스트를 자주 추가해야 하는 사용자

  • 팀 협업이 필요한 사용자

  • CI/CD 자동 게시 지원

  • AI 에이전트 자동 게시 지원

서버 모드 배포

Claude Desktop 설정:

{
  "mcpServers": {
    "wenyan-mcp": {
      "command": "wenyan-mcp",
      "args": ["--server", "https://api.example.com", "--api-key", "your-api-key"]
    }
  }
}

다중 공식 계정 게시 (고급)

[!IMPORTANT]

다중 공식 계정 게시 기능을 사용하려면 반드시 server 모드를 사용해야 합니다.

단계:

  • 먼저 server를 배포합니다.

  • server 측에서 여러 WeChat 자격 증명을 설정합니다. 문서를 참조하세요.

  • MCP 클라이언트를 server에 연결합니다.

AI에게 다음과 같이 말하세요:

phycat 테마를 사용하여 이 글을 WeChat 공식 계정(your_app_id)에 게시해줘: ./tests/publish.md

Docker 배포

Node.js 환경을 설치하고 싶지 않은 사용자에게 적합합니다.

docker pull caol64/wenyan-mcp:latest
  • Claude Desktop 설정:

{
  "mcpServers": {
    "wenyan-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v", "/your/host/file/path:/mnt/host-downloads",
        "-e", "WECHAT_APP_ID=your_app_id",
        "-e", "WECHAT_APP_SECRET=your_app_secret",
        "-e", "HOST_FILE_PATH=/your/host/file/path",
        "caol64/wenyan-mcp"
      ]
    }
  }
}

Docker 설정 특별 참고 사항:

  • 마운트 디렉토리 (-v): 호스트 머신의 파일/이미지 디렉토리를 컨테이너 내부의 /mnt/host-downloads로 마운트해야 합니다.

  • 환경 변수 (HOST_FILE_PATH): 호스트 머신의 마운트된 파일/이미지 디렉토리 경로와 일치해야 합니다.

  • 원리: Markdown 파일/글 내에서 참조하는 로컬 이미지는 해당 디렉토리에 배치해야 하며, Docker가 자동으로 매핑하여 컨테이너가 읽고 업로드할 수 있게 합니다.

디버깅 방법

공식 Inspector를 사용하여 디버깅하는 것을 권장합니다:

npx @modelcontextprotocol/inspector <command>

성공적으로 시작되면 다음과 같은 메시지가 나타납니다:

🔗 Open inspector with token pre-filled:
   http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=761c05058aa4f84ad02280e62d7a7e52ec0430d00c4c7a61492cca59f9eac299
   (Auto-open is disabled when authentication is enabled)

위 링크를 방문하면 디버깅 페이지가 열립니다.

debug

  1. 시작 명령을 올바르게 입력합니다.

  2. 환경 변수를 추가합니다.

  3. Connect를 클릭합니다.

  4. Tools -> List Tools를 선택합니다.

  5. 디버깅할 인터페이스를 선택합니다.

  6. 매개변수를 입력하고 Run Tool을 클릭합니다.

  7. 전체 매개변수를 확인합니다.

후원

Wenyan이 도움이 되었다면 저희 고양이에게 캔을 사주세요 ❤️

https://yuzhi.tech/sponsor

라이선스

Apache License Version 2.0

Related MCP Connectors

Related MCP Servers