mcpField
M
MMAudio

MMAudio

本地服务
github.com/mmaudio媒体与设计469 周前更新

关于 MMAudio

MMAudio MCP 是一个供 MCP 兼容客户端使用的音频生成服务器,面向需要从视频或文本描述生成音频的用户。它还提供 API 密钥验证工具,并支持通过环境变量或配置文件设置参数。

主要功能

  1. 01从视频生成同步音频
  2. 02根据文本描述生成音频
  3. 03验证 API 密钥与账户状态
  4. 04可配置服务参数
  5. 05TypeScript 与 Zod 类型校验

适用场景

  1. 01为视频生成匹配的环境音
  2. 02制作咖啡馆氛围或雨声音效
  3. 03检查 MMAudio API 密钥和账户状态

MCP 相关

服务器实现 MCP,并向兼容客户端提供视频转音频、文本转音频和 API 密钥验证工具。文档列出 Cursor、Claude Desktop 等客户端的接入配置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mmaudio": {
"command": "npx",
"args": [
"-y",
"mmaudio-mcp"
],
"env": {
"MMAUDIO_API_KEY": "<MMAUDIO_API_KEY>"
}
}
}
}
启动命令npx -y mmaudio-mcp
需要配置的环境变量
MMAUDIO_API_KEY密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmmaudio-mcp

工具

3

收录的工具列表 · 更新于 3 周前

参数类型必填说明
video_urlstring是要为其生成音频的视频文件 URL(支持 mp4、webm、avi、mov 格式)
promptstring是描述要生成的音频(例如,"forest sounds with birds chirping"、"urban traffic noise"、"peaceful ocean waves")
negative_promptstring否描述生成的音频中要避免的内容(可选)
seedinteger否用于生成可复现结果的随机种子(可选)
num_stepsinteger否推理步数(步数越多,质量越高,速度越慢)
durationnumber否生成音频的时长(秒)
cfg_strengthnumber否Classifier-free guidance 强度(数値越大,对提示词的遵守程度越高)

详细介绍

MMAudio MCP

License: MIT Node.js Version MCP Compatible

使用 MMAudio 的先进 AI 技术,实现 AI 驱动的视频转音频和文本转音频生成。此桌面扩展实现了模型上下文协议(MCP),可与 Cursor、Claude Desktop 和其他兼容 MCP 的客户端无缝集成。

🌟 功能

  • 视频转音频生成:通过 AI 驱动的分析,将视频内容转换为同步音频
  • 文本转音频生成:根据文本描述创作专业音频内容
  • API 密钥验证:验证 MMAudio API 凭据并检查账户状态
  • MCP 协议:完整实现模型上下文协议,确保普遍兼容性
  • 错误处理:全面的错误处理,并提供详细反馈
  • 类型安全:完整支持 TypeScript,并使用 Zod 架构验证
  • 可配置:提供灵活的配置选项,适用于不同用例

🚀 快速开始

前提条件
  • Node.js >= 18.0.0
  • MMAudio API 密钥(点击此处获取)
  • 兼容 MCP 的客户端(Cursor、Claude Desktop 等)
安装
  1. 克隆或下载此扩展:

    cd mcp
    npm install
    
  2. 配置 API 密钥:

    # Set environment variable
    export MMAUDIO_API_KEY="sk-your-api-key-here"
    
    # Or create a config.js file (copy from config.example.js)
    cp config.example.js config.js
    # Edit config.js with your API key
    
  3. 测试安装:

    npm start
    
  4. 链接软件包:

    npm link
    
在 Cursor 中使用
  1. 添加到 Cursor MCP 配置:

    {
      "mcpServers": {
        "mmaudio": {
          "command": "npx",
          "args": ["-y", "mmaudio-mcp@latest"],
          "env": {
            "MMAUDIO_API_KEY": "sk-your-api-key-here"
          }
        }
      }
    }
    
  2. 重启 Cursor,即可在 AI 助手中使用 MMAudio 工具。

在 Claude Desktop 中使用
  1. 添加到 Claude Desktop 配置(claude_desktop_config.json):

    {
      "mcpServers": {
        "mmaudio": {
          "command": "npx",
          "args": ["-y", "mmaudio-mcp@latest"],
          "env": {
            "MMAUDIO_API_KEY": "sk-your-api-key-here"
          }
        }
      }
    }
    
  2. 重启 Claude Desktop 以加载扩展。

🛠️ 可用工具

1. 视频转音频生成

根据视频内容生成 AI 音频。

工具名称:video_to_audio

参数:

  • video_url(必填):视频文件的 URL
  • prompt(必填):对所需生成音频的描述
  • negative_prompt(可选):生成音频中需要避免的内容
  • duration(可选):音频时长(秒)(1-30,默认值:8)
  • num_steps(可选):推理步数(1-50,默认值:25)
  • cfg_strength(可选):引导强度(1-10,默认值:4.5)
  • seed(可选):用于复现结果的随机种子

示例:

Generate audio for this video: https://example.com/video.mp4 with the prompt "peaceful forest sounds with birds chirping and gentle wind"
2. 文本转音频生成

