Skip to main content

主要实现的是火山引擎的提供的中药文生图,文生视频,使用免费edgett实现文生音频,整合打包合成打包视频MCP-Server

Project description

ZhongYao MCP Server

项目简介

zhongyao-mcp-server 是一个基于火山引擎豆包大模型API和MCP(Model Context Protocol)协议的AI工具服务器。它专注于中草药领域,提供了一系列强大的多模态内容生成工具。通过本服务器,用户可以轻松地在支持MCP的客户端(如 Trae, Cherry Studio)中,一键式地为指定的中草药生成包含详细信息、图片、语音解说和视频的完整短视频。

项目的核心是将复杂的多步骤、多模态生成流程(包括资料查询、文案撰写、语音合成、视频生成、后期合成)封装成简单易用的工具,极大地简化了中草药科普内容的创作过程。

核心功能特性:

  • 文生图:根据文本描述生成高质量图片
  • 文字生成语音: 根据文字生成TTS语音播报
  • 文生视频:根据文本描述生成视频内容
  • 图生视频:基于图片和文本描述生成动态视频
  • 模型配置:支持多种豆包AI模型选择

支持的AI模型:

  • 语言模型:deepseek-v3-250324
  • 文生图模型:doubao-seedream-3-0-t2i-250415
  • 图生视频模型:doubao-seedance-1-0-lite-i2v-250428
  • 文生视频模型:doubao-seedance-1-0-lite-t2v-250428
  • 文字生成语音:edgetts (免费)

部署指南

环境依赖

  • Python >= 3.11

  • 火山引擎豆包API密钥

    这个MCP 依赖包我们使用uv 管理所以pyproject.toml

dependencies = [
    "mcp[cli]>=1.9.4", # 添加requests依赖
    "requests>=2.31.0",
    "openai>=1.86.0",
    "cos-python-sdk-v5==1.9.33",
    "moviepy==1.0.3",
    "httpx",
]

配置文件说明

这代码配置文件我们使用config.ini 内容如下

# config.ini
[API]
api_key = YOUR_API_KEY_HERE
base_url = https://ark.cn-beijing.volces.com/api/v3

[Models]
# 语言模型
chat_model = deepseek-v3-250324
# 文生图模型
image_model = doubao-seedream-3-0-t2i-250415
# 文生视频模型
video_model = doubao-seedance-1-0-lite-t2v-250428

[edgetts]
tts_api_key =zhouhuizhou
tts_base_url=https://edgettsapi.duckcloud.fun/v1

[common]
cos_region  = ap-nanjing                                     # 腾讯云OSS存储Region
cos_secret_id  = AKID003XXXXXXgO9qPl                         # 腾讯云OSS存储SecretId
cos_secret_key  = IZhavCXXXXXXXXXXX6i9NXUFqGTUOFvS           # 腾讯云OSS存储SecretKey
cos_bucket =tts-1258720957                                   # 腾讯云OSS存储bucket

# font_path = /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
# [Windows 用户配置]
imagemagick_binary = D:\develop\ImageMagick-7.1.1-Q16\magick.exe
font_path = SimHei
# [Linux 用户配置]
# imagemagick_binary = /home/ImageMagick/magick
# font_path = /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc

需要修改的地方火山引擎的api_key 添加你自己的,腾讯云OSS存储。imagemagick_binary 换成你程序安装的目录

容器版本config.docker.ini 只需要修改火山引擎的api_key和腾讯云OSS存储,imagemagick 容器镜像默认安装(不需要考虑)

安装方式

方式一:使用pip安装

pip install zhongyao-mcp-server

方式二:使用uvx安装

uvx zhongyao-mcp-server

方式三:使用docker安装(推荐)

在代码当前目录下输入如下命令

docker build -t zhongyao_mcp_server .

88ac744c-bc42-4474-b3f4-7d70dfae5e8d

打包好镜像,我们可以查看容器镜像

image-20250702131535935

启动运行容器

docker run -d -p 8003:8003 --name zhongyao_mcp_server_instance zhongyao_mcp_server 

image-20250702131512291

客户端配置

trae配置

添加以下配置。请务必将 DOUBAO_API_KEY 替换为您的实际火山引擎豆包 API 密钥。

