mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-10-08 08:10:35 -04:00
339 lines
9.3 KiB
XML
339 lines
9.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>MCPServerGUI</class>
|
|
<widget class="RollupContents" name="MCPServerGUI">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>360</width>
|
|
<height>180</height>
|
|
</rect>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>360</width>
|
|
<height>180</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>560</width>
|
|
<height>180</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<family>Liberation Sans</family>
|
|
<pointsize>9</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>MCP Server</string>
|
|
</property>
|
|
<widget class="QWidget" name="settingsContainer" native="true">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>2</x>
|
|
<y>2</y>
|
|
<width>358</width>
|
|
<height>178</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>Settings</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<property name="spacing">
|
|
<number>3</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>2</number>
|
|
</property>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="controlLayout">
|
|
<item>
|
|
<widget class="ButtonSwitch" name="startStop">
|
|
<property name="toolTip">
|
|
<string>Start/stop the MCP server</string>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset resource="../../../sdrgui/resources/res.qrc">
|
|
<normaloff>:/play.png</normaloff>
|
|
<normalon>:/stop.png</normalon>:/play.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="url">
|
|
<property name="toolTip">
|
|
<string>URL of the MCP endpoint to give to MCP clients</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>http://127.0.0.1:8092/mcp</string>
|
|
</property>
|
|
<property name="textInteractionFlags">
|
|
<set>Qt::TextInteractionFlag::TextSelectableByMouse</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="serverLayout">
|
|
<item>
|
|
<widget class="QLabel" name="addressLabel">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>60</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Address</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLineEdit" name="address">
|
|
<property name="toolTip">
|
|
<string>IP address to listen on.
|
|
127.0.0.1 only accepts connections from this computer. 0.0.0.0 accepts connections from any network interface.</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>127.0.0.1</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="portLabel">
|
|
<property name="text">
|
|
<string>Port</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="port">
|
|
<property name="toolTip">
|
|
<string>TCP port to listen for MCP requests on.
|
|
Default is 8092.</string>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>1024</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>65535</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>8092</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="tokenLayout">
|
|
<item>
|
|
<widget class="QLabel" name="tokenLabel">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>60</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Token</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLineEdit" name="token">
|
|
<property name="toolTip">
|
|
<string>Optional bearer token. When set, clients must send an Authorization: Bearer header with this value.
|
|
Leave empty for no authentication (only safe when listening on 127.0.0.1).</string>
|
|
</property>
|
|
<property name="placeholderText">
|
|
<string>No authentication</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="captureLayout">
|
|
<item>
|
|
<widget class="QLabel" name="captureDirLabel">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>60</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Captures</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLineEdit" name="captureDir">
|
|
<property name="toolTip">
|
|
<string>Directory that IQ and audio captures are written to.
|
|
Capture tools refuse file names that would write outside it.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="captureDirBrowse">
|
|
<property name="toolTip">
|
|
<string>Choose the capture directory</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="clientsLayout">
|
|
<item>
|
|
<widget class="QLabel" name="clientsLabel">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>60</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Clients</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="addToCodex">
|
|
<property name="toolTip">
|
|
<string>Add this server to OpenAI Codex, by writing it into Codex's config.toml.
|
|
Codex needs to be restarted afterwards to pick it up.</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Add to Codex</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="addToClaude">
|
|
<property name="toolTip">
|
|
<string>Install the SDRangel extension for Claude Desktop, which carries the bridge
|
|
Claude Desktop needs to reach a server on this machine.
|
|
Claude Desktop asks you to confirm the installation.</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Add to Claude Desktop</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer_3">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="statusLayout">
|
|
<item>
|
|
<widget class="QLabel" name="requests">
|
|
<property name="toolTip">
|
|
<string>Number of MCP requests served since the server was started</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Requests: 0</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="lastRequest">
|
|
<property name="toolTip">
|
|
<string>Last MCP request received</string>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
<customwidgets>
|
|
<customwidget>
|
|
<class>ButtonSwitch</class>
|
|
<extends>QToolButton</extends>
|
|
<header>gui/buttonswitch.h</header>
|
|
</customwidget>
|
|
<customwidget>
|
|
<class>RollupContents</class>
|
|
<extends>QWidget</extends>
|
|
<header>gui/rollupcontents.h</header>
|
|
<container>1</container>
|
|
</customwidget>
|
|
</customwidgets>
|
|
<resources>
|
|
<include location="../../../sdrgui/resources/res.qrc"/>
|
|
</resources>
|
|
<connections/>
|
|
</ui>
|