QRWC Svelte MCP

QRWC Svelte MCP

MCP server that provides tools, resources, and prompts to help LLMs build Svelte UI components for Q-SYS systems, including discovering components and controls from a Q-SYS Core.

Category
Visit Server

README

QRWC Svelte MCP

A Model Context Protocol (MCP) server for Svelte projects using the qrwc-svelte npm package. This MCP server provides tools, resources, and prompts to help LLMs build UI components that interact with Q-SYS systems.

āš ļø Experimental: This MCP server is currently in the experimental stage. The API and features may change.

šŸ’” Recommended: For the best experience, use this MCP server alongside the Official Svelte MCP server to get comprehensive Svelte documentation and code analysis.

Overview

The QRWC Svelte MCP server helps LLMs and AI agents write better code for Q-SYS systems by providing:

  • Tools to discover components and controls from a Q-SYS Core
  • Documentation resources for working with qrwc-svelte
  • Example code for common control types
  • Prompts optimized for Q-SYS development tasks

Requirements

  • A Q-SYS Core IP address (required as the first argument) - Only hardware and VCore is supported, No Emulation.
  • Node.js installed (for running the MCP server)

Setup

The setup varies based on your chosen MCP client. The core IP address must be provided as the first argument, and you can optionally pass --no-svelte to disable Svelte-specific resources and prompts (useful if you're using a different UI framework).

Command Format

npx qrwc-svelte-mcp <core-ip> [--no-svelte]

Claude Code

To include the QRWC Svelte MCP server in Claude Code, run:

claude mcp add -t stdio -s [scope] qrwc-svelte -- npx qrwc-svelte-mcp <core-ip>

Replace <core-ip> with your Q-SYS Core IP address. The [scope] must be user, project or local.

To disable Svelte-specific resources:

claude mcp add -t stdio -s [scope] qrwc-svelte -- npx qrwc-svelte-mcp <core-ip> --no-svelte

Claude Desktop

In the Settings > Developer section, click on Edit Config. It will open the folder with a claude_desktop_config.json file in it. Edit the file to include the following configuration:

{
	"mcpServers": {
		"qrwc-svelte": {
			"command": "npx",
			"args": ["-y","qrwc-svelte-mcp","<core-ip>"]
		}
	}
}

Replace <core-ip> with your Q-SYS Core IP address.

To disable Svelte-specific resources:

{
	"mcpServers": {
		"qrwc-svelte": {
			"command": "npx",
			"args": ["-y","qrwc-svelte-mcp","<core-ip>", "--no-svelte"]
		}
	}
}

Codex CLI

Add the following to your config.toml (which defaults to ~/.codex/config.toml):

[mcp_servers.qrwc-svelte]
command = "npx"
args = ["-y", "qrwc-svelte-mcp", "<core-ip>"]

Replace <core-ip> with your Q-SYS Core IP address.

To disable Svelte-specific resources:

[mcp_servers.qrwc-svelte]
command = "npx"
args = ["-y", "qrwc-svelte-mcp", "<core-ip>", "--no-svelte"]

Gemini CLI

To include the QRWC Svelte MCP server in Gemini CLI, run:

gemini mcp add -t stdio -s [scope] qrwc-svelte npx -y qrwc-svelte-mcp <core-ip>

Replace <core-ip> with your Q-SYS Core IP address. The [scope] must be user, project or local.

To disable Svelte-specific resources:

gemini mcp add -t stdio -s [scope] qrwc-svelte npx -y qrwc-svelte-mcp <core-ip> --no-svelte

OpenCode

Run the command:

opencode mcp add

and follow the instructions, selecting 'Local' under the 'Select MCP server type' prompt:

opencode mcp add

ā”Œ  Add MCP server
│
ā—‡  Enter MCP server name
│  qrwc-svelte
│
ā—‡  Select MCP server type
│  Local
│
ā—†  Enter command to run
│  npx -y qrwc-svelte-mcp <core-ip>

Replace <core-ip> with your Q-SYS Core IP address.

VS Code

  1. Open the command palette
  2. Select "MCP: Add Server..."
  3. Select "Command (stdio)"
  4. Insert npx -y qrwc-svelte-mcp <core-ip> in the input and press Enter (replace <core-ip> with your Q-SYS Core IP address)
  5. When prompted for a name, insert qrwc-svelte
  6. Select if you want to add it as a Global or Workspace MCP server

To disable Svelte-specific resources, use npx -y qrwc-svelte-mcp <core-ip> --no-svelte in step 4.

Cursor

  1. Open the command palette
  2. Select "View: Open MCP Settings"
  3. Click on "Add custom MCP"

It will open a file with your MCP servers where you can add the following configuration:

{
	"mcpServers": {
		"qrwc-svelte": {
			"command": "npx",
			"args": ["-y", "qrwc-svelte-mcp", "<core-ip>"]
		}
	}
}

Replace <core-ip> with your Q-SYS Core IP address.

To disable Svelte-specific resources:

{
	"mcpServers": {
		"qrwc-svelte": {
			"command": "npx",
			"args": ["-y", "qrwc-svelte-mcp", "<core-ip>", "--no-svelte"]
		}
	}
}

Zed

  1. Open the command palette
  2. Search and select "agent:open settings"
  3. In settings panel look for Model Context Protocol (MCP) Servers
  4. Click on "Add Server"
  5. Select: "Add Custom Server"

It will open a popup with MCP server config where you can add the following configuration:

{
	"qrwc-svelte": {
		"command": "npx",
		"args": ["-y", "qrwc-svelte-mcp", "<core-ip>"]
	}
}

Replace <core-ip> with your Q-SYS Core IP address.

To disable Svelte-specific resources:

{
	"qrwc-svelte": {
		"command": "npx",
		"args": ["-y", "qrwc-svelte-mcp", "<core-ip>", "--no-svelte"]
	}
}

Other clients

If we didn't include the MCP client you are using, refer to their documentation for stdio servers and use npx as the command with -y qrwc-svelte-mcp <core-ip> as the arguments. You can optionally add --no-svelte as an additional argument to disable Svelte-specific features.

Available Tools

The MCP server provides the following tools:

get_components

Get a list of components that are currently available on a Q-SYS core.

Input: None

Output:

  • success: Boolean indicating if the request was successful
  • error: Optional error message
  • data: Array of component objects with:
    • name: Component name
    • controlCount: Number of controls in the component

get_controls

Get all controls on a Component, including the type and read/write direction of the control.

Input:

  • componentName: The name of the component to list controls for. Use the get_components tool to get a list of component names.

Output:

  • success: Boolean indicating if the request was successful
  • error: Optional error message
  • data: Array of control objects with:
    • name: Control name
    • type: Control type (e.g., "Boolean", "Integer", "Float", "String")
    • direction: Control direction ("Read", "Write", or "ReadWrite")

Available Prompts

qrwc-task

Perform a task that involves the creation or modification of UI elements that are part of a Q-SYS Design. This prompt ensures that common Q-SYS terms and qrwc-svelte knowledge is in the context window.

Arguments:

  • task: Description of the task to perform

Note: This prompt is only available when NOT using the --no-svelte flag.

Available Resources

The following resources are available to provide documentation and examples for working with qrwc-svelte:

static://qrwc-svelte/setup

Initial setup and configuration guide for using QRWC with Svelte projects.

static://qrwc-svelte/core-concepts

Core concepts and terminology for working with Q-SYS systems and the QRWC protocol.

static://qrwc-svelte/components

Documentation on working with Q-SYS Components in a Svelte project, including component instantiation and usage.

static://qrwc-svelte/controls

Documentation on working with Q-SYS controls, including how to read and write control values.

static://qrwc-svelte/button-examples

Example code for working with Boolean controls (buttons, toggles, etc.).

static://qrwc-svelte/knob-examples

Example code for working with Integer, Float, and other numeric type controls (knobs, sliders, etc.).

static://qrwc-svelte/text-examples

Example code for working with Text/String based controls.

Note: All resources are only available when NOT using the --no-svelte flag.

Usage Examples

Basic Usage

Connect to a Q-SYS Core at IP address 192.168.1.100:

npx -y qrwc-svelte-mcp 192.168.1.100

Disable Svelte-Specific Features

If you're using a different UI framework (not Svelte), you can disable Svelte-specific resources and prompts:

npx -y qrwc-svelte-mcp 192.168.1.100 --no-svelte

When using --no-svelte, only the core tools (get_components and get_controls) are available. All Svelte-specific resources and the qrwc-task prompt are disabled.

This is helpful if you are using another framework, and want to create your own prompts that instruct the LLM to fetch controls and components from a Q-SYS Core.

Related Links

License

Apache 2.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured