Sublime Claude MCP 服务器
使用说明
-
项目简介
- 该仓库实现了一个用于 Sublime Text 的 MCP 服务器端,遵循 MCP 的核心交互模式(JSON-RPC 请求/响应),能够处理资源、工具、提示模板等相关请求,并将执行委托给 Sublime 的插件环境与桥接进程进行实际操作。
- 服务器核心功能包括:处理 MCP 请求格式、返回标准的 JSON-RPC 响应、向 Sublime 插件发送需要执行的代码、以及通过工具路由实现对常用编辑器功能的访问。
-
主要功能点
- MCP 协议核心支持:处理 initialize、tools/list、tools/call 等请求,返回合规的 JSON-RPC 响应。
- 工具路由(Tool Router):内置对 Sublime Text 常用工具的路由与代码生成,支持简单调用、带参数的调用以及自定义工具的扩展。
- 集成桥接与执行:通过一个桥进程将 MCP 请求转译成在 Sublime 中执行的 Python 代码串,并把结果回传给 MCP 客户端。
- 资源、上下文与通知机制:支持将资源、上下文注入到会话中,提供通知接口以便外部代理或守护进程与 MCP 客户端协同工作。
- 安全与容错:提供错误处理、超时控制、以及对未知请求的安全性处理。
- 基本的会话与状态管理接口,配合 Sublime 插件的会话体系实现对插件内会话的创建、执行、以及结果返回。
-
安装步骤
- 确保 Sublime Text 已安装并能够运行插件环境。
- 将 MCP 服务器相关脚本保存在 Sublime 插件包目录下,确保 mcp/server.py、mcp_server.py 等核心文件可被执行。
- 启动 Sublime 及 Claude 插件,插件在初始化时会自动启动 MCP 服务器并监听指定的 IPC 通道(如 /tmp/sublime_claude_mcp.sock)。
- MCP 客户端通过 JSON-RPC 调用服务器的接口(如 initialize、tools/list、tools/call),并接收响应。
-
服务器配置(MCP 客户端配置要求)
- MCP 客户端需要知道 MCP 服务器的启动命令和参数以建立连接。下面给出符合仓库实际实现的配置字段示例,客户端无需了解内部实现细节,仅需知道服务器名称、启动命令与参数即可连接。
- server name: sublime-claude-mcp
- command: python3
- args: ["/path/to/sublime-claude/mcp/server.py", "--view-id=<VIEW_ID>"]
- 说明:
- serverName 指定 MCP 客户端在 UI/日志中显示的服务器名称。
- command 指定启动服务器所使用的解释器。
- args 指定服务器脚本及必要参数,其中 <VIEW_ID> 应由客户端在实际连接时注入对应的 Sublime 视图标识,以便服务器能够把请求路由到正确的会话上下文。若在你的环境中视图标识的注入方式不同,请以实际运行时的参数传入。
- 备注:MCP 客户端本身并不需要实现服务器端逻辑,只负责发起连接与请求,服务器端实现了完整的 MCP 处理逻辑与路由。
-
基本使用方法
- 启动阶段:在 Sublime Text 启动 Claude 插件时,MCP 服务器随插件一起启动,并在指定的 UNIX 套接字或 IPC 通道上监听。
- 客户端连接:MCP 客户端通过 JSON-RPC 发送请求,如 initialize、tools/list、tools/call 等,服务器返回符合 MCP 的 JSON-RPC 响应。
- 调用工具与获取结果:通过 tools/list 获取可用工具,利用 tools/call 调用具体工具并获取执行结果;服务器将执行所需的代码发送到 Sublime 中的桥接进程执行,最后把结果返回给 MCP 客户端。
- 会话与上下文:服务器支持在会话中注册资源、管理工具调用、以及渲染 Prompts,确保 LLM 客户端可以获得上下文信息并调用外部功能。
- 运行环境与依赖:服务器依赖 Sublime 插件环境、桥接进程以及内部路由实现,确保在本地编辑器环境中可运行。