关于 mcp-wan
mcp-wan 是通过 AceDataCloud API 生成 AI 视频的 MCP 服务,供 MCP 客户端用户从文本或图像生成视频并跟踪任务。
主要功能
- 01文本生成视频
- 02图像生成视频
- 03支持五种 Wan 模型
- 04支持 480P、720P 和 1080P
- 05支持音频与角色迁移
- 06查询任务状态和结果
适用场景
- 01根据文本提示词生成视频
- 02将参考图像制作成视频
- 03跟踪视频生成任务直至完成
MCP 相关
向 MCP 客户端提供 Wan 视频生成、模型与分辨率查询以及任务查询工具。支持托管 HTTP 接入,也可通过本地 stdio 或 HTTP 运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://wan.mcp.acedata.cloud/mcpclaude mcp add --transport http acedatacloud-mcp-wan https://wan.mcp.acedata.cloud/mcp{"mcpServers":{"acedatacloud-mcp-wan":{"type":"http","url":"https://wan.mcp.acedata.cloud/mcp"}}}在 Cursor 中打开{"servers":{"acedatacloud-mcp-wan":{"type":"http","url":"https://wan.mcp.acedata.cloud/mcp"}}}在 VS Code 中打开{"mcpServers":{"acedatacloud-mcp-wan":{"type":"http","url":"https://wan.mcp.acedata.cloud/mcp"}}}{"mcpServers":{"acedatacloud-mcp-wan":{"serverUrl":"https://wan.mcp.acedata.cloud/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
WanMCP
一个通过 AceDataCloud API 使用 Wan 进行 AI 视频生成的 Model Context Protocol (MCP) 服务。
可直接通过 Claude、VS Code 或任何兼容 MCP 的客户端,根据文本或图像生成 AI 视频。
功能
- 文本转视频 - 根据文本提示词创建 AI 生成的视频
- 图像转视频 - 使用参考图像生成视频
- 多种模型 - 支持 5 种 Wan 模型(wan2.6-t2v、wan2.6-i2v、wan2.6-r2v、wan2.6-i2v-flash、wan3.0-video)
- 多种分辨率 - 480P(草稿)、720P(默认)、1080P(高质量)
- 音频支持 - 生成带声音的视频
- 角色迁移 - 通过参考视频提取角色外观(wan2.6-r2v)
- 任务跟踪 - 监控生成进度并获取结果
工具参考
| 工具 | 描述 |
|---|---|
wan_generate_video | 使用 Wan 根据文本提示词生成 AI 视频。 |
wan_generate_video_from_image | 使用参考图像作为起始帧生成 AI 视频。 |
wan_get_task | 查询视频生成任务的状态和结果。 |
wan_get_tasks_batch | 一次查询多个视频生成任务。 |
wan_list_models | 列出所有可用于视频生成的 Wan 模型。 |
wan_list_resolutions | 列出所有可用的分辨率选项。 |
wan_list_actions | 列出所有可用的 Wan API 操作及对应工具。 |
连接:托管 OAuth、API 令牌或本地 stdio
托管端点为 https://wan.mcp.acedata.cloud/mcp。为 MCP 客户端选择一种连接方式:
| 方式 | 适用情况 | 凭据设置 |
|---|---|---|
| 托管 OAuth | 客户端支持远程 MCP OAuth | 只添加 URL,然后登录 AceDataCloud 并批准访问。无需将令牌粘贴到客户端配置中。 |
| 托管 API 令牌 | 客户端无法完成 OAuth,或你需要明确的集成凭据 | 在 Authorization: Bearer … 标头中发送 AceDataCloud API 令牌。将其保存在本地机密存储或环境变量中。 |
| 本地 stdio | 客户端运行本地 MCP 进程 | 安装 mcp-wan,并将 ACEDATACLOUD_API_TOKEN 传递给该进程。它仍会调用 AceDataCloud API。 |
托管服务会提供 OAuth 元数据和 Dynamic Client Registration (DCR)。DCR 用于注册客户端应用;它不是 API 密钥。 OAuth 会让你登录,客户端随后会发送生成的 Bearer 令牌;它可能会为该账户重复使用或创建 API 凭据。通过浏览器登录仍需要 AceDataCloud 账户。托管服务可能按用量计费:实际操作前,请查看当前服务文档和显示的价格。请勿为同一服务同时配置 OAuth 登录和固定的 Authorization 标头。
托管 OAuth 示例
- Claude 和 Claude Desktop 聊天: 在
Customize → Connectors → Add custom connector中添加远程自定义连接器,输入https://wan.mcp.acedata.cloud/mcp,选择登录;如果 Claude 询问如何注册其 OAuth 客户端,请选择 Register automatically。完成授权。Claude Desktop 的本地claude_desktop_config.json是单独的设置。Claude 连接器指南。 - Claude Code:
claude mcp add --transport http --scope user wan https://wan.mcp.acedata.cloud/mcp,然后运行claude mcp login wan。检查/mcp。Claude Code MCP 指南。 - Cursor: 只需添加远程服务
https://wan.mcp.acedata.cloud/mcp。用于项目时,将下方条目合并到<project>/.cursor/mcp.json;用于个人用途时,使用~/.cursor/mcp.json。Cursor MCP 指南。 - VS Code / Copilot: 运行 MCP: Add Server,选择 HTTP,输入
https://wan.mcp.acedata.cloud/mcp,然后完成浏览器登录。新的可移植工作区配置使用<project>/.mcp.json;下方的 VS Code 专用格式使用<project>/.vscode/mcp.json或用户配置文件。检查 MCP: List Servers。VS Code MCP 设置。 - Codex:
codex mcp add wan --url https://wan.mcp.acedata.cloud/mcp,然后运行codex mcp login wan。其用户设置位于~/.codex/config.toml。Codex 官方 MCP 指南。
Cursor 项目配置(OAuth):
{
"mcpServers": {
"wan": {"url": "https://wan.mcp.acedata.cloud/mcp"}
}
}
VS Code 专用工作区配置(OAuth):
{
"servers": {
"wan": {"type": "http", "url": "https://wan.mcp.acedata.cloud/mcp"}
}
}
托管 API 令牌
- 打开 Ace Data Cloud → Applications。登录,或先注册账号。
- 找到 General application。如果尚未创建,请选择 Initialize General Application。通用密钥可使用账号可用的服务;专用应用的密钥则仅限其对应的服务。检查所需的服务/模型访问权限以及当前定价。
- 从应用卡片复制 API Key,或打开 Keys / Manage Keys → Create,为此集成创建单独的密钥。为密钥设置易于辨认的名称,以便单独撤销或轮换。
- 创建密钥时,请检查 Expiration Time、Set Usage Limitation 和 Allowed APIs。仅启用所需的限制,并允许要调用的操作,然后点击 Create,再从密钥列表中复制令牌。查询任务并不代表有权提交生成请求。请确认应用余额足以支付首次请求;任何试用额度以账号当前显示为准。
- 仅复制令牌值,不要包含引号、空格或
Bearer。API Key / API Token 字段需要填写原始值;只有手动配置 HTTPAuthorization标头时才需要Bearer前缀。platform-...账号管理令牌不能替代生成 API 密钥。


