JUCE Docs MCP server

Parses JUCE Framework HTML documentation from Stanford CCRMA's website, converting class details into markdown-formatted resources for developers to easily search and retrieve C++ class information.
Back to servers
Provider
Julius Smith
Release date
Mar 11, 2025
Language
TypeScript
Stats
3 stars

This MCP server provides access to JUCE Framework C++ class documentation through the Model Context Protocol. It acts as a bridge between your development environment and JUCE's documentation, allowing you to quickly find and reference class information without leaving your workflow.

Installation

To install the JUCE Documentation MCP Server:

# Clone the repository
git clone https://github.com/josmithiii/mcp-servers-jos.git
cd mcp-servers-jos/juce-docs-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Usage

Running the Server

Start the MCP server with:

npm start

This starts the server using stdio as the transport mechanism, making it compatible with MCP clients like Claude Desktop App, Continue, or other MCP-compatible applications.

Adding to Cursor

To integrate with the Cursor editor:

  1. Open Cursor → Settings → Cursor Settings
  2. Select MCP
  3. Set the Name to "JUCE Docs" (or your preferred name) and set Type to Command
  4. Set the Command to node /path/to/juce-docs-mcp-server/dist/index.js, using your actual path
  5. Restart Cursor to apply the changes

Available Resources and Tools

You can access documentation through resources and tools:

Resources

  • juce://class/{className} - Get documentation for a specific JUCE class
  • juce://classes - List all available JUCE classes

Tools

  • /search-juce-classes - Search for JUCE classes by name
  • /get-juce-class-docs - Get documentation for a specific JUCE class

Prompts

  • explore-juce - Interactive exploration of JUCE framework components
    • Use without arguments for an overview of main components
    • Add a topic to explore specific functionality (e.g., explore-juce audio)

Example Usage

  1. List all available classes:

    juce://classes
    
  2. Get documentation for a specific class:

    juce://class/ValueTree
    
  3. Search for Audio classes:

    /search-juce-classes Audio
    
  4. Get documentation for a specific class:

    /get-juce-class-docs AudioProcessor
    

Customizing the Documentation Source

To change the JUCE documentation URL source:

  1. Edit juce-docs-mcp-server/src/juce-docs.ts
  2. Modify the BASE_URL line to one of:
    const BASE_URL = 'https://ccrma.stanford.edu/~jos/juce_modules';
    // More up-to-date alternatives:
    const BASE_URL = 'https://docs.juce.com/develop';
    const BASE_URL = 'https://docs.juce.com/master';
    

Tips for Effective Use

Quick Reference Workflows

  • Start with /search-juce-classes followed by a category (Audio, GUI, etc.)
  • Use explore-juce audio for an overview of related classes
  • For detailed documentation, use juce://class/ClassName

Integration With Development

  • Keep Cursor with the MCP server running alongside your IDE
  • Before implementing features, explore available classes with /search-juce-classes
  • When debugging, check class documentation for edge cases or implementation details

JUCE Development Tips

  • Audio Processing: Start with AudioProcessor for plugins, AudioSource for playback
  • GUI Development: Base custom components on the Component class
  • Plugin Development: Reference AudioProcessor and AudioProcessorEditor classes

Troubleshooting

Common issues and solutions:

  • Class Not Found: Verify the class name is correct
  • Connection Issues: Check your internet connection
  • Server Start Failure: Ensure Node.js is installed and the build completed
  • Cursor Integration: Verify the command path in MCP settings is correct

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later