编辑器上下文插件

一个Sublime Text插件,通过模型上下文协议(MCP)将编辑器上下文(打开的文件、选择内容、光标位置)暴露给代理,使代理能够理解用户在编辑器中的操作和提问。

  • by joelekstrom
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 joelekstrom/sublime-context-MCP

使用说明

Sublime编辑器上下文MCP

Sublime Text插件,通过模型上下文协议(MCP)向代理公开编辑器上下文(打开的文件、选择、光标位置)。

这允许代理在Sublime Text中选择一些代码来询问“您对此有何看法?”时,即使代理在终端中运行,也能弄清楚您的意思。

下面的说明假设使用Claude Code,但应该很容易调整。

安装

  1. 安装插件:将此文件夹复制到Sublime文本包目录

    • 打开Sublime文本
    • 首选 Preferences > Browse Packages...
    • 将整个文件夹复制到Packages目录中
  2. 添加到您的全球Claude上下文中:附录 .claude/CLAUDE.md 到 ~/.claude/CLAUDE.md

    • 这告诉克劳德代码检查Sublime上下文时,你问代码
    • 只需在全球范围内完成一次
  3. 配置Claude代码:将MCP服务器添加到Claude Code的设置中

    • 跑 claude mcp add sublime-context http://127.0.0.1:8765 --transport http

用法

当加载Sublime Text时,该插件会自动启动端口8765上的MCP服务器。

验证它是否正常工作

使用命令选项板(Cmd+Shift+P 或 Ctrl+Shift+P):

  • 运行: Editor Context: Show State

这将打开一个新的缓冲区,将当前编辑器状态显示为JSON。

与代理人

配置后,您的代理可以看到:

  • 您在所有窗口中打开了哪些文件
  • 每个窗口中哪个文件处于活动状态(最前面的窗口优先)
  • 您选择了什么文本
  • 未选择任何内容时的光标位置
  • 您的项目文件夹

问以下问题:

  • “我现在在做什么?”
  • “帮助我修复此功能”(已选择代码)
  • “我打开了哪些文件?”

MCP资源

该插件公开了一个资源:

  • 统一资源标识符: sublime-context://state
  • 退货:JSON格式 activeFiles, otherFiles, projectFolders,以及 lastUpdated

看 .claude/CLAUDE.md 有关数据结构的详细文档。

配置

默认端口为8765。要更改它:

Preferences > Package Settings > Editor Context MCP > Settings:

{
    "mcp_server_port": 8765
}

故障排除

服务器无法启动?

  • 检查Sublime文本控制台: View > Show Console
  • 检查端口8765是否正在使用中: lsof -i :8765

国家不更新?

  • 跑 Editor Context: Show State 验证命令
  • 当MCP请求时,状态会按需生成