将密钥保存在客户端的凭据存储中,或保存到下方所示的环境变量中。切勿将其放入提示词、共享工作流、截图或 Git 提交中。如果身份验证失败,请检查复制的完整值、应用/服务访问权限、有效期、使用限制和余额,再创建其他密钥。
固定的 Bearer 标头会绕过 OAuth。如果标头无效,请先移除它,再尝试通过浏览器登录;请将已保存的凭据妥善保密。
对于 Claude Code,添加服务时 shell 会展开令牌;请将已保存的用户 MCP 配置视为机密:
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
claude mcp add --transport http --scope user wan https://wan.mcp.acedata.cloud/mcp \
--header "Authorization: Bearer $ACEDATACLOUD_API_TOKEN"
对于 Claude Code 项目配置,请在 <project>/.mcp.json 中填写变量引用,并在启动 Claude Code 的环境中设置该变量:
{
"mcpServers": {
"wan": {
"type": "http",
"url": "https://wan.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}"}
}
}
}
Cursor 在 ~/.cursor/mcp.json 或未提交的项目配置中使用不同的环境变量语法:
{
"mcpServers": {
"wan": {
"url": "https://wan.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${env:ACEDATACLOUD_API_TOKEN}"}
}
}
}
在 VS Code 中,运行 MCP: Open User Configuration,并合并此服务和其屏蔽输入;${input:...} 适用于 VS Code 的用户/工作区格式,无法移植到 Agent Host 的 .mcp.json 格式:
{
"inputs": [
{"id": "acedata-wan-token", "type": "promptString", "description": "AceDataCloud API token", "password": true}
],
"servers": {
"wan": {
"type": "http",
"url": "https://wan.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${input:acedata-wan-token}"}
}
}
}
对于 Cline,请使用其 MCP 配置界面或 CLI 文件 ~/.cline/data/settings/cline_mcp_settings.json;其远程传输值为 streamableHttp。对于 JetBrains AI Assistant,请从 Settings → Tools → AI Assistant → Model Context Protocol (MCP) 添加远程 URL。对于 Zed,OAuth 模式下请使用仅含 URL 的 context_servers 项,或添加本地 Bearer 标头。这些客户端的配置架构各不相同;请遵循其当前界面操作,不要复制其他客户端的 JSON。Cline · JetBrains · Zed。
本地 stdio
安装程序包,并向本地进程提供 API 令牌:
python -m pip install mcp-wan
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
mcp-wan
对于 Claude Desktop 本地 MCP,请将此条目合并到其开发者设置打开的文件中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json)。uvx 需要在 PATH 中安装 uv:
{
"mcpServers": {
"wan": {
"command": "uvx",
"args": ["mcp-wan"],
"env": {"ACEDATACLOUD_API_TOKEN": "YOUR_API_TOKEN"}
}
}
}
请妥善保管此用户级文件。可自托管的 HTTP 使用 mcp-wan --transport http --port 8000;仅在具备适当网络和 TLS 控制措施的情况下对外开放。本地执行仍会调用 AceDataCloud API。
使用服务前的检查
https://wan.mcp.acedata.cloud/health返回{"status":"ok"}仅表示端点可访问。- 确认 MCP 客户端已加载工具。
wan_list_models是参考工具,无法验证下游 API 访问权限或余额。 - 如果需要完整的 API 检查,请先查看当前服务文档和显示的价格,然后使用你自己的有效输入调用
wan_generate_video。如果结果中包含任务 ID,请对同一 ID 调用wan_get_task,直到任务最终成功或失败。不要为了检查进度而重新提交操作。
对于 401,请检查客户端使用了哪种身份验证方式,以及令牌或 OAuth 会话是否有效。403 可能表示账户权限问题或内容审核失败;请查看返回的错误信息。余额不足和下游服务故障需要分别诊断。工具已列出或任务已提交,并不代表操作成功。
可用模型
| 模型 | 描述 | 使用场景 |
|---|---|---|
wan2.6-t2v | 文本转视频 | 根据文本提示词生成视频 |
wan2.6-i2v | 图像转视频 | 标准图像转视频生成 |
wan2.6-r2v | 参考视频转视频 | 角色提取与迁移 |
wan2.6-i2v-flash | 快速图像转视频 | 快速预览,质量较低 |
wan3.0-video | 文本转视频 | 可选用媒体素材生成视频 |
配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
ACEDATACLOUD_API_TOKEN | AceDataCloud 的 API 令牌 | 必需 |
ACEDATACLOUD_API_BASE_URL | API 基础 URL | https://api.acedata.cloud |
WAN_DEFAULT_MODEL | 默认视频模型 | wan2.6-t2v |
WAN_DEFAULT_RESOLUTION | 默认分辨率 | 720P |
WAN_REQUEST_TIMEOUT | 请求超时时间(秒) | 1800 |
LOG_LEVEL | 日志级别 | INFO |
命令行选项
mcp-wan --help
Options:
--version Show version
--transport Transport mode: stdio (default) or http
--port Port for HTTP transport (default: 8000)
开发
设置开发环境
# Clone repository
git clone https://github.com/AceDataCloud/WanMCP.git
cd WanMCP
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # or `.venv\Scripts\activate` on Windows
# Install with dev dependencies
pip install -e ".[dev,test]"
运行测试
# Run unit tests
pytest
# Run with coverage
pytest --cov=core --cov=tools
# Run integration tests (requires API token)
pytest tests/test_integration.py -m integration
代码质量
# Format code
ruff format .
# Lint code
ruff check .
# Type check
mypy core tools
构建与发布
# Install build dependencies
pip install -e ".[release]"
# Build package
python -m build
# Upload to PyPI
twine upload dist/*
项目结构
WanMCP/
├── core/ # Core modules
│ ├── __init__.py
│ ├── client.py # HTTP client for Wan API
│ ├── config.py # Configuration management
│ ├── exceptions.py # Custom exceptions
│ ├── oauth.py # OAuth 2.1 provider
│ ├── server.py # MCP server initialization
│ ├── types.py # Type definitions
│ └── utils.py # Utility functions
├── tools/ # MCP tool definitions
│ ├── __init__.py
│ ├── video_tools.py # Video generation tools
│ ├── task_tools.py # Task query tools
│ └── info_tools.py # Information tools
├── prompts/ # MCP prompts
│ └── __init__.py # Prompt templates
├── tests/ # Test suite
│ ├── conftest.py
│ └── __init__.py
├── deploy/ # Deployment configs
│ └── production/
│ ├── deployment.yaml
│ ├── ingress.yaml
│ └── service.yaml
├── .env.example # Environment template
├── CHANGELOG.md
├── Dockerfile # Docker image for HTTP mode
├── docker-compose.yaml # Docker Compose config
├── LICENSE
├── main.py # Entry point
├── pyproject.toml # Project configuration
└── README.md
API 参考
此服务封装了 AceDataCloud Wan API:
- Wan Videos API — 视频生成(文本转视频、图像转视频)
- Wan Tasks API — 任务查询
参与贡献
欢迎贡献!请按以下步骤操作:
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing) - 提交更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing) - 创建 Pull Request
文档
许可证
MIT 许可证 — 详情请参阅 LICENSE。
链接
由 AceDataCloud 倾心打造
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。