这是一个基于 TypeScript 的 Model Context Protocol (MCP) 服务器,专门提供阿里云通义万相的文生图(Text-to-Image)和文生视频(Text-to-Video)能力。该服务器通过 MCP 协议,允许大语言模型(LLM)直接调用通义万相的图像和视频生成 API。
以百炼平台为例,展示如何使用该服务器:
{
"mcpServers": {
"tongyi-wanxiang": {
"command": "npx",
"args": [
"-y",
"tongyi-wanx-mcp-server@latest"
],
"env": {
"DASHSCOPE_API_KEY": "<你的通义万相 API 密钥>"
}
}
}
}
# 使用 npm
npm install
# 或使用 pnpm
pnpm install
# 构建项目
npm run build
# 或
pnpm run build
# 运行服务器
npm start
# 或
pnpm start
# 使用调试工具运行
npm run debug
# 或
pnpm run debug
该服务器提供以下 MCP 工具:
启动图像生成任务,返回任务 ID。
**参数**:
- `prompt`: 图像生成提示词
- `negative_prompt`: 负面提示词(不希望在图像中出现的元素)
**返回**:
- 包含 `task_id` 的任务信息
通过任务 ID 查询图像生成结果。
**参数**:
- `task_id`: 生成任务的唯一标识符
**返回**:
- 图像数据或错误信息
启动视频生成任务,返回任务 ID。
**参数**:
- `prompt`: 视频生成提示词
- `negative_prompt`: 负面提示词(不希望在视频中出现的元素)
- `duration`: 视频时长(可选,默认为 10 秒)
**返回**:
- 包含 `task_id` 的任务信息
通过任务 ID 查询视频生成结果。
**参数**:
- `task_id`: 生成任务的唯一标识符
**返回**:
- 视频数据或错误信息
your-project
├── src/
│ ├── mcp-server.ts
│ └── utils/
│ └── config.ts
└── package.json
DASHSCOPE_API_KEY: 通义万相 API 访问密钥PORT: 服务器监听端口(默认为 3000)export const CONFIG = {
api_key: process.env.DASHSCOPE_API_KEY,
port: parseInt(process.env.PORT) || 3000,
}
⚠️ 重要提示
- 请确保您已获取有效的通义万相 API 访问权限和密钥。
- 图像生成是一个异步过程,可能需要数秒到数十秒不等。
- 视频生成过程耗时较长,可能需要数分钟到十几分钟不等。
- 视频生成状态查询可能会多次失败,系统会自动重试,请耐心等待。
- 请合理设置轮询间隔和最大重试次数,以适应您的使用场景。
- 对于视频生成任务,建议增加最大重试次数和轮询间隔时间。