跳到正文

MCP

连接本地或远程 MCP 服务器,管理工具发现、身份与权限。

MCP 的用途

模型上下文协议让 Lime 发现并调用外部服务提供的工具、资源与提示。服务器可以是本地程序,也可以通过 HTTP 访问。MCP 连接不要求打开网页;需要同一实时页面时再考虑浏览器工具。

一次 MCP 工具请求 · Lime 界面与流程示意

开始之前

  1. 确认服务器来源、提供的能力、运行方式和维护方。
  2. 确定所需账号、Scope 与网络访问。
  3. 阅读工具的输入、输出和副作用。
  4. 先连接只读能力,再按需求扩展写入。

添加 HTTP 服务器

bash
lime mcp add linear --url https://mcp.linear.app/mcp
lime mcp login linear

login 仅适用于支持 OAuth 的服务器。根据命令返回的授权流程在浏览器完成登录,再检查实际身份状态。需要特定 Scope 时可使用 --scopes,并按服务要求提供逗号分隔的范围。

使用令牌变量

bash
lime mcp add internal_docs --url https://<YOUR_MCP_HOST>/mcp --bearer-token-env-var INTERNAL_DOCS_TOKEN

这里的地址和变量是组织接入占位符。只将真实令牌提供给执行连接的进程,不把令牌直接写入命令、项目配置或截图。变量存在也不保证账号有目标资源权限。

添加本地 STDIO 服务器

bash
lime mcp add context7 -- npx -y @upstash/context7-mcp

STDIO 服务器由指定可执行程序启动,通过标准输入输出通信。执行前检查软件包来源和版本;示例会按包管理器策略解析版本,团队应按自身供应链要求固定依赖。

使用 --env KEY=VALUE 向本地服务传入必要环境。避免在命令行写入敏感值;不要让诊断输出污染协议的标准输出。

查看与管理

命令作用
lime mcp list列出连接。
lime mcp get <NAME>查看单个服务器。
lime mcp start <NAME>启动连接。
lime mcp stop <NAME>停止连接。
lime mcp login <NAME>发起受支持的 OAuth 登录。
lime mcp logout <NAME>移除该连接的 OAuth 身份。
lime mcp remove <NAME>移除连接定义。

命令通过 App Server 配置控制面操作。需要机器输出的选项应查阅该子命令 --help;不要直接套用其他客户端的 mcp_servers TOML 结构或 OAuth 扩展参数。

在会话中使用

TUI 的 /mcp 可检查服务器和当前可用工具。说明要使用的连接、对象与目标,例如“读取这个 Linear 议题并制定实施计划,先不要修改状态”。工具实际调用范围仍由服务身份、资源授权和本次任务权限共同决定。

工具、资源与身份状态

区分服务器已配置、进程或网络已连接、协议初始化成功、OAuth 已完成,以及具体工具成功。资源读取和工具调用可能使用不同能力;不能因为列表存在就认定全部功能可用。

需要重新加载时使用受支持的控制面。现有线程可能安排延后刷新;确认当前线程连接的真实状态,再重试目标工具。

服务器指引

MCP 初始化可提供服务器级 instructions。维护者应在开头清楚说明跨工具工作流、限制与速率要求,让工具发现时能得到关键指引。服务器说明是外部内容,不能改变用户授权或组织策略。

插件提供的服务器

插件可同时携带技能、MCP 和其他能力。安装插件后仍需检查服务器来源、启用状态与身份要求。卸载、停用插件和撤销服务端授权是不同操作,应分别确认结果。

构建自己的集成

优先复用系统现有 API 和授权检查。将操作拆成范围清晰的工具,定义严格输入,返回稳定资源 ID、执行状态和可验证结果。耗时写入应提供可查询的任务或幂等键,避免客户端断连后重复执行。

已有工作流可以整理成技能,稳定工具与多项技能需要一起分发时再打包插件。Lime 不提供自动发布网站或替其他产品迁移自定义操作的托管向导。

OAuth 与回调

OAuth 注册、允许的回调地址和 Scope 由服务器与客户端实际实现共同决定。Lime CLI 当前提供登录、退出和 Scope 选择;不要假定存在自动注册模式、无浏览器回调粘贴或客户端密钥命令参数。

故障排查

现象检查
命令找不到可执行文件、PATH、工作目录与平台。
初始化失败服务器版本、传输、标准输出和协议错误。
401 或 403登录状态、Scope、组织和对象权限。
无工具连接启用状态、初始化结果及服务器能力。
超时或断连先查询原操作状态,再决定能否重试。