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 插件环境、桥接进程以及内部路由实现,确保在本地编辑器环境中可运行。

服务器信息