Cover image
Try Now
2025-04-07

MIDI MCP Server ist ein MCP-Server (Modellkontextprotokoll), mit dem AI-Modelle MIDI-Dateien aus textbasierten Musikdaten generieren können. Dieses Tool ermöglicht die programmatische Erstellung musikalischer Kompositionen über eine standardisierte Schnittstelle.

3 years

Works with Finder

1

Github Watches

0

Github Forks

7

Github Stars

MIDI MCP Server

Overview

MIDI MCP Server is a Model Context Protocol (MCP) server that enables AI models to generate MIDI files from text-based music data. This tool allows for programmatic creation of musical compositions through a standardized interface.

mid

Installation

npm install
npm run build

Usage with MCP Clients (e.g., Cline)

After building the project, simply add the server to your MCP client configuration:

"mcpServers": {
    "musicComposer": {
        "command": "node",
        "args": ["/path/to/midi-mcp-server/build/index.js"]
    }
}

Replace /path/to/ with the actual path to your project directory.

Features

  • Generate MIDI files from structured JSON music data
  • Support for multiple tracks and instruments
  • Customizable tempo, time signature, and note properties
  • Save MIDI files to specified locations

Tool: create_midi

The server provides a tool called create_midi that generates MIDI files from structured music data.

Input Parameters

  • title: String - The title of the composition
  • composition: String - A JSON string representing the music data
  • output_path: String - Path where the MIDI file will be saved

Composition Format

The composition should follow this structure:

{
  "bpm": number,
  "timeSignature": { "numerator": number, "denominator": number },
  "tracks": [
    {
      "name": string,
      "instrument": number,
      "notes": [
        { "pitch": number, "startTime": number, "duration": number, "velocity": number }
      ]
    }
  ]
}

Properties

  • bpm: Tempo in beats per minute
  • timeSignature: Time signature (e.g., {numerator: 4, denominator: 4} for 4/4 time)
  • tracks: Array of instrument tracks
    • name: Track name
    • instrument: MIDI program number (0-127)
    • notes: Array of note objects
      • pitch: MIDI note number (0-127)
      • startTime: Start time in beats
      • duration: Note duration in beats
      • velocity: Note velocity/volume (0-127)

Example

const composition = {
  "bpm": 120,
  "timeSignature": { "numerator": 4, "denominator": 4 },
  "tracks": [
    {
      "name": "Piano",
      "instrument": 0,
      "notes": [
        { "pitch": 60, "startTime": 0, "duration": 1, "velocity": 100 },
        { "pitch": 64, "startTime": 1, "duration": 1, "velocity": 100 },
        { "pitch": 67, "startTime": 2, "duration": 1, "velocity": 100 }
      ]
    }
  ]
};

Dependencies

  • @modelcontextprotocol/sdk: MCP server implementation
  • midi-writer-js: Library for creating MIDI files

Demo

For example, the prompt below, which is a request to create a minor scale 8-bar choral piece, can be processed by the server:

8小節の合唱曲を作って。
若干マイナー調で、メロディックな音階を作ってほしい

https://github.com/user-attachments/assets/e20ebef0-fdbf-4e72-910d-41b94183f9d9

melodic_minor_chorus.mid

Note on Local Execution

This MCP server runs locally and communicates via standard input/output (stdio). No network configuration is required as the MCP client will automatically start the server process and establish communication.

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • https://appia.in
  • Siri Shortcut Finder – your go-to place for discovering amazing Siri Shortcuts with ease

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • tomoyoshi hirata
  • Sony α7IIIマニュアルアシスタント

  • apappascs
  • Entdecken Sie die umfassendste und aktuellste Sammlung von MCP-Servern auf dem Markt. Dieses Repository dient als zentraler Hub und bietet einen umfangreichen Katalog von Open-Source- und Proprietary MCP-Servern mit Funktionen, Dokumentationslinks und Mitwirkenden.

  • jae-jae
  • MCP -Server für den Fetch -Webseiteninhalt mit dem Headless -Browser von Dramatikern.

  • ravitemer
  • Ein leistungsstarkes Neovim -Plugin für die Verwaltung von MCP -Servern (Modellkontextprotokoll)

  • patruff
  • Brücke zwischen Ollama und MCP -Servern und ermöglicht es lokalen LLMs, Modellkontextprotokoll -Tools zu verwenden

  • pontusab
  • Die Cursor & Windsurf -Community finden Regeln und MCPs

  • av
  • Führen Sie mühelos LLM -Backends, APIs, Frontends und Dienste mit einem Befehl aus.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的 llm 资料总结(数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Zusammenfassung der weltbesten LLM -Ressourcen.

  • Mintplex-Labs
  • Die All-in-One-Desktop & Docker-AI-Anwendung mit integriertem Lappen, AI-Agenten, No-Code-Agent Builder, MCP-Kompatibilität und vielem mehr.

  • modelcontextprotocol
  • Modellkontext -Protokollserver

    Reviews

    2 (1)
    Avatar
    user_Fl0Viqy0
    2025-04-17

    The midi-mcp-server by tubone24 is an excellent tool for any MCP application enthusiast. It offers seamless integration and efficient MIDI management, enhancing productivity and control. The repository's clear documentation and user-friendly interface make it accessible and easy to implement. Highly recommended for anyone looking to simplify and improve their MCP workflows!