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.
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
- Open the command palette
- Select "MCP: Add Server..."
- Select "Command (stdio)"
- Insert
npx -y qrwc-svelte-mcp <core-ip>in the input and pressEnter(replace<core-ip>with your Q-SYS Core IP address) - When prompted for a name, insert
qrwc-svelte - Select if you want to add it as a
GlobalorWorkspaceMCP server
To disable Svelte-specific resources, use npx -y qrwc-svelte-mcp <core-ip> --no-svelte in step 4.
Cursor
- Open the command palette
- Select "View: Open MCP Settings"
- 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
- Open the command palette
- Search and select "agent:open settings"
- In settings panel look for
Model Context Protocol (MCP) Servers - Click on "Add Server"
- 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 successfulerror: Optional error messagedata: Array of component objects with:name: Component namecontrolCount: 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 theget_componentstool to get a list of component names.
Output:
success: Boolean indicating if the request was successfulerror: Optional error messagedata: Array of control objects with:name: Control nametype: 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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。