Skip to main content
Glama

Reaper Dev MCP Server

CI License: MIT Node.js Python

MCP (Model Context Protocol) server providing reference documentation for REAPER development, ReaScript API, JSFX programming, and ReaWrap API.

Purpose

This server provides static reference documentation that serves as a lookup reference for factual information about REAPER development. It helps prevent "token burn" by avoiding the need to rediscover common patterns and pitfalls in every session.

Related MCP server: SJ RedM MCP Server

Features

  • Queryable API Documentation: Use tools to search and get detailed function information

  • JSFX Fundamentals: Core concepts and gotchas

  • ReaScript API: Complete function reference with signatures and parameters (2,282 functions across C, EEL2, Lua, Python)

  • ReaWrap API: Object-oriented wrapper documentation (14 classes, 736 methods)

Installation

Quick Start

Choose your IDE and follow the instructions:

Claude Code CLI

Prerequisites: Node.js v18+

Installation (one command):

claude mcp add --transport stdio --scope user reaper-dev -- npx -y reaper-dev-mcp

Verify it's working:

claude mcp list

You should see: reaper-dev: npx -y reaper-dev-mcp - ✓ Connected

That's it! The server will automatically start when Claude Code needs it. Restart your Claude Code session to use the tools.


Cursor IDE

Cursor supports both stdio and HTTP transports. Stdio is recommended (no background process needed).

Prerequisites: Node.js v18+

  1. Open Cursor settings:

    • macOS/Linux: ~/.cursor/mcp.json

    • Windows: %APPDATA%\Cursor\mcp.json

  2. Add this configuration:

{
  "mcpServers": {
    "reaper-dev": {
      "command": "npx",
      "args": ["-y", "reaper-dev-mcp"]
    }
  }
}
  1. Restart Cursor

That's it! Cursor will spawn the server automatically when needed.

Option B: HTTP/SSE Transport

If you prefer HTTP (or stdio doesn't work), use this method:

  1. Start the server in a terminal (keep it running):

    npx -y reaper-dev-mcp

    The server will start on http://localhost:3000. For a custom port:

    PORT=8080 npx -y reaper-dev-mcp
  2. Open Cursor settings and add:

{
  "mcpServers": {
    "reaper-dev": {
      "type": "sse",
      "url": "http://localhost:3000"
    }
  }
}
  1. Restart Cursor

Note: The server must be running before Cursor starts.


Claude Desktop

Claude Desktop requires HTTP/SSE transport.

Prerequisites: Node.js v18+

  1. Start the server in a terminal (keep it running):

    npx -y reaper-dev-mcp

    The server will start on http://localhost:3000. For a custom port:

    PORT=8080 npx -y reaper-dev-mcp
  2. Configure Claude Desktop:

    Locate your config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  3. Add this configuration:

{
  "mcpServers": {
    "reaper-dev": {
      "type": "sse",
      "url": "http://localhost:3000"
    }
  }
}
  1. Restart Claude Desktop

Note: The server must be running before Claude Desktop starts.


Development Setup

If you want to modify the server or contribute:

git clone https://github.com/Conceptual-Machines/reaper-dev-mcp.git
cd reaper-dev-mcp
npm install
npm run build

Run in development mode:

npm run dev

Run tests:

npm run test

MCP Tools

get_function_info

Get detailed information about a function from JSFX, ReaScript, or ReaWrap API.

Parameters:

  • api (string): One of "jsfx", "reascript", "reawrap"

  • function_name (string): Name of the function to look up

  • class_name (string, optional): Required for ReaWrap API queries

Examples:

// JSFX
{
  "api": "jsfx",
  "function_name": "sin"
}

// ReaScript
{
  "api": "reascript",
  "function_name": "TrackFX_GetParam"
}

// ReaWrap
{
  "api": "reawrap",
  "class_name": "track",
  "function_name": "add_fx_by_name"
}

search_functions

Search for functions across JSFX, ReaScript, or ReaWrap APIs.

Parameters:

  • api (string): One of "jsfx", "reascript", "reawrap"

  • query (string): Search query (function name, description, etc.)

  • limit (number, optional): Maximum number of results (default: 10)

Examples:

{
  "api": "reawrap",
  "query": "create",
  "limit": 5
}

Resources

All documentation is available as MCP resources:

  • reascript://jsfx-fundamentals - Core JSFX concepts

  • reascript://parameter-system - REAPER parameter system

  • reascript://parameter-modulation - Parameter linking (plink API)

  • reascript://fx-containers - FX container system

  • reascript://reawrap-api - ReaWrap API reference

API Coverage

The MCP server provides access to:

  • JSFX API: 110 functions from official REAPER documentation

  • ReaScript API: 2,282 functions organized by language (C, EEL2, Lua, Python)

  • ReaWrap API: 14 classes with 736 methods

Success Criteria

✅ No More Token Burn: Stop rediscovering JSFX parameter indexing every session
✅ Fast Problem Solving: Quick lookup for plink API, container indices
✅ Prevent Regressions: Document all bugs so they're never repeated
✅ Reusable Knowledge: Can be used across all REAPER projects

License

MIT

Available Tools

2 tools
get_function_infoB

Get detailed information about a function from JSFX, ReaScript, or ReaWrap API

Inputs: api (required), function_name (required), class_name.

search_functionsC

Search for functions across JSFX, ReaScript, or ReaWrap APIs

Inputs: api (required), query (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: search_functions is for discovery/listing matching functions, while get_function_info retrieves detailed information about a specific known function. There is no overlapping functionality or ambiguity.

    Naming Consistency5/5

    Both tool names follow the same verb_noun pattern: search_functions and get_function_info. The naming is predictable and consistent, making the tool surface easy to understand.

    Tool Count3/5

    With only 2 tools, the server feels slightly thin, but it is focused on a narrow read-only domain (API function reference lookup). The count is borderline but not unreasonable for the stated purpose.

    Completeness5/5

    The domain is a read-only API reference for REAPER development. Search and get-info provide a complete workflow: discover functions through search, then retrieve detailed info. There are no missing CRUD operations or obvious dead ends.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      A unified development tool for RedM that provides access to RDR3 discoveries, framework documentation (VORP/RSGCore), native functions across 86+ namespaces, and database operations with smart context-aware loading.
      13
      7
      MIT
    • A
      license
      B
      quality
      A
      maintenance
      Connects AI assistants to REAPER for music production, enabling full control over tracks, MIDI, mixing, mastering, and audio analysis through 153 tools across 24 modules.
      174
      117
      Apache 2.0