studio 使用配置文件方式

{
  "mcpServers": {
    "zhongyao-mcp-server": {
      "name": "中药AI视频生成服务",
      "description": "提供中药信息查询、文案、语音、视频生成及最终合成的服务。",
      "command": "uvx",
      "args": [
        "zhongyao-mcp-server"
      ],
      "env": {
        "ini": "F:\\work\\code\\AIcode\\zhongyao_mcp_server\\config.ini"
      }
    }
  }
}

studio 使用从环境变量加载

{
  "mcpServers": {
    "zhongyao-mcp-server": {
      "name": "中药AI视频生成服务",
      "description": "提供中药信息查询、文案、语音、视频生成及最终合成的服务。",
      "command": "uvx",
      "args": [
        "zhongyao-mcp-server"
      ],
      "env": {
        "DOUBAO_API_KEY": "火山引擎APIKEY",
        "DOUBAO_BASE_URL": "https://ark.cn-beijing.volces.com/api/v3",
        "DOUBAO_CHAT_MODEL": "deepseek-v3-250324",
        "DOUBAO_IMAGE_MODEL": "doubao-seedream-3-0-t2i-250415",
        "DOUBAO_VIDEO_MODEL": "doubao-seedance-1-0-lite-t2v-250428",
        "TTS_API_KEY": "自定义TTS密码",
        "TTS_BASE_URL": "https://edgettsapi.duckcloud.fun/v1",
        "COS_REGION": "ap-nanjing",
        "COS_SECRET_ID": "AKID0036B**********zSI1VjgO9qPl",
        "COS_SECRET_KEY": "IZhavCL********88XUFqGTUOFvS",
        "COS_BUCKET": "tts-1258720957"
      }
    }
  }
}

sse配置

{
  "mcpServers": {
    "zhongyao-mcp-server": {
      "url": "http://192.168.1.3:8003/sse"
    }
  }
}

image-20250702131450052

Cherry Studio配置

  1. 打开 Cherry Studio

  2. 进入 设置 → MCP Servers → 添加服务器

  3. 配置参数:

    • 名称: `zhongyao-mcp-server
    • 描述: 中药AI生成服务
    • 类型: STDIO
    • 命令: uvx
    • 参数: `zhongyao-mcp-server
    • 环境变量: ini 程序需要依赖config.ini
  4. 点击保存并启用

    详细图解

    image-20250702131429098

sse配置

image-20250702131410104

配置好后,可以检查到工具有哪些

image-20250702131329038

stdio配置

image-20250702131307661

img

跨平台注意事项

为了确保在不同操作系统(如 Linux 和 Windows)上顺利运行,请注意以下几点:

  1. 配置文件 config.ini:
    • 项目打包后,config.ini 文件不会自动安装到系统路径。您需要手动将 config.docker.ini 复制到您运行程序的目录下,并将其重命名为 config.ini
    • 请根据您的实际环境修改 config.ini 中的配置项,特别是 API 密钥和外部工具的路径。
  2. ImageMagick 和 FFmpeg:
    • moviepy 库依赖于外部工具 ImageMagickFFmpeg 来处理视频和图像。这些工具需要单独安装,并且不会随 Python 包一起分发。
    • 安装: 请根据您的操作系统,从官方网站下载并安装 ImageMagickFFmpeg
    • 配置: 安装完成后,请确保在 config.ini 文件中正确配置 [common] 部分的 imagemagick_binary 路径。例如:
      • Windows: imagemagick_binary = D:\develop\ImageMagick-7.1.1-Q16-HDRI\magick.exe (请替换为您的实际安装路径)
      • Linux: imagemagick_binary = /usr/bin/magick (如果已添加到 PATH,则可能不需要完整路径)
    • 如果 imagemagick_binary 未配置,MoviePy 将尝试在系统 PATH 中查找。建议明确配置以避免潜在问题。

API密钥获取

  1. 访问 火山引擎控制台

  2. 注册并登录账户

  3. 开通豆包大模型服务(需要分别授权开通各个模型)

    火山引擎模型,需要分别授权开通,点击开通管理

    image-20250702131240244

  4. 在API管理中创建API密钥

    API 管理

    image-20250702131219078

