TUUI - 工具单元用户界面 logo

TUUI - 工具单元用户界面

OrganizationPopular
AI-QL

A desktop MCP client designed as a tool unitary utility integration, accelerating AI adoption through the Model Context Protocol (MCP) and enabling cross-vendor LLM API orchestration.

PublisherAI-QL
Repositorytuui
LanguageTypeScript
Forks
105
Stars
1.1K
Available tools
0
Transport typestdio, streamable-http
Categories
LicenseApache-2.0
Links
  • Connect tools to AI workflows

    TUUI - 工具单元用户界面 exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    1.1K stars and 105 forks from the linked repository.

TUUI - Local AI Playground with MCP

TUUI is a desktop MCP client designed as a tool unitary utility integration, accelerating AI adoption through the Model Context Protocol (MCP) and enabling cross-vendor LLM API orchestration.

Zero accounts Full control Open source Download and Run

📜 Introduction

LICENSE Ask DeepWiki

This repository is essentially an LLM chat desktop application based on MCP. It also represents a bold experiment in creating a complete project using AI. Many components within the project have been directly converted or generated from the prototype project through AI.

Given the considerations regarding the quality and safety of AI-generated content, this project employs strict syntax checks and naming conventions. Therefore, for any further development, please ensure that you use the linting tools I've set up to check and automatically fix syntax issues.

✨ Highlights

  • ✨ Accelerate AI tool integration via MCP
  • ✨ Orchestrate cross-vendor LLM APIs through dynamic configuring
  • ✨ Automated application testing Support
  • ✨ TypeScript support
  • ✨ Multilingual support
  • ✨ Basic layout manager
  • ✨ Global state management through the Pinia store
  • ✨ Quick support through the GitHub community and official documentation

🔥 MCP features

StatusFeatureCategoryNote
ToolsServer
PromptsServer
ResourcesServer
🔲RootsClientThis is generally only used for the Vibe Coding IDE and can typically be configured through server environment variables.
SamplingClient
ElicitationClient
DiscoveryRegistryProvides real-time MCP server discovery on the MCP registry
MCPBExtensionMCP Bundles (.mcpb) is the new name for what was previously known as Desktop Extensions (.dxt)

🚀 Getting Started

You can quickly get started with the project through a variety of options tailored to your role and needs:

⚙️ Core Requirements

To use MCP-related features, ensure the following preconditions are met for your environment:

  • Set up an LLM backend (e.g., ChatGPT, Claude, Qwen or self-hosted) that supports tool/function calling.

  • For NPX/NODE-based servers: Install Node.js to execute JavaScript/TypeScript tools.

  • For UV/UVX-based servers: Install Python and the UV library.

  • For Docker-based servers: Install DockerHub.

  • For macOS/Linux systems: Modify the default MCP configuration (e.g., adjust CLI paths or permissions).

    Refer to the MCP Server Issue documentation for guidance

For guidance on configuring the LLM, refer to the template(i.e.: Qwen):

json
{
  "name": "Qwen",
  "apiKey": "",
  "url": "https://dashscope.aliyuncs.com/compatible-mode",
  "path": "/v1/chat/completions",
  "model": "qwen-turbo",
  "modelList": ["qwen-turbo", "qwen-plus", "qwen-max"],
  "maxTokensValue": "",
  "mcp": true
}

The configuration accepts either a JSON object (for a single chatbot) or a JSON array (for multiple chatbots):

json
[
  {
    "name": "Openrouter && Proxy",
    "apiKey": "",
    "url": "https://api3.aiql.com",
    "urlList": ["https://api3.aiql.com", "https://openrouter.ai/api"],
    "path": "/v1/chat/completions",
    "model": "openai/gpt-4.1-mini",
    "modelList": [
      "openai/gpt-4.1-mini",
      "openai/gpt-4.1",
      "anthropic/claude-sonnet-4",
      "google/gemini-2.5-pro-preview"
    ],
    "maxTokensValue": "",
    "mcp": true
  },
  {
    "name": "DeepInfra",
    "apiKey": "",
    "url": "https://api.deepinfra.com",
    "path": "/v1/openai/chat/completions",
    "model": "Qwen/Qwen3-32B",
    "modelList": [
      "Qwen/Qwen3-32B",
      "Qwen/Qwen3-235B-A22B",
      "meta-llama/Meta-Llama-3.1-70B-Instruct"
    ],
    "mcp": true
  }
]

📕 Additional Configuration

ConfigurationDescriptionLocationNote
LLM EndpointsDefault LLM Chatbots configllm.jsonFull config types could be found in llm.d.ts
MCP ServersDefault MCP servers configsmcp.jsonFor configuration syntax, see MCP Servers
Startup ScreenDefault News on Startup Screenstartup.json
Popup ScreenDefault Prompts on Startup Screenpopup.json

For the decomposable package, you can also modify the default configuration of the built release:

For example, src/main/assets/config/llm.json will be located in resources/assets/config/llm.json

Once you modify or import the configurations, it will be stored in your localStorage by default.

Alternatively, you can clear all configurations from the Tray Menu by selecting Clear Storage.

🌐 Remote MCP server

You can utilize Cloudflare's recommended mcp-remote to implement the full suite of remote MCP server functionalities (including Auth). For example, simply add the following to your mcp.json file:

json
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://YOURDOMAIN.com/sse"]
    }
  }
}

In this example, I have provided a test remote server: https://YOURDOMAIN.com on Cloudflare. This server will always approve your authentication requests.

