☰
Jarvis MCP集成完全指南:如何接入浏览器自动化、智能家居与无限工具而不产生上下文腐烂
2026/10/9 22:35:53 网站建设 项目流程

Jarvis MCP集成完全指南:如何接入浏览器自动化、智能家居与无限工具而不产生上下文腐烂

【免费下载链接】jarvisA 100% private AI voice assistant that lives on your computer (works offline). Talk naturally as if Jarvis is a third person in the room, and get conversational responses. It remembers everything, knows location and time, can check the web, control Chrome, track nutrition, and more with support for unlimited MCPs / tools without context rot.项目地址: https://gitcode.com/gh_mirrors/jarvis87/jarvis

本文带你完成Jarvis MCP 集成:为 100% 本地私有的语音助手 Jarvis 接入浏览器自动化、智能家居等 MCP 服务器,无限扩展工具能力的同时避免"上下文腐烂"。

为什么 MCP 集成是 Jarvis 能力"无限"的关键

Jarvis 是一款运行在你自己电脑上的私有 AI 语音助手:语音识别、语言模型、语音合成全部在本地硬件完成,无需云端订阅。它自带网页搜索、天气、截图 OCR、文件访问、营养追踪等内置工具,但真正让它可以"无限"扩展的,是MCP(Model Context Protocol,模型上下文协议)支持。

简单来说,MCP 是一个开放标准:任何符合该标准的服务器(MCP server)都可以向 Jarvis 提供一组工具。浏览器自动化、Home Assistant 智能家居、GitHub、Slack、数据库……只要写进配置,Jarvis 就能听懂并调用。

接入你的第一个 MCP 服务器:两种简单方法

方法一:设置界面图形化添加(推荐新手)

从系统托盘菜单打开⚙️ Settings,选择🔌 MCP Servers页面。这里可以:

  • Add from catalogue:从精选目录中一键添加常用 MCP 服务器
  • Add custom:手动填写命令参数,接入任意自定义 MCP 服务器
  • 对已有服务器进行编辑或删除

精选目录由 mcp_catalogue.py 维护,收录的都是官方或广泛受信、且不与 Jarvis 内置功能重复的服务器。其中三款零配置(无需 API Key)的服务器最值得新手先试:

服务器能力
🌐 Chrome Automation语音控制 Chrome:导航、填表、点按钮、查看网络请求
📺 YouTube Transcripts粘贴视频链接,让 Jarvis 总结视频内容
🖥️ macOS Automation语音运行 AppleScript 自动化系统任务

管理页面的完整实现见 settings_window.py。

方法二:配置向导快选

首次安装时,设置向导会直接给出 MCP 服务器的快捷选项,勾选即可,全程不需要碰配置文件。

方法三:直接编辑配置(进阶)

配置文件位于~/.config/jarvis/config.json,在mcps字段下按服务器名添加条目,例如接入 GitHub:

{ "mcps": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "your-token" } } } }

更多集成示例(Home Assistant、Google Workspace、Notion、Slack、数据库、Composio 一站式 500+ 应用)都在官方配置指南 docs/CONFIGURATION.md 的 "MCP Integrations" 章节,配置字段定义见 config.py。

浏览器自动化:语音控制 Chrome

浏览器自动化是有状态 MCP 服务器的典型场景:MCP 服务器在第一次导航时启动 Chrome 进程,后续工具调用要复用同一个浏览器会话。

Jarvis 采用持久化运行时实现(mcp_runtime.py):每个 MCP 服务器只启动一次,stdio 会话在整个运行期间保持打开,跨工具调用复用。因此 Chrome 不会在工具返回时被意外关闭,你可以连续下达指令:

"Jarvis,打开这个页面,点进评论区,告诉我大家在问什么。"

智能家居:Jarvis × Home Assistant 语音控制

接入 Home Assistant 后,动嘴即可控制全屋设备。步骤:

  1. 在 Home Assistant 中添加 MCP Server 集成(Settings → Devices & services)
  2. 暴露你想控制的设备(Settings → Voice assistants → Exposed entities)
  3. 创建 Long-lived Access Token(Profile → Security)
  4. 安装 SSE 代理,并在mcps中添加对应条目(command指向代理,env填入API_ACCESS_TOKEN)

之后就能这样说:"Jarvis,打开客厅的灯"、"把卧室温度调到 72 度"、"运行晚安场景"。

核心机密:Jarvis 如何无限接入工具而不"上下文腐烂"

大模型上下文窗口有限,如果把几十个 MCP 服务器的全部工具定义都塞进每次请求,模型会"迷失"——这就是上下文腐烂(context rot)。Jarvis 的解法有两层:

1️⃣ 工具路由:每次只挑选最相关的工具

每次请求都会经过一个轻量级工具路由器(selection.py):它把全部内置工具 + 全部 MCP 工具列成目录,让模型从中最多挑选 5 个(通常 1–3 个)真正相关的工具进入主对话上下文;纯闲聊或"已知事实"(当前时间、位置)可直接回答则返回零工具。目录是准静态的,配合前缀缓存复用,路由开销很低。

2️⃣ 会话持久化:省掉重复启动成本

服务器进程常驻、会话不销毁,既保住浏览器这类有状态能力,也避免每次调用都重新握手。服务器崩溃时运行时会自动重建工作进程并重试一次,瞬时故障不会拖垮缓存。

这两层机制叠加,意味着你可以放心挂上任意多的 MCP 服务器,而 Jarvis 每次对话都只"看得见"当下用得到的那几件工具。

两个进阶设置:空闲回收与调用超时

在对应服务器配置中可微调两个字段:

  • idle_timeout_sec:例如设为300,无活动 5 分钟后 Jarvis 自动释放该服务器子进程,节省内存。有状态服务器(如浏览器自动化)建议不设置,保持常驻。
  • timeout_sec:默认单次工具调用 120 秒超时。若你的工具需要跑更久(比如把任务委托给外部 CLI Agent),可设为600。

改完配置后,还可以让 Jarvis 自己刷新工具缓存:说一句"刷新 MCP 工具列表"即可触发内置的 refresh_mcp_tools.py,无需重启应用。

快速核对:你的 MCP 服务器生效了吗?

打开托盘菜单点击🩺 Runtime Status,可以查看 Jarvis 是否正在监听、Ollama 状态、配置的模型,以及当前启用了多少个 MCP 服务器;连接细节和每次工具调用记录都能在 Logs 窗口里追踪。

总结

  • Jarvis 通过mcps配置 + 图形化界面接入任意 MCP 服务器,浏览器自动化、智能家居只是起点
  • 持久化 stdio 会话让有状态服务器(Chrome)正确工作
  • 工具路由每次最多精选 5 个工具入上下文,从根本上避免上下文腐烂
  • 无限 MCP 工具、零云端依赖——这就是本地语音助手的完整玩法

【免费下载链接】jarvisA 100% private AI voice assistant that lives on your computer (works offline). Talk naturally as if Jarvis is a third person in the room, and get conversational responses. It remembers everything, knows location and time, can check the web, control Chrome, track nutrition, and more with support for unlimited MCPs / tools without context rot.项目地址: https://gitcode.com/gh_mirrors/jarvis87/jarvis

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询