1. Conduit
  2. 用例
  3. MCP 客户端

面向开发者

一个 先征求同意 的 MCP 客户端

Conduit 通过本地 stdio 和远程 streamable HTTP 运行 Model Context Protocol 服务器, 支持 OAuth,并可从官方注册表一键安装——而且可以搭配你选择的任意模型提供商,而不局限 于某一家厂商。除非服务器把某个工具标记为只读,否则它在运行前都会先询问。

  • 本地 stdio 与远程 streamable HTTP
  • OAuth 令牌保存在操作系统钥匙串中
  • Windows、macOS、Linux 功能完全一致
Conduit 如何连接 MCP 服务器 一个通过 stdio 运行的本地服务器,和一个通过带 OAuth 的 streamable HTTP 访问的远程服务器,都会汇入 Conduit 的同意关卡,在到达你选择的模型之前,工具输出会先在这里被限制大小并脱敏。 本地服务器 stdio · 子进程 远程服务器 streamable HTTP + OAuth Conduit 只读工具 → 直接运行 非只读 → 先询问 输出限制大小并脱敏 令牌 → 操作系统钥匙串 模型 由你选择
本地服务器以受监管的子进程运行,支持重启和退避;远程服务器通过带 OAuth 的 streamable HTTP 连接。无论哪种方式,输出在到达模型之前都会被限制大小并脱敏, 并设有防止其被重新当作指令执行的防护。

问题

你找到或者自己写了一个 MCP 服务器。但按要求运行它的客户端只能对话某一家厂商的模型, 没法在工具动手之前告诉你它要做什么,还把 Windows 当成了顺带一提——安装说明根本跑不通。 你想要的是这个协议本身,而不是在它上面又建一座新的围墙花园。

正确对比客户端需要的不只是一份功能列表—— 最佳 MCP 客户端 检查了每一款的传输方式、 同意机制和许可证,Conduit 对比 Claude Desktop 则专门就 MCP 设置逐项做了对比。

Conduit 给 MCP 环境带来了什么

这个协议本身,不再靠猜

本地和远程服务器行为一致:都受到监管、有速率限制,并且绝不会在不告诉你之前就动手。

本地和远程都受到监管

本地服务器以子进程方式通过 stdio 运行,具备重启和退避机制、并发限制,以及单次调用超时。远程服务器通过带 OAuth 的 streamable HTTP 连接;令牌会落入操作系统钥匙串,永远不会到达界面层。较旧的 HTTP+SSE 传输方式不受支持。

除非服务器标记为只读,工具会先询问

只有服务器把某个工具标记为只读,它才不会打断你。其他所有工具都会停下来询问,你可以只为这次对话批准,也可以永久批准。敏感工具无论你之前批准过什么,都始终会询问。

不只是工具,还有提示词和资源

把某个连接器保存的提示词拉进 composer,它声明的参数会自动填好供你编辑。附加一个资源,它只会随你的下一条消息发送一次。试图夹带指令的资源会被拒绝并明确指出,而不是被悄悄执行。

工作原理

从什么都没连接,到跑起一次工具调用

三种接入方式,取决于服务器在哪里。

  1. 添加一个本地服务器

    在连接器页面中,填写启动它所需的命令和参数。要指向真实的程序——连接器直接启动,绝不通过 shell——所以在 Windows 上要写 npx.cmd,而不是 npx,cmd /c … 这样的包装方式会被拒绝,而不是悄无声息地失败。

  2. 或者在注册表里搜索一个远程服务器

    在同一个界面中搜索官方 MCP 注册表,一键安装匹配结果。如果该服务器需要身份验证,OAuth 会在你的浏览器中打开,令牌会落入操作系统钥匙串——界面本身永远看不到它。

  3. 使用它的工具、提示词和资源

    标记为只读的工具调用会自行运行;其他所有工具都会先停下来询问再运行。把一个提示词拉进 composer,它的参数就已经填好,或者把一个资源附加到你即将发送的消息上。

不需要 MCP

有些工具在你连接任何东西之前就能用

有一小部分工具内置在 Conduit 本身,不需要添加服务器,也不需要写任何配置。它们遵循和任何 MCP 工具一样的同意规则,网络访问在你开启之前始终关闭。

  • 网页搜索与网页抓取——默认关闭,你可以自己开启
  • 计算器、当前时间、UUID 和随机数
  • 剪贴板访问,以及文档写入和编辑

自己写了服务器?如何向客户演示 MCP 服务器 讲了如何把它展示给一个不是开发者的人看。

