Skip to content

caol64/wenyan-mcp

Repository files navigation

文颜 MCP Server

intro.mp4

Overview

文颜 MCP Server 是一个基于模型上下文协议(Model Context Protocol, MCP)的服务器组件,支持将 Markdown 格式的文章发布至微信公众号草稿箱,并使用与 文颜 相同的主题系统进行排版。

使用场景:

Features

  • 列出并选择支持的文章主题
  • 使用内置主题对 Markdown 内容排版
  • 发布文章到微信公众号草稿箱
  • 自动上传本地或网络图片

使用方式

方式一:本地运行

编译

确保已安装 Node.js 环境:

git clone https://github.com/caol64/wenyan-mcp.git
cd wenyan-mcp

npm install
npx tsc -b && npm run copy-assets

与 MCP Client 集成

在你的 MCP 配置文件中加入以下内容:

{
  "mcpServers": {
    "wenyan-mcp": {
      "name": "公众号助手",
      "command": "node",
      "args": [
        "Your/path/to/wenyan-mcp/dist/index.js"
      ],
      "env": {
        "WECHAT_APP_ID": "your_app_id",
        "WECHAT_APP_SECRET": "your_app_secret"
      }
    }
  }
}

说明:

  • WECHAT_APP_ID 微信公众号平台的 App ID
  • WECHAT_APP_SECRET 微信平台的 App Secret

方式二:使用 Docker 运行(推荐)

适合部署到服务器环境,或与本地 AI 工具链集成。

构建镜像

docker build -t wenyan-mcp .

与 MCP Client 集成

在你的 MCP 配置文件中加入以下内容:

{
  "mcpServers": {
    "wenyan-mcp": {
      "name": "公众号助手",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v", "/your/host/image/path:/mnt/host-downloads",
        "-e", "WECHAT_APP_ID=your_app_id",
        "-e", "WECHAT_APP_SECRET=your_app_secret",
        "-e", "HOST_IMAGE_PATH=/your/host/image/path",
        "wenyan-mcp"
      ]
    }
  }
}

说明:

  • -v 挂载宿主机目录,使容器内部可以访问本地图片。与环境变量HOST_IMAGE_PATH保持一致。你的 Markdown 文章内的本地图片应该都放置在该目录中,docker会自动将它们映射到容器内。容器无法读取在该目录以外的图片。
  • -e 注入docker容器的环境变量:
  • WECHAT_APP_ID 微信公众号平台的 App ID
  • WECHAT_APP_SECRET 微信平台的 App Secret
  • HOST_IMAGE_PATH 宿主机图片目录

微信公众号 IP 白名单

请务必将服务器 IP 加入公众号平台的 IP 白名单,以确保上传接口调用成功。 详细配置说明请参考:https://yuzhi.tech/docs/wenyan/upload


配置说明(Frontmatter)

为了可以正确上传文章,需要在每一篇 Markdown 文章的开头添加一段frontmatter,提供titlecover两个字段:

---
title: 在本地跑一个大语言模型(2) - 给模型提供外部知识库
cover: /Users/lei/Downloads/result_image.jpg
---
  • title 是文章标题,必填。

  • cover 是文章封面,支持本地路径和网络图片:

    • 如果正文有至少一张图片,可省略,此时将使用其中一张作为封面;
    • 如果正文无图片,则必须提供 cover。

关于图片自动上传

  • 支持图片路径:

    • 本地路径(如:/Users/lei/Downloads/result_image.jpg
    • 网络路径(如:https://example.com/image.jpg

示例文章格式

---
title: 在本地跑一个大语言模型(2) - 给模型提供外部知识库
description: Make your local large language models (LLMs) smarter! This guide shows how to use LangChain and RAG to let them retrieve data from external knowledge bases, improving answer accuracy.
cover: /Users/lei/Downloads/result_image.jpg
---[上一篇文章](https://babyno.top/posts/2024/02/running-a-large-language-model-locally/)中,我们展示了如何在本地运行大型语言模型。本篇将介绍如何让模型从外部知识库中检索定制数据,提升答题准确率,让它看起来更“智能”。

## 准备模型

访问 `Ollama` 的模型页面,搜索 `qwen`,我们使用支持中文语义的“[通义千问](https://ollama.com/library/qwen:7b)”模型进行实验。

![](https://mmbiz.qpic.cn/mmbiz_jpg/Jsq9IicjScDVUjkPc6O22ZMvmaZUzof5bLDjMyLg2HeAXd0icTvlqtL7oiarSlOicTtiaiacIxpVOV1EeMKl96PhRPPw/640?wx_fmt=jpeg)

如需更多功能扩展或反馈建议,欢迎提 issue

About

文颜 MCP Server 可以让 AI 自动将 Markdown 文章排版后发布至微信公众号。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published