根据文本描述创作音频内容。

工具名称:text_to_audio

参数:

  • prompt(必填):对所需生成音频的描述
  • duration(可选):音频时长(秒)(1-30,默认值:8)
  • num_steps(可选):推理步数(1-50,默认值:25)
  • cfg_strength(可选):引导强度(1-10,默认值:4.5)
  • negative_prompt(可选):生成音频中需要避免的内容
  • seed(可选):用于复现结果的随机种子

示例:

Create audio with the description "coffee shop ambiance with gentle chatter and espresso machine sounds"
3. API 密钥验证

验证 MMAudio API 密钥并检查账户状态。

工具名称:validate_api_key

参数:

  • api_key(可选):要验证的 API 密钥(如果未提供,则使用已配置的密钥)

示例:

Validate my MMAudio API key

⚙️ 配置

环境变量
变量描述必填默认值
MMAUDIO_API_KEY您的 MMAudio API 密钥是-
MMAUDIO_BASE_URLMMAudio API 的基础 URL否https://mmaudio.net
MMAUDIO_TIMEOUT请求超时时间(毫秒)否60000
LOG_LEVEL日志级别(error、warn、info、debug)否error
DEBUG启用调试模式否false
配置文件

您也可以使用 config.js 文件进行配置:

export const config = {
  apiKey: "sk-your-api-key-here",
  baseUrl: "https://mmaudio.net",
  timeout: 60000,
  // ... other options
};

📝 使用示例

视频转音频示例
// In your MCP client (Cursor, Claude Desktop, etc.)
"Please generate audio for this video URL: https://example.com/nature_video.mp4";
"I want forest sounds with birds chirping and a gentle breeze";
"Duration should be 10 seconds";
文本转音频示例
// Create ambient audio
"Generate 15 seconds of coffee shop ambiance with gentle background chatter";

// Create sound effects
"Create the sound of rain falling on a wooden roof for 8 seconds";

// Create atmospheric audio
"Generate futuristic sci-fi ambient sounds for a space station";

🔧 开发

项目结构
mcp/
├── server/index.js              # Main MCP server implementation
├── package.json           # Node.js dependencies and scripts
├── manifest.json          # DXT extension manifest
├── config.example.js      # Configuration example
└── README.md              # This file
测试
  1. 直接测试服务:

    npm start
    
  2. 使用简单的 MCP 客户端测试:

    echo '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' | npm start
    
开发模式

在开发模式下运行服务并启用调试:

npm run dev

这会启用额外的日志记录和 Node.js 检查器,以便进行调试。

🚨 故障排除

常见问题
1. “API key is required”错误

问题:扩展程序无法找到您的 API 密钥。

解决方案:

  • 确保已设置 MMAUDIO_API_KEY 环境变量
  • 或创建包含 API 密钥的 config.js 文件
  • 确认 API 密钥正确且有效
2. “Connection refused”或网络错误

问题:无法连接到 MMAudio API。

解决方案:

  • 检查您的网络连接
  • 确认基础 URL 正确
  • 检查是否存在防火墙限制
3. “Insufficient credits”错误

问题:您的 MMAudio 账户余额不足。

解决方案:

  • 在 mmaudio.net/dashboard 查看账户余额
  • 如有需要,购买额外额度
  • 使用 validate_api_key 工具检查账户状态
4. MCP 客户端未检测到扩展程序

问题:您的 MCP 客户端(Cursor、Claude Desktop)未显示 MMAudio 工具。

解决方案:

  • 检查 MCP 客户端设置中的配置路径
  • 确保 Node.js 位于 PATH 中
  • 检查服务日志中的错误
  • 重启 MCP 客户端
调试模式

启用调试模式以查看详细日志:

DEBUG=true MMAUDIO_API_KEY=your-key node server/index.js
日志

服务会将日志写入 stderr。您可以将日志重定向到文件:

node server/index.js 2> mmaudio.log

📄 API 参考

响应格式

所有工具均按以下格式返回响应:

{
  "content": [
    {
      "type": "text",
      "text": "{\"success\": true, \"message\": \"...\", \"result\": {...}}"
    }
  ]
}
成功响应示例
{
  "success": true,
  "message": "Audio generated successfully from text",
  "result": {
    "audio_url": "https://example.com/generated_audio.wav",
    "content_type": "audio/wav",
    "file_name": "generated_audio.wav",
    "file_size": 1024000,
    "duration": 8,
    "prompt": "coffee shop ambiance"
  }
}
错误响应示例
{
  "success": false,
  "error": "Invalid API key. Please check your MMAudio API key.",
  "code": "INVALID_REQUEST"
}

🔒 安全

  • API 密钥会得到安全处理,不会记录在日志中
  • 所有请求均使用 HTTPS
  • 扩展程序在沙盒环境中运行
  • 不会在本地存储敏感数据

📖 相关文档

🤝 参与贡献

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 根据需要添加测试
  5. 提交拉取请求

📝 许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

💬 支持


由 MMAudio 团队倾情打造 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。