可用工具

2. get_chinese_herb_info

获取中药材的详细信息。

  • herb_name (string): 中药材名称。
  • model (string, 可选): 用于获取信息的模型名称,默认为 DEFAULT_CHAT_MODEL

3. get_chinese_herb_image

根据中药材名称生成图片。

  • herb_name (string): 中药材名称。
  • size (string, 可选): 图片尺寸,默认"1024x1024"。
  • model (string, 可选): 用于生成图片的模型名称,默认为 DEFAULT_IMAGE_MODEL支持的图片尺寸: 512x512, 768x768, 1024x1024, 1024x1792, 1792x1024

4. get_chinese_herb_video

根据中药材名称生成视频。

  • herb_name (string): 中药材名称。
  • duration (string, 可选): 视频时长(秒),默认"8"。
  • ratio (string, 可选): 视频比例,默认"16:9"。
  • model (string, 可选): 用于生成视频的模型名称,默认为 DEFAULT_VIDEO_MODEL支持的视频比例: 16:9, 9:16, 1:1

5. generate_audio_from_text

将文本转换为语音并上传到COS。

  • text (string): 需要转换为语音的文本。
  • voice (string, 可选): 语音模型,默认"zh-CN-XiaoxiaoNeural"。
  • speed (float, 可选): 语音播放速度,默认1.0。

6. generate_herb_short_video

生成关于特定中药材的完整短视频,包括信息获取、文案生成、语音合成和视频合成。

  • herb_name (string): 中药材名称。

使用示例

1. 获取中药材信息示例

请使用get_chinese_herb_info工具获取"人参"的详细信息

2. 生成中药材图片示例

请使用get_chinese_herb_image工具生成一张"枸杞"的图片

3. 生成中药材视频示例

请使用get_chinese_herb_video工具生成一个"当归"的8秒视频

4. 文本转语音示例

请使用generate_audio_from_text工具将"你好,这是一个测试语音。"转换为语音

image-20250702131200253

5. 生成中药材短视频示例

请使用generate_herb_short_video工具生成"三七"的短视频

image-20250702131127743

注意事项

  • 视频生成任务可能需要较长时间完成,请耐心等待
  • 确保API密钥有足够的配额
  • 生成的内容URL有时效性,请及时保存

故障排除

常见问题

  1. API密钥错误: 确保API密钥正确且有效
  2. 网络连接问题: 检查网络连接和防火墙设置
  3. 模型不可用: 确认使用的模型名称正确

调试模式

启用详细日志输出:

uvx zhongyao-mcp-server --verbose

项目信息

许可证: MIT License

作者: zhouqingyu666 邮箱 :zhouqingyu666@aisino.com

版本: v0.0.4

  • 初始版本发布
  • 支持文生图、文生视频、图生视频、文字生成语音、中药短视频功能
  • 集成火山引擎豆包API、edgetts

贡献: 欢迎提交Issue和Pull Request来改进这个项目

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zhongyao_mcp_server-0.0.5.tar.gz (38.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zhongyao_mcp_server-0.0.5-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

Details for the file zhongyao_mcp_server-0.0.5.tar.gz.

File metadata

  • Download URL: zhongyao_mcp_server-0.0.5.tar.gz
  • Upload date:
  • Size: 38.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.8

File hashes

Hashes for zhongyao_mcp_server-0.0.5.tar.gz
Algorithm Hash digest
SHA256 f6dd1843a688ffb067a1931348d5b6bf06d0082db86271ae25edd8aa54b38594
MD5 eb45164a5615f171a8f570f438bd99fe
BLAKE2b-256 6a9a1c80eb33140f7ca90d52b3fd8fd7e1072b50d535663a26ef8c8c3c4b4914

See more details on using hashes here.

File details

Details for the file zhongyao_mcp_server-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for zhongyao_mcp_server-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 82608d5a089f7bd08be1a7492e6bfdbf843fdbf0c7741b676834a47a488932a6
MD5 b45aece4342f5cda13df1f23682682fc
BLAKE2b-256 71e36b7c74a3faf29c5717b4d15da3b055a6a5730bcaceecbd13e9560f414ee1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page