Skip to main content
Glama

文颜 (Wenyan) MCP Server

npm License NPM Downloads Docker Pulls Stars

概要

文颜(Wenyan) は、Markdownのレイアウト調整と投稿をワンクリックで行えるマルチプラットフォーム対応ツールです。以下のプラットフォームへの変換・投稿をサポートしています:

  • WeChat公式アカウント(微信公众号)

  • 知乎 (Zhihu)

  • 今日頭条 (Toutiao)

  • その他コンテンツプラットフォーム(順次拡大中)

文颜の目標は、**「ライターがレイアウトやプラットフォームへの適応ではなく、コンテンツそのものに集中できるようにすること」**です。

文颜の各バージョン

文颜は現在、さまざまな利用シーンに対応した複数の形態を提供しています:

文颜 MCP Server とは?

簡単に言えば、「AIライティング」と「WeChat公式アカウントへの投稿」をつなぐ架け橋です。

MCPプロトコルに基づき、Claude DesktopなどのAIクライアントから直接文颜のレイアウトエンジンを呼び出せるようになりました。記事を書き終えた後、サードパーティのエディタでコピー&ペーストを繰り返す必要はありません。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にこう伝えます:

現在利用可能なWeChat公式アカウントのテーマは何ですか?

AIの回答:

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

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

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

テーマの登録

AIにこう伝えます:

このCSS (https://wenyan.yuzhi.tech/manhua.css) を「xiuluochang」という名前の新しいWeChat公式アカウントテーマとして登録してください。

AIの回答:

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

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

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

テーマの削除

AIにこう伝えます:

「xiuluochang」という名前のWeChat公式アカウントテーマを削除してください。

AIの回答:

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

記事の投稿

AIにこう伝えます:

phycatテーマを使用して、この記事をWeChat公式アカウントに投稿してください:./tests/publish.md

AIの回答:

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

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

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

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

概念

環境変数の設定

IMPORTANT

MCP起動時に以下の環境変数が設定されていることを確認してください。設定されていない場合、アップロードインターフェースの呼び出しに失敗します。

  • WECHAT_APP_ID

  • WECHAT_APP_SECRET

WeChat公式アカウントのIPホワイトリスト

IMPORTANT

文颜を実行するマシンの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 記事のカバー画像

    • ローカルパスまたはWeb上の画像URL

    • 本文中に画像がある場合は省略可能

  • author 記事の著者

  • source_url 元記事のURL

記事のサンプル

本文中の画像とカバー画像

記事をWeChat公式アカウントに投稿する前に、文颜はWeChatの要件に従って記事内のすべての画像を自動的に処理し、公式アカウントの素材ライブラリにアップロードします。現在、文颜は以下の画像形式を適切にサポートしています:

  • ローカルディスクの絶対パス(例:/Users/xxx/image.jpg

  • Web上のパス(例:https://example.com/image.jpg

  • 現在の記事からの相対パス(例:./assets/image.png

サーバーモード

純粋なローカル実行である**ローカルモード(Stdio Mode)に加え、wenyan-mcpリモートクライアントモード(Client–Server Mode)**も提供しています。どちらのモードでも実行結果は完全に同じであり、実行環境やネットワーク条件に応じて最適な方法を選択できます。

ローカルモードでは、MCPが直接WeChat公式アカウントのAPIを呼び出し、画像のアップロードとドラフト投稿を完了します。

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

リモートクライアントモードでは、MCPはクライアントとして機能し、投稿リクエストをクラウドサーバー上にデプロイされたWenyan Serverに送信します。サーバー側で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. 完全なパラメータを確認する

スポンサー

文颜が役に立ったと感じたら、うちの猫に缶詰を買ってあげてください ❤️

https://yuzhi.tech/sponsor

ライセンス

Apache License Version 2.0

-
security - not tested
A
license - permissive license
-
quality - not tested

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

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/caol64/wenyan-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server