跳到正文
MeghaOS

选择语言

MeghaOS 能在你自己的机器上处理 100 多种语言。本站在此处列出的每一种语言中都已全部翻译完成;法律页面与博客文章保持英文。

FIG 5.1 · MCP

接入任意 MCP 服务器。或者自己写一个。

Megha 使用 Model Context Protocol,所以你已经在跑的系统可以直接插进智能体这一层。常见的那些由一份经过验证的连接器目录覆盖,而你自己写的东西,用法完全一样。

FIG 5.2 · 拓扑

一个 MCP 服务器究竟待在哪里。

本地连接器是你机器上的一个子进程。远程连接器是网络另一头的一项服务。这个区别决定了还有谁能看到你送出去的东西。

Your deviceAgent runtimeMegha 0.6Bmcp · postgresmcp · filesmcp · internal APIstdio · stays on devicePolicygateRemotemcp · httpyou connect ithost-scoped
Local stdio servers run as subprocesses on your own machine and touch no network. A remote server is a service across the wire: you connect it deliberately, and from then on it sees the arguments the agent sends it.
FIG 5.3 · 两种传输方式

本地服务器留在机器上。远程服务器不会。

两种都有用。真正要紧的,是你清楚自己此刻接的是哪一种。

本地(stdio)
  • 作为子进程跑在你的机器上,随会话启动、随会话结束
  • 没有账号,不经过网络,也没有要去认证的对象
  • 它需要的凭据(数据库 DSN、某个路径)留在你自己的配置里
  • 数据库、文件和内部命令行工具,显然该选这个
远程(HTTP)
  • 经由网络够到一项服务,因此它的运营方看得到你送出去的内容
  • 对于要求登录的服务器,OAuth 登录在应用内完成
  • 最适合你本来就在用、也本来就把同类数据交给它的 SaaS
  • 随时可以在当初添加它的那个目录里断开
FIG 5.4 · 配置

连接就写在一个你能读懂的文件里。

你建立的每一个连接都会被写进一份纯文本配置文件:名字、传输方式、去哪里找它、以及是否启用。你可以读它、把它放进版本控制、复制到另一台机器上。

  • 一个文件,可版本控制,可在整片设备上部署
  • 本地服务器和远程服务器用同样的方式描述
  • 每个服务器各自独立地开或关
  • 同一个文件在 Mac 应用、桌面环境和完整操作系统上都通用
mcp_servers.json
{
  "servers": [
    {
      "name": "github",
      "transport": "http",
      "command": "https://api.githubcopilot.com/mcp",
      "auth": "oauth",
      "enabled": true
    },
    {
      "name": "postgres",
      "transport": "stdio",
      "command": "mcp-server-postgres",
      "args": ["--dsn", "postgresql://localhost/analytics"],
      "enabled": true
    }
  ]
}
FIG 5.5 · 我们能保证什么

你实际上是在同意什么。

一个 MCP 服务器就是伸手够你数据的第三方代码。把一次连接到底授予了什么说清楚,比说几句安慰话有用得多。

接上一个服务器,这个动作本身就是授权

无论是从目录里选,还是指向你自己写的那一个,你都是有意去添加它;远程服务器还要登录。从那以后,它的工具就在对话里直接运行,不会每次调用都弹一张确认卡——正是这一点让它们真正好用。

这意味着你信任了这个服务器,也该照这个前提对待它

一个接入的服务器能看到智能体发给它的参数,而它对工具的描述会成为模型所读内容的一部分。像添加一个依赖那样去接服务器:来自你有理由信任的来源。

每个连接互不相干

服务器是一个一个地启用和停用的。关掉一个不会惊动任何别的连接,而它当时在做的事也不会跨过这个开关活下来。

没有任何东西被锁在我们这里

协议是开放的,配置是一份你能读、能比对、能在机器之间复制的普通文件。一个为 MeghaOS 写的服务器,也不过就是一个 MCP 服务器。

FIG 5.5b · 自己问它

所有授权,一屏之内,随叫随到。

「这东西能够到什么?」的诚实答案是一份清单,而只要你开口,系统就会替你组合出来。这里由桌面自己的渲染器画出;服务器是编的。

它现在究竟能碰到什么?

试试

三台服务器,以及各自打开了什么

限定在你打开的文件夹里。往外写会被直接拒绝,而不是弹出确认,所以恶意指令没有落脚的地方。

