Files
ft/Client/Packages/io.github.hatayama.uloopmcp/Editor/UI/UIToolkit/McpEditorWindow.uxml

130 lines
9.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements">
<ui:VisualElement name="window-root" class="mcp-window-root">
<ui:ScrollView name="main-scroll-view" class="mcp-main-container">
<!-- Configuration Section -->
<ui:VisualElement name="configuration-section" class="mcp-section mcp-section--box">
<ui:Foldout name="configuration-foldout" text="Configuration" class="mcp-foldout">
<ui:VisualElement class="mcp-tab-toggle">
<ui:Button name="cli-tab-button" text="CLI" class="mcp-tab-button mcp-tab-button--active" />
<ui:Button name="mcp-tab-button" text="MCP" class="mcp-tab-button" />
</ui:VisualElement>
<!-- CLI Content -->
<ui:VisualElement name="cli-content">
<ui:VisualElement name="project-cli-version-row" class="mcp-toggle-row">
<ui:Toggle name="project-cli-version-toggle" class="mcp-toggle-row__toggle" />
<ui:Label
name="project-cli-version-label"
text="Use project CLI version"
tooltip="Run installed skills through the Unity package version of uloop-cli."
class="mcp-toggle-row__label" />
</ui:VisualElement>
<ui:VisualElement name="global-cli-status-row" class="mcp-cli-status-row">
<ui:VisualElement name="cli-status-icon" class="mcp-cli-status-icon mcp-cli-status-icon--not-installed" />
<ui:Label name="cli-status-label" text="uloop-cli: Checking..." />
<ui:Button name="refresh-cli-version-button" text="↻" class="mcp-button--refresh" />
</ui:VisualElement>
<ui:Button name="install-cli-button" text="Install CLI" class="mcp-button mcp-button--configure" />
<ui:VisualElement name="global-cli-separator" class="mcp-cli-separator" />
<ui:VisualElement name="skills-subsection">
<ui:Label text="Skills" class="mcp-cli-subsection-header" />
<ui:VisualElement name="group-skills-row" class="mcp-toggle-row">
<ui:Toggle name="group-skills-toggle" class="mcp-toggle-row__toggle" />
<ui:Label
name="group-skills-label"
text="Group in subfolder"
class="mcp-toggle-row__label" />
</ui:VisualElement>
<ui:VisualElement class="mcp-target-row">
<ui:Label text="Target:" class="mcp-target-row__label" />
<uie:EnumField name="skills-target-field" class="mcp-target-row__field" />
<ui:Button name="refresh-skills-state-button" text="↻" class="mcp-button--refresh" />
</ui:VisualElement>
<ui:Button name="install-skills-button" text="Install Skills" class="mcp-button mcp-button--configure" />
</ui:VisualElement>
</ui:VisualElement>
<!-- MCP Content -->
<ui:VisualElement name="mcp-content">
<ui:VisualElement class="mcp-warning-container mcp-warning-container--visible">
<ui:Label
text="This MCP configuration is already deprecated. Please use the CLI instead. The MCP feature will be removed in a future release."
class="mcp-warning-label" />
</ui:VisualElement>
<ui:VisualElement class="mcp-target-row">
<ui:Label text="Target:" class="mcp-target-row__label" />
<uie:EnumField name="editor-type-field" class="mcp-target-row__field" />
</ui:VisualElement>
<ui:VisualElement name="repository-root-row" class="mcp-toggle-row">
<ui:Toggle name="repository-root-toggle" class="mcp-toggle-row__toggle" />
<ui:Label text="Use Repository Root" class="mcp-toggle-row__label" tooltip="When enabled, generates configuration file at the Git repository root" />
</ui:VisualElement>
<ui:Label name="config-error-label" class="mcp-error-message" />
<ui:Button name="configure-button" text="Configure" class="mcp-button mcp-button--configure" />
<ui:Button name="open-settings-button" text="Open Settings File" class="mcp-button" />
<ui:Button name="delete-config-button" text="Delete Configuration" class="mcp-button mcp-button--delete" />
</ui:VisualElement>
</ui:Foldout>
</ui:VisualElement>
<!-- Connected LLM Tools Section -->
<ui:VisualElement name="connected-tools-section" class="mcp-section mcp-section--box">
<ui:Foldout name="connected-tools-foldout" text="Connected LLM Tools (via MCP)" class="mcp-foldout">
<ui:VisualElement name="connected-tools-content">
<ui:VisualElement name="clients-list" class="mcp-clients-list" />
</ui:VisualElement>
</ui:Foldout>
</ui:VisualElement>
<!-- Tool Settings Section -->
<ui:VisualElement name="tool-settings-section" class="mcp-section mcp-section--box">
<ui:Foldout name="tool-settings-foldout" text="Tool Settings" class="mcp-foldout">
<ui:VisualElement name="tool-settings-content" class="mcp-tool-settings-content">
<ui:VisualElement class="mcp-tool-settings-card">
<ui:Label text="Permissions" class="mcp-section-header mcp-tool-settings-card__header" />
<ui:VisualElement class="mcp-permission-item mcp-permission-item--first">
<ui:Label text="Allow Third Party Tools" class="mcp-permission-item__title mcp-section-header--danger" />
<ui:VisualElement class="mcp-permission-item__control-row">
<ui:VisualElement class="mcp-toggle-row mcp-permission-item__toggle-row">
<ui:Toggle name="allow-third-party-toggle" class="mcp-toggle-row__toggle" />
<ui:Label text="Enable" class="mcp-permission-item__control-label" />
<ui:Label name="allow-third-party-label" text="Allow Third Party Tools" class="mcp-toggle-row__label mcp-toggle-row__label--danger mcp-permission-item__assistive-label" />
</ui:VisualElement>
</ui:VisualElement>
</ui:VisualElement>
<ui:VisualElement class="mcp-permission-item">
<ui:Label text="execute-dynamic-code" class="mcp-permission-item__title mcp-permission-item__title--dynamic-code mcp-section-header--danger" />
<ui:Label text="Security Level" class="mcp-permission-item__control-label" />
<ui:VisualElement class="mcp-segmented-control">
<ui:Button name="security-level-restricted-button" text="Restricted" class="mcp-segmented-control__button" />
<ui:Button name="security-level-full-access-button" text="Full Access" class="mcp-segmented-control__button" />
</ui:VisualElement>
<ui:Label name="security-level-description" class="mcp-security-level-description" />
</ui:VisualElement>
</ui:VisualElement>
<ui:VisualElement name="tool-settings-info-container">
<ui:Label text="Enable or disable individual tools. Disabled tools are completely hidden from AI agents, eliminating unnecessary context window consumption." class="mcp-tool-settings-info" />
<ui:Label text="Changes are notified to connected MCP clients immediately." class="mcp-tool-settings-note" />
<ui:Label name="cli-reference-link" text="See CLI Command Reference for uloop-cli usage." class="mcp-tool-settings-link" />
</ui:VisualElement>
<ui:VisualElement name="tool-list-container" class="mcp-tool-list-container" />
</ui:VisualElement>
</ui:Foldout>
</ui:VisualElement>
</ui:ScrollView>
<ui:VisualElement name="github-link-row" class="mcp-github-link">
<ui:Label name="github-link-label" text="Star on GitHub" class="mcp-github-link__label" />
<ui:Image name="github-link-icon" class="mcp-github-link__icon" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>