npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mmaudio-mcp

v0.0.1

Published

MMAudio Desktop Extension - AI-powered video-to-audio and text-to-audio generation

Readme

MMAudio MCP

License: MIT Node.js Version MCP Compatible

AI-powered video-to-audio and text-to-audio generation using MMAudio's advanced AI technology. This Desktop Extension implements the Model Context Protocol (MCP) to provide seamless integration with Cursor, Claude Desktop, and other MCP-compatible clients.

🌟 Features

  • Video-to-Audio Generation: Transform video content into synchronized audio with AI-powered analysis
  • Text-to-Audio Generation: Create professional audio content from text descriptions
  • API Key Validation: Verify MMAudio API credentials and check account status
  • MCP Protocol: Full Model Context Protocol implementation for universal compatibility
  • Error Handling: Comprehensive error handling with detailed feedback
  • Type Safety: Full TypeScript support with Zod schema validation
  • Configurable: Flexible configuration options for different use cases

🚀 Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • MMAudio API key (Get one here)
  • MCP-compatible client (Cursor, Claude Desktop, etc.)

Installation

  1. Clone or download this extension:

    cd mcp
    npm install
  2. Configure your API key:

    # 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. Test the installation:

    npm start
  4. Link the package:

    npm link

Usage with Cursor

  1. Add to your Cursor MCP configuration:

    {
      "mcpServers": {
        "mmaudio": {
          "command": "npx",
          "args": ["-y", "mmaudio-mcp"],
          "env": {
            "MMAUDIO_API_KEY": "sk-your-api-key-here"
          }
        }
      }
    }
  2. Restart Cursor and the MMAudio tools will be available in your AI assistant.

Usage with Claude Desktop

  1. Add to your Claude Desktop configuration (claude_desktop_config.json):

    {
      "mcpServers": {
        "mmaudio": {
          "command": "npx",
          "args": ["-y", "mmaudio-mcp"],
          "env": {
            "MMAUDIO_API_KEY": "sk-your-api-key-here"
          }
        }
      }
    }
  2. Restart Claude Desktop to load the extension.

🛠️ Available Tools

1. Video-to-Audio Generation

Generate AI-powered audio from video content.

Tool Name: video_to_audio

Parameters:

  • video_url (required): URL of the video file
  • prompt (required): Description of the audio you want to generate
  • negative_prompt (optional): What to avoid in the generated audio
  • duration (optional): Audio duration in seconds (1-30, default: 8)
  • num_steps (optional): Number of inference steps (1-50, default: 25)
  • cfg_strength (optional): Guidance strength (1-10, default: 4.5)
  • seed (optional): Random seed for reproducible results

Example:

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 Generation

Create audio content from text descriptions.

Tool Name: text_to_audio

Parameters:

  • prompt (required): Description of the audio you want to generate
  • duration (optional): Audio duration in seconds (1-30, default: 8)
  • num_steps (optional): Number of inference steps (1-50, default: 25)
  • cfg_strength (optional): Guidance strength (1-10, default: 4.5)
  • negative_prompt (optional): What to avoid in the generated audio
  • seed (optional): Random seed for reproducible results

Example:

Create audio with the description "coffee shop ambiance with gentle chatter and espresso machine sounds"

3. API Key Validation

Validate your MMAudio API key and check account status.

Tool Name: validate_api_key

Parameters:

  • api_key (optional): API key to validate (uses configured key if not provided)

Example:

Validate my MMAudio API key

⚙️ Configuration

Environment Variables

| Variable | Description | Required | Default | | ------------------ | ------------------------------------ | -------- | --------------------- | | MMAUDIO_API_KEY | Your MMAudio API key | Yes | - | | MMAUDIO_BASE_URL | Base URL for MMAudio API | No | https://mmaudio.net | | MMAUDIO_TIMEOUT | Request timeout in milliseconds | No | 60000 | | LOG_LEVEL | Log level (error, warn, info, debug) | No | error | | DEBUG | Enable debug mode | No | false |

Configuration File

You can also use a config.js file for configuration:

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

📝 Example Usage

Video-to-Audio Example

// 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";

Text-to-Audio Example

// 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";

🔧 Development

Project Structure

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

Testing

  1. Test the server directly:

    npm start
  2. Test with a simple MCP client:

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

Development Mode

Run the server in development mode with debugging:

npm run dev

This enables additional logging and the Node.js inspector for debugging.

🚨 Troubleshooting

Common Issues

1. "API key is required" Error

Problem: The extension can't find your API key.

Solution:

  • Ensure you've set the MMAUDIO_API_KEY environment variable
  • Or create a config.js file with your API key
  • Verify the API key is correct and active

2. "Connection refused" or Network Errors

Problem: Can't connect to MMAudio API.

Solution:

  • Check your internet connection
  • Verify the base URL is correct
  • Check if there are any firewall restrictions

3. "Insufficient credits" Error

Problem: Your MMAudio account doesn't have enough credits.

Solution:

  • Check your account balance at mmaudio.net/dashboard
  • Purchase additional credits if needed
  • Use the validate_api_key tool to check your account status

4. MCP Client Not Detecting Extension

Problem: Your MCP client (Cursor, Claude Desktop) doesn't show MMAudio tools.

Solution:

  • Verify the configuration path in your MCP client settings
  • Ensure Node.js is in your PATH
  • Check the server logs for errors
  • Restart your MCP client

Debug Mode

Enable debug mode for detailed logging:

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

Logs

The server logs to stderr. You can redirect logs to a file:

node server/index.js 2> mmaudio.log

📄 API Reference

Response Format

All tools return responses in this format:

{
  "content": [
    {
      "type": "text",
      "text": "{\"success\": true, \"message\": \"...\", \"result\": {...}}"
    }
  ]
}

Success Response Example

{
  "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"
  }
}

Error Response Example

{
  "success": false,
  "error": "Invalid API key. Please check your MMAudio API key.",
  "code": "INVALID_REQUEST"
}

🔒 Security

  • API keys are handled securely and not logged
  • All requests use HTTPS
  • The extension runs in a sandboxed environment
  • No sensitive data is stored locally

📖 Related Documentation

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

💬 Support


Made with ❤️ by the MMAudio Team