惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
G
Google Developers Blog
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
博客园 - 聂微东
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
V
Visual Studio Blog
美团技术团队
The Cloudflare Blog
量子位
T
The Blog of Author Tim Ferriss
罗磊的独立博客
V
V2EX
S
SegmentFault 最新的问题
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
博客园 - Franky

V2EX - Apple

ios 版本更新至 18.7.8 后部分 app 出现无法联网的情况 Codex App 替代全局语音输入 苹果中国官网挂了 Apple 苹果开发者现在被正式盯上了吗,报税通知邮件大家有没有收到? 中国账号开始强制 iCloud 云贵 😊Vibe 了一个给 iOS6 用的 AI 聊天客户端 App 审核 In Review 两周了 请问大佬们现在 iOS 的自签续签都用啥软件?能手机上完成续签操作的? 在京东上买了 iPhone air 14pro, 1t, 18.7.8,电池 81,感觉还能用 2 年 请教巨佬:现在 [4 月 23 日] 这个时间点值得买 iphone17 吗? 受够了 Mac OS 上 Finder 的搜索体验,写了个 macOS 文件搜索工具 ios18.7.8 能更新么 盖世游戏 macOS 太好用了,比 crossover 好多了 14 寸 M5PRO 的 mbp 是不是散热很差呀? 做了个 Menu 小工具,限制 Mac 充电上限,保护电池健康 掐指一算从去年 12 月开始 ai 编程我已经做了 8 个项目,未来希望再发个手机和游戏应用 苹果 macOS 27 将彻底放弃 Intel Mac watch 配对新手机究竟如何恢复最新备份? apple 以旧换新可以叠加 Epp 吗 Mac 如何阻止软件自动更新? 这种港区(HKD)Apple store 礼品卡能不能用于买 iPhone ? Apple 地图规划出了“不存在”的线路 想入 iPad Pro AirPods2 pro 充不上电求助 请问现在 Apple ID 土区注册问题 mac 连接有线音响,看视频总是前几秒没声音 iPhone 16 Pro 玩 LOLM 掉帧咋办? 最近入手的一些 Macbook 分享,购买建议(13 寸 2015 Pro, 13 寸 2020 Pro M1) AirPods2 电池电量不足,大家是否换过?是否有推荐的店铺?
让 MCP 变得简单:每个人都应该可以一键实现服务集成
aiyanbo · 2025-04-17 · via V2EX - Apple

Image

原文地址

MCP 的出现是一件让人兴奋的事情,它标志着大家可以在同一个标准下开发和集成自己需要的服务。目前它的发展非常迅速,在 OpenTools 上一共收录了 43 个常用服务,在 Smithery 则是达到了惊人的 1946 个。

它们都提供了安装 MCP 服务的命令行,不过对于普通用户来说,想要在 Claude Desktop 上使用 MCP 服务可不那么简单。 因为:

  1. OpenTools 和 Smithery 提供的是 npx 命令,要使用它们需要先安装 npx (NodeJS 编程语言的一个包启动工具)。
  2. 遇到使用 Python 语言编写的 MCP 服务,还需要会设置 Python 运行环境,有的 MCP 服务需要 Python 3.11 以上,在默认的操作系统中可能并不提供。

是的,当你去尝试安装 NPX 和 Python 环境时,可能你会在文档里面发现可能还需要再安装一个 uv 。好吧,这听起来就不是一件简单的事情。如果我们不使用 OpenTools 和 Smithery ,我们还需要能找到 claude_desktop_config.json 文件把 MCP 服务配置上去。然后还需要设置环境变量和参数,才能让 MCP 服务运行起来。

所以我们有办法让 MCP 服务的安装和设置更简单吗?答案是肯定的。

要做到简单,我们需要做到以下几点:

  1. MCP 的运行环境(例如:NodeJS, Python )等是自动安装的,我们不应该在这里花费时间。
  2. MCP 的运行环境需要是隔离的,因为这样可以避免它们相互影响,上面我们就提到有点 MCP 服务需要 Python 3.10, 有的需要 Python 3.11 。
  3. 应该有一个 GUI, 这样我们选择需要的 MCP 服务,然后鼠标点击一下就可以安装。
  4. 然后我们可以在 GUI 上设置参数和环境变量。
  5. 最后,我们只需通过点击,就可以让安装设置好的 MCP 服务连接到任意客户端上,例如:Claude Desktop

接下来,我们探讨一下在技术上可以怎样实现这几点。

阶段 1:安装运行环境

NPX 命令包含在 NodJS 的安装包中,因此我们只需要根据平台和 CPU 架构下载 NodeJS 安装包,并且解压即可。例如:

wget https://nodejs.org/dist/v22.14.0/node-v22.14.0-darwin-arm64.tar.gz

tar -xzvf node-v22.14.0-darwin-arm64.tar.gz

同理,我们可以得到一个 Python 的运行环境。这些运行环境我们需要单独管理,让它们隔离起来,以免对系统的其他部分产生影响。

PS: 在 macOS 中有一个默认的 Python 程序,不过它的版本较低,因此我们还是需要安装它。

阶段 2:整理 MCP 服务数据

MCP 官方的 Github ( https://github.com/modelcontextprotocol/servers/tree/main/src ) 上 发布了一些服务,我们可以从服务的安装文档中提取运行时设置的参数,例如 brave-search 需要 BRAVE_API_KEY ,我们需要收集整理这些数据,以便能在 GUI 上设置 MCP 服务运行必须的参数。我们可以转换成这样的 JSON-SCHEMA 数据结构:

{
  "config": {
    "apiKey": {
      "name": "Brave api key",
      "type": string
    },
    "required": ["apiKey"]
  }
}

这一过程,我们需要程序化它,不然那么多的 MCP 服务通过人工的方式整理需要花大量的时间,不过我们可以在验证阶段只关注少量的 MCP 服务。

PS: Claude Desktop 的配置文件中有 args 和 env 之分,我认为我们不应该关心 MCP 服务如何使用 args 和 env, 我们只需要关心 MCP 服务需要什么参数。

阶段 3:可视化安装程序

这一个过程是非常复杂的,我们需要开发一个应用程序实现 MCP 服务的一键安装和设置。例如这样:

Image

用户可以选择自己需要的 MCP 服务,然后一键安装,通过可视化的程序配置。好在目前有许多的桌面应用程序开发框架可以简化这一过程。例如:Electron 和 Tauri 。

阶段 4:管理与连接 MCP 服务

Claude Desktop 需要通过修改 claude_desktop_config.json 文件来连接 MCP 服务,每一次安装 MCP 服务,我们都需要修改一次,那有没有可能我们只修改一次 claude_desktop_config.json 文件来实现动态连接 MCP 服务呢?答案是肯定的,为此我们可以借鉴 Nginx 的设计,实现一个 MCP 服务的动态代理,设计如下:

这样,我们不仅省去了每次安装 MCP 服务都需要去修改 claude_desktop_config.json 文件的操作,我们还能记录和审计 AI 模型都访问了哪些 MCP 服务,做了什么操作,访问了哪些资源等等。

我们开源了 mcp-proxy 的实现,源代码在这里 https://github.com/getmcp/mcp-proxy

结论

我对 MCP 的发展感到非常兴奋,我相信未来 MCP 服务的使用门槛会越来越低,会变得像在手机里安装一个应用那样简单。这是我的一个尝试,希望能对 MCP 服务的安装有所帮助。希望大家能喜欢 GetMCP ( https://getmcp.cc)。