If you encounter any issues (please try to maintain OAuth auto-redirect to prevent callback delays that might cause failures), such as the common HTTP 400 error. You can resolve them by clearing your browser cache on the authentication page and then attempting verification again:

🚸 MCP Server Issue

General

When launching the MCP server, if you encounter any issues, first ensure that the corresponding command can run on your current system — for example, uv/uvx, npx, etc.

ENOENT Spawn Errors

When launching the MCP server, if you encounter spawn errors like ENOENT, try running the corresponding MCP server locally and invoking it using an absolute path.

If the command works but MCP initialization still returns spawn errors, this may be a known issue:

MCP Connection Timeout

If initialization takes too long and triggers the 90-second timeout protection, it may be because the uv/uvx/npx runtime libraries are being installed or updated for the first time.

When your connection to the respective pip or npm repository is slow, installation can take a long time.

In such cases, first complete the installation manually with pip or npm in the relevant directory, and then start the MCP server again.

🤝 Contributing

We welcome contributions of any kind to this project, including feature enhancements, UI improvements, documentation updates, test case completions, and syntax corrections. I believe that a real developer can write better code than AI, so if you have concerns about certain parts of the code implementation, feel free to share your suggestions or submit a pull request.

Please review our Code of Conduct. It is in effect at all times. We expect it to be honored by everyone who contributes to this project.

For more information, please see Contributing Guidelines

🙋 Opening an Issue

Before creating an issue, check if you are using the latest version of the project. If you are not up-to-date, see if updating fixes your issue first.

🔒️ Reporting Security Issues

Review our Security Policy. Do not file a public issue for security vulnerabilities.

🎉 Demo

MCP primitive visualization

MCP bundles (.mcpb) support

MCP Tool call tracing

Agent with specified tool selection

LLM API setting

MCP elicitation

MCP Registry

Native devtools

🙏 Credits

Written by @AIQL.com.

Many of the ideas and prose for the statements in this project were based on or inspired by work from the following communities:

You can review the specific technical details and the license. We commend them for their efforts to facilitate collaboration in their projects.

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "ai-ql-tuui": {
      "command": "",
      "args": []
    }
  }
}

Use TUUI - 工具单元用户界面 MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once TUUI - 工具单元用户界面 is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. You can run MCP locally on your device or connect to a remote MCP server URL.

Option 1: Use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add TUUI - 工具单元用户界面 as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the TUUI - 工具单元用户界面 MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "ai-ql-tuui": {
      "command": "npx",
      "args": [
        "-y",
        "tuui"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the TUUI - 工具单元用户界面 MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the TUUI - 工具单元用户界面 MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use TUUI - 工具单元用户界面 to help me with this task?
TUUI - 工具单元用户界面
Sure. I read it.
Here is what I found using TUUI - 工具单元用户界面.

Option 2: Add an MCP server URL

Use this when TUUI - 工具单元用户界面 is already hosted remotely or your team wants one shared connector that multiple users can access.

1

Open MCP connectors

In TypingMind, go to Plugins, open MCP connectors, then choose Add URL.

  1. Open TypingMind in your browser.
  2. Go to Plugins.
  3. Open MCP connectors.
  4. Click Add URL.
TypingMind Add Custom MCP Server URL form
2

Paste the server URL

Enter your server URL in the Server URL field. Add a connection name, description, icon, custom HTTP headers, or OAuth client settings if the server requires them.

  1. Paste your server URL into the Server URL field.
  2. Enter a connection name for TUUI - 工具单元用户界面.
  3. Add a description and icon if you want it to be easier to identify.
  4. Add custom HTTP headers or OAuth client details if the server requires authentication.
3

Create the connection

Click Create connection, then return to the Plugins list and confirm the new MCP connection is active.

  1. Click Create connection.
  2. Return to the MCP connectors list.
  3. Confirm the TUUI - 工具单元用户界面 connection appears as active.
  4. Refresh the plugin list if the connection does not appear immediately.
4

Switch models without reconnecting

Start a chat with your preferred model, enable the TUUI - 工具单元用户界面 tools from Plugins, and switch to another model whenever needed. The MCP connection stays available to the TypingMind workspace.

  1. Start a new chat in TypingMind.
  2. Select the AI model you want to use.
  3. Enable the TUUI - 工具单元用户界面 tools from Plugins.
  4. Ask the model to use the tool when needed.
  5. Switch to another AI model and reuse the same MCP connection.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use TUUI - 工具单元用户界面 to help me with this task?
TUUI - 工具单元用户界面
Sure. I read it.
Here is what I found using TUUI - 工具单元用户界面.

Frequently asked questions

What is the TUUI - 工具单元用户界面 MCP server used for?

TUUI - 工具单元用户界面 is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use TUUI - 工具单元用户界面 MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use TUUI - 工具单元用户界面 with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use TUUI - 工具单元用户界面 MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With TUUI - 工具单元用户界面 connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect TUUI - 工具单元用户界面 MCP to TypingMind?

TUUI - 工具单元用户界面 can be connected in TypingMind with the local MCP connector or by adding a remote MCP server URL. Use the local connector when the server needs access to files, apps, or private resources on your device, and use a server URL when the MCP server is hosted remotely.

What tools does TUUI - 工具单元用户界面 MCP provide in TypingMind?

TUUI - 工具单元用户界面 exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use TUUI - 工具单元用户界面 MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If TUUI - 工具单元用户界面 requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