它拥有的每一件工具

工具能碰到需要你
read_file这个文件夹否
write_file这个文件夹否
search_issues跟踪器否
post_comment跟踪器是
list_events日历否
接入一台服务器,就是授予一项能力
这里的每一行,都是藏在文档里的指令可能盯上的目标。所以清单很短,而会往外发的那一条会先问你。

上限

本次运行用掉的步数34%
实际耗时12%
同时运行的智能体
4

只要触到其中任何一个上限,运行就会停下,而不是悄悄继续。

FIG 5.6 · 大家都在接什么

目录里都有什么。

工单与文档

GitHub、Linear、Atlassian、Notion、Asana。官方连接器,OAuth 登录。

业务系统

Stripe、Sentry、Canva 等,均已验证,接上即可用。

数据库与内部工具

Postgres、SQLite,或者你们团队自己暴露出来的东西,作为本地服务器接入。

你自己的服务器

你写的任何东西。协议是开放的,MeghaOS 不在乎它出自谁手。

FIG 5.7 · 安装设置

接入一个服务器,从头到尾。

大部分工作就是从一份列表里挑。要自己写一个,需要的只是一个名字和一个端点。

  1. 第 1 步

    打开服务器目录

    MeghaOS 自带一份经过验证的连接器目录,覆盖人们真正在用的服务:GitHub、Notion、Linear、Atlassian、Stripe、Sentry、Asana 等等。在应用里翻这份目录,而不是自己到处找端点。

  2. 第 2 步

    挑一个连接器,或者指向你自己的

    从目录里选一个,或者给你写的服务器起个名字,再给它一条本地执行的命令,或者一个可以够到的 URL,就添加好了。

  3. 第 3 步

    如果服务器要求,就登录

    需要账号的远程连接器使用 OAuth,在应用内完成。本地服务器通常什么都不需要,或者只需要一份你放进它自己配置里的凭据。

  4. 第 4 步

    在对话里用起来

    这个连接器现在已经是智能体能够到的范围的一部分,它的工具会在干活时于对话内运行。接上它就是那次授权,所以它不会每次调用都停下来问你。

  5. 第 5 步

    用完就关掉

    每个服务器都有自己的开关。停用其中一个,其余所有连接都还是原来的样子。

关于协议本身(传输方式、原语、怎么写一个服务器,以及一次连接实际授予了什么),请看我们的 Model Context Protocol 完全指南.

FIG 5.8 · 常见问题

关于这里的 MCP,人们通常会问什么。

哪些 MCP 服务器能和 MeghaOS 配合?

任何实现了 Model Context Protocol 的服务器,走 stdio 或可流式的 HTTP 都行。MeghaOS 自带一份面向常见服务的验证连接器目录,其余的没有任何注册步骤:协议是开放的,客户端并不在乎服务器是谁写的。

本地 MCP 服务器和远程 MCP 服务器有什么区别?

本地服务器作为子进程跑在你自己的机器上,它所做的一切都不涉及网络,也不需要账号。远程服务器通过 HTTP 够到,这意味着它的运营方能看到智能体发过去的参数——对于你本就把同类数据托付给它的 SaaS 来说这没问题,对其他任何东西来说则是一个需要认真权衡的点。

我接一个服务器的时候,到底是在信任什么?

一个接入的服务器能看到发给它工具的参数,而它对外宣称的那些描述,会成为模型决定做什么时所读内容的一部分。把接入它当成添加一个依赖来对待:来自你信任的来源,不再需要时就移除。

用 MCP 需要账号或 API 密钥吗?

MeghaOS 本身不需要。MCP 支持是智能体运行时的一部分,不收费。个别服务器可能需要它自己的凭据,比如数据库连接串或一次 OAuth 登录,但那些属于那个服务器,不属于我们。

怎么断开一个服务器?

在当初添加它的地方把它关掉。每个连接互不相干,停用其中一个对其他的没有任何影响。

同一份配置在各个版本之间通用吗?

通用。连接保存在一份纯文本配置文件里,在 Mac 应用、Linux 桌面环境和完整操作系统上都是同一份:可读、可比对、可在机器之间搬运。

把你自己的工具带过来。

从一份经过验证的连接器目录接入你已经在跑的服务,或者让 MeghaOS 指向一个你自己写的服务器。