多模型协议桌面客户端

MCPDesk是一个Windows原生桌面客户端,支持连接多种MCP服务器和使用不同的LLM提供商,实现AI工具的集中管理。

  • by clatonhendricks
  • C#
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 clatonhendricks/MCPDeskClient

使用说明

MCPDesk

Windows原生桌面客户端 模型上下文协议(MCP)连接到任何MCP服务器,使用任何LLM提供程序,并编排AI工具——所有这些都可以从一个应用程序中完成。

为什么选择MCPDesk?

每个现有的MCP客户端要么锁定到一个LLM(Claude Desktop),要么是一个代码编辑器(VS code、Cursor、Zed)。 MCPDesk填补了空白:

功能 MCPDesk Claude桌面 VS代码+继续 光标
多LLM提供商 ✅ ❌ 只有克劳德✅ ✅
GitHub Copilot支持 ✅ ❌ ✅ ❌
非开发人员友好 ✅ ✅ ❌ ❌
Windows原生版(WinUI 3) ✅ ❌ 电子 ❌ ❌ 电子
多MCP服务器 ✅ ✅ ✅ 有限
云母背景 ✅ ❌ ❌ ❌

特性

  • 多提供商LLM支持 --OpenAI、Anthropic Claude、GitHub Copilot和Ollama(本地)。动态切换供应商和型号。
  • GitHub复制集成 --通过OAuth设备流使用现有的Copilot订阅登录。不需要额外的API密钥。
  • 动态模型选择器 --浏览订阅中可用的所有型号并立即切换。
  • MCP服务器管理 --配置、连接和管理多个MCP服务器。启动时自动连接已启用的服务器。
  • 工具调用编排 --LLM可以看到来自所有连接的MCP服务器的工具。具有实时状态更新的多迭代工具调用。
  • 对话持久性 --SQLite支持的聊天历史记录和对话管理(创建、切换、删除)。
  • Windows 11本机 --WinUI 3具有Mica背景、导航视图和适当的Windows设计语言。
  • 配置自动检测 --粘贴标准MCP配置格式,MCPDesk会自动对其进行规范化。

快速开始

先决条件

构建与运行

git clone https://github.com/clatonhendricks/MCPDeskClient.git
cd MCPDeskClient
dotnet restore src/MCPClient/MCPClient.csproj
dotnet build src/MCPClient/MCPClient.csproj
dotnet run --project src/MCPClient/MCPClient.csproj

配置

MCPDesk将其配置存储在 %APPDATA%\MCPDesk\config.json:

{
  "mcpServers": {
    "kusto-mcp": {
      "command": "uvx",
      "args": ["azure-kusto-mcp"],
      "env": {
        "KUSTO_SERVICE_URI": "https://your-cluster.kusto.windows.net/"
      },
      "enabled": true
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\you\\Documents"],
      "env": {},
      "enabled": true
    }
  },
  "llmProviders": {
    "github-copilot": {
      "type": "GitHubCopilot",
      "apiKey": "",
      "model": "gpt-4o",
      "enabled": true
    }
  },
  "defaultProviderId": "github-copilot"
}

GitHub副本设置

  1. 打开MCPDesk→ 设置
  2. 点击 使用GitHub登录
  3. 输入以下代码 github/登录/设备
  4. 完成——您的Copilot订阅现在是LLM后端

添加MCP服务器

通过config.json --编辑 %APPDATA%\MCPDesk\config.json 并在下面添加条目 mcpServers.

通过用户界面 --导航到MCP服务器→ 添加服务器→ 填写命令、参数和环境变量。

建筑

MCPClient/
├── src/
│   ├── MCPClient/                    # WinUI 3 app
│   │   ├── Views/                    # ChatPage, SettingsPage, ServerConfigPage
│   │   ├── ViewModels/               # MVVM with CommunityToolkit.Mvvm
│   │   ├── Converters/               # XAML value converters
│   │   └── App.xaml                  # DI container, global error handling
│   └── MCPClient.Core/               # Business logic (no UI dependency)
│       ├── LlmProviders/             # OpenAI, Anthropic, Ollama, GitHubCopilot
│       ├── Services/                 # MCP client, config, LLM, conversation
│       └── Models/                   # AppConfig, Conversation, Message
└── tests/
    └── ToolCallTest/                 # Integration test for tool call loop

关键技术细节

  • Copilot API:OAuth令牌通过以下方式交换为Copilot JWT令牌 api.github.com/copilot_internal/v2/token.Chat使用直接HTTP {endpoint}/chat/completions (不是OpenAI SDK,它位于前面 /v1/).
  • 工具名称:MCP工具名称使用 __ 分离器(server__tool)留在OpenAI的 [a-zA-Z0-9_-] 函数名称约束。
  • 提供者持久性:提供程序实例在页面导航中重复使用,以保留身份验证状态。

支持的LLM提供商

提供者 身份验证方法 模型
GitHub Copilot OAuth设备流或PAT 所有订阅模式(GPT-4o、Claude、Gemini等)
OpenAI API密钥 GPT-4o、GPT-4o-mini、o3-mini
人类学 API键 克劳德十四行诗4、克劳德作品4、克劳德·哈伊库3
Ollama 本地端点 任何本地安装的模型

依赖项

路线图

  • []MCP服务器库--浏览并一键安装流行的MCP服务器
  • []流式响应--在令牌到达时显示令牌
  • []工作流/代理模式——保存可重复的工具链
  • []导出到Markdown/PDF
  • []用于企业部署的MSIX打包
  • []对话搜索
  • []系统托盘/热键快速启动
  • []聊天中的Markdown渲染

许可证

GPL-3.0