Conduit 对话旁边检查器的活动标签页:该轮次的 current_time、calculator 和 write_markdown_document 调用及其耗时和所做的计算,随后是这次对话使用的所有工具、写入的文档以及其 token 用量的摘要。

限制

它能做什么,不能做什么

它能做什么

  • 以受监管的子进程通过 stdio 运行本地 MCP 服务器,具备重启和退避机制、并发限制,以及单次调用超时
  • 通过 streamable HTTP 连接远程服务器,包括 OAuth 登录,令牌保存在操作系统钥匙串中,永远不会暴露给界面层
  • 搜索官方 MCP 注册表,并一键安装匹配的远程服务器
  • 把连接器的提示词和资源拉进 composer——提示词选择器会自动填好声明的参数,资源只会附加到下一条消息
  • 在工具输出到达模型之前限制其大小并脱敏,并设有结构性防护,防止该输出被重新当作指令执行
  • 在 Windows、macOS 和 Linux 上表现一致——没有任何功能在某个平台上被削减

它不能做什么

  • 不支持已废弃的 HTTP+SSE 传输方式——服务器需要支持 streamable HTTP 才能连接
  • 不能在 Windows 上直接运行 npx——连接器不经过 shell 启动,所以要用 npx.cmd,cmd /c … 这样的包装方式会被直接拒绝
  • 不保证每个模型都能调用工具——MCP 可以搭配你选择的任意提供商,但该模型是否支持工具调用取决于模型本身,而不是 Conduit
  • 不提供一个可浏览的本地服务器打包目录——添加本地服务器要靠命令和参数,或者从注册表搜索安装远程服务器
  • 目前还没有代码签名的安装包——首次启动时预计会看到 SmartScreen 或 Gatekeeper 的提示
  • 不能让注册表搜索和 OAuth 完全私密——搜索词会发往 registry.modelcontextprotocol.io,连接一个 OAuth 服务器会从 conduitllm.com 获取 Conduit 自己的客户端元数据文档

关于 MCP 客户端的常见问题

什么是桌面 MCP 客户端?

MCP 客户端是通过 Model Context Protocol 把模型和你的工具连接起来的应用程序——由它决定能启动哪些服务器、远程服务器从哪里被访问,以及在工具运行前需要向你确认什么。Conduit 就是这样一个客户端:一个免费开源的桌面应用,通过本地 stdio 和远程 streamable HTTP 使用 MCP,并且可以搭配你选择的任意模型提供商,而不局限于某一家厂商。参见它与其他 MCP 客户端的对比。

Conduit 支持 MCP 服务器的 SSE 传输方式吗?

不支持——较旧的 HTTP+SSE 传输方式被有意排除在外。Conduit 对你自己机器上的服务器使用本地 stdio,对托管服务器使用远程 streamable HTTP;只发布了旧版 SSE 端点的服务器无法连接。

我可以在任意 AI 模型上使用 MCP 工具吗?

只要是你选择的模型,就可以——Conduit 不会把连接器限制在某一家提供商上。会变化的是模型本身:并非每个模型都支持工具调用,因此某次对话里哪些服务器真正有用,取决于你为它选择的模型,而不是 Conduit。

MCP 的 OAuth 令牌会保存在哪里?

保存在操作系统钥匙串里,和你的提供商 API 密钥放在同一个地方。渲染你聊天界面的那一层永远看不到令牌——登录会打开该服务器自己的 OAuth 流程,结果由 Conduit 的 Rust 核心持有。

为什么 npx 在 Windows 上无法启动 MCP 服务器?

Conduit 直接启动连接器,而不通过 shell,这是一项刻意设计的安全防护——在 Windows 上,这意味着要使用程序的真实文件名:npx.cmd,而不是 npx。cmd /c … 这样的包装方式会被直接拒绝,而不是悄无声息地失败。文档里有这两种情况的完整说明。

我可以不编辑配置文件就添加 MCP 服务器吗?

对于远程服务器,通常可以:在连接器页面搜索官方 MCP 注册表,一键安装匹配结果,如果该服务器需要,OAuth 会自动处理。本地服务器仍然需要手动输入命令和参数——目前还没有针对本地服务器的一键打包格式。

连接你的第一个服务器

免费且开源。自带密钥,或者用本地模型,然后从连接器页面添加一个服务器。

这是一个发布候选版本:安装包尚未通过操作系统级代码签名,首次启动时可能会看到 SmartScreen 或 Gatekeeper 的提示。