Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
MCP server for Sublime Text 4. Lets AI coding agents read and control a running ST instance.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"sublime": {
"command": "uvx",
"args": [
"sublime-mcp"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add sublime -- uvx sublime-mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"sublime": {
"command": "uvx",
"args": [
"sublime-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"sublime": {
"type": "stdio",
"command": "uvx",
"args": [
"sublime-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 dpc00 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.7.5)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, HotCodePush
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Gives any MCP-speaking AI agent real control over a running Sublime Text 4 instance: run registered ST commands, read/write views and selections, inspect tabs and project state, and eval_python in Sublime's plugin host for anything the typed tools don't cover.
Controlling another installed Sublime package (a debugger, a language server, anything else) doesn't need its own dedicated MCP server — get_package_mcp_info plus eval_python/run_command covers it directly. See skills/package-skill-generator to turn a one-time investigation into a small, reusable skill file instead.
Eight workflow tools are advertised by default (discover_tools, batch, get_help, get_active_file, project_search, save_file, str_replace_based_edit_tool, ui_screenshot). discover_tools lists a tree of categories (category=) or searches (query=) the complete internal catalog of 379 typed Sublime capabilities, and batch invokes discovered capabilities without flooding the model's initial tool context.
Since 1.9.0, 160 of those tools are generated wrappers named after Sublime Text's own commands (tools/generate_st_command_tools.py, data in tools/st_commands_metadata.json); what each was observed to do on a bare Sublime Text 4215 is in tools/st_commands_behavior.json, and the hand-written tools' behaviour is in tools/st_hand_written_behavior.json. Since 1.10.0, list_native_windows and dismiss_native_window (Windows) list and dismiss a native dialog or menu while it blocks Sublime's main thread. See AGENT_GUIDE.md.
ui_screenshot returns a real image of any Sublime window, also one behind others, an open dialog or menu (kind, window_title), a not-front tab (tab), cropped or zoomed (region, scale, max_width); it is one of the eight default tools, and the image reaches the client as an image, also through batch and the proxies. ui_press_key, ui_type_text, ui_click and ui_hover (with a picture of the popup, including language-server hovers) operate palettes, quick panels and menus. Real mouse and keys wait until the person at the computer has been idle (wait_idle_s), so they never type over them.list_native_windows and dismiss_native_window list and dismiss a dialog or menu that has blocked Sublime's main thread; close_file with discard closes a tab with unsaved edits without the Save Changes dialog.get_quick_panel, pick_quick_panel (with wait_ms for a list that is still loading) and click_menu_item; get_view_regions and get_view_phantoms (with last, html, max_chars) inspect what a plugin drew. Panels of older Python 3.3 packages are visible with "install_py33_helper": true (1.16, off by default); a pick whose callback opens a dialog answers pending (1.16.1) and the dialog is answered with dismiss_native_window.list_native_windows reads the message of a Windows task dialog (Package Control's "needs to be restarted" text) and answers while a dialog blocks Sublime; dismiss_native_window clicks again if the first click is dropped and can cancel the Windows file-operation progress window. close_file needs a path, name or index and never closes the active tab. The install_package and search_packages tools are gone: installing and searching are Package Control's job, so drive its own picker with run_command and pick_quick_panel.claim_resource, release_resource and list_claims let agents take turns on the input and control panels.eval_python cannot take down the plugin host with sys.exit() (1.12.3), and Windows-only tools are hidden on other platforms (1.11.2).discover_tools with no arguments walks 12 categories instead of dumping a catalog.Agent how-to: AGENT_GUIDE.md (also served live by get_help). Release history: CHANGELOG.md.
sublime-mcp serves MCP streamable HTTP at /mcp, legacy MCP SSE at /sse, and a plain HTTP bridge. The bundled Node/Python proxies use sublime-mcp's HTTP bridge only. Defaults:
| Plugin | MCP SSE | HTTP bridge | Settings file |
|---|---|---|---|
| sublime-mcp | 9502 (Win) / 9503 (macOS/Linux) | 9500 (Win) / 9501 (macOS/Linux) | MCP Commander.sublime-settings |
The settings file takes "mcp_port" and "http_port" keys; edit your copy under Packages/User/ (Preferences > Package Settings) to override the defaults above — no env vars needed.
SSE URL form: http://127.0.0.1: /sse. The bundled Node/Python proxies talk to sublime-mcp's HTTP bridge, not SSE; override with SUBLIME_MCP_BASE (e.g. http://127.0.0.1:9500).
Both servers are loopback-only (`127.0.0.1`) by default and have no authentication — one of the tools they expose (eval_python) is arbitrary code execution in Sublime's own process, so treat this server as equivalent in trust level to your own login session. All of the following are keys in MCP Commander.sublime-settings:
false) — binds 0.0.0.0 instead of 127.0.0.1, making both servers reachable from every other device on your network, still with no authentication. Only turn this on for a specific reason a client can't reach 127.0.0.1 directly (e.g. a WSL client when WSL's networking mode doesn't forward localhost to the Windows host).Authorization: Bearer header on every request. This is the one control that works regardless of bind address, since loopback-only doesn't protect against another process, or another user on a shared/multi-user machine, reaching 127.0.0.1 on the same host. Generate a real random value yourself; don't use a short or guessable string. Not every MCP client UI exposes custom headers — check yours supports one before relying on this. If you connect through the bundled Node/Python proxy instead of a direct SSE/HTTP URL, set the same value as SUBLIME_MCP_TOKEN in the proxy process's environment.[]) — a list of tool names to refuse and hide from discovery entirely, e.g. ["eval_python", "run_command"] to remove the two tools with the broadest reach while keeping the rest of the server usable.Browsers are kept out in two ways. The real tool-call endpoints send no Access-Control-Allow-Origin header, and, because a missing CORS header does not stop a request from being sent, with no auth_token and the default loopback bind they also refuse any request whose Origin or Host header names something other than loopback (including Origin: null). Command-line and desktop MCP clients send no Origin and are not affected. This does not protect against another process on the same machine: set auth_token for that.
Manual (also the path for developing sublime-mcp itself):
git clone https://github.com/dpc00/sublime-mcp.git
cd sublime-mcp
The repo root is the package. Symlink it into ST's Packages/ directory as sublime-mcp.
Windows (Command Prompt):
mklink /J "%APPDATA%\Sublime Text\Packages\sublime-mcp" "C:\path\to\sublime-mcp"
macOS:
ln -s "$(pwd)" "$HOME/Library/Application Support/Sublime Text/Packages/sublime-mcp"
Linux:
ln -s "$(pwd)" "$HOME/.config/sublime-text/Packages/sublime-mcp"
Restart Sublime Text after linking so the plugin loads.
Point your agent straight at the server the plugin starts inside Sublime Text. No helper program is needed. Use the streamable-HTTP URL if your client supports it (Codex example; no mcp-remote wrapper is required):
[mcp_servers.sublime-mcp]
type = "http" url = "http://127.0.0.1:9502/mcp"
Optional proxies. Only for clients that cannot connect to a URL directly, a small Node or Python proxy can sit in between:
cd packages/node-proxy && npm install . && npx sublime-mcp # Node
cd packages/python-proxy && pip install . && sublime-mcp # Python
Restart or open a new Codex session after changing MCP configuration. Verify the entire path before debugging agent behavior:
npx sublime-mcp doctor
The report checks the HTTP bridge, MCP handshake, and focused tool catalog. From Sublime's Command Palette, MCP Commander: Connection Doctor shows the main server-side state. (Controlling a debugger or language server doesn't need its own MCP server or doctor check — see "Toolset" above and skills/package-skill-generator.)
Other MCP clients that take a JSON config (oh-my-pi, Claude Code, Cursor) use the same streamable-HTTP URL (Windows example):
{
"mcpServers": { "sublime-mcp": { "type": "http", "url": "http://127.0.0.1:9502/mcp" } } }
Only a client that cannot do streamable HTTP needs the deprecated SSE URL, "type": "sse" with http://127.0.0.1:9502/sse.
The MCP server starts automatically when ST loads the plugin. To stop or restart it, run "MCP Commander: Server Status" from the Command Palette. Check View > Show Console for startup confirmation.
Two skills ship with sublime-mcp: skills/sublime-mcp (how an agent uses the tools) and skills/package-skill-generator (how to generate a small skill for any Sublime package you use, such as a language server or a debugger). Copy the directories to your agent's skills directory or install them through your normal skill workflow. Skills for individual packages are not shipped: generate your own with the generator.