Pixso for VS Code
Pixso for VS Code lets you browse Pixso files from the activity bar, open design files in an editor webview, and expose Pixso AI-edit MCP tools to local MCP clients such as Cursor and Claude Desktop.
Features
- Focus the Pixso activity bar view, log in, and browse recent files, drafts, favorites, and teams.
- Open Pixso design files in a VS Code editor webview from the sidebar or by pasting a design file URL.
- Forward Pixso bridge messages between the webview and the VS Code extension host.
- Expose Pixso AI-edit sub-tools through a local MCP Streamable HTTP endpoint on port 3667 (for Cursor and similar clients).
How to Use
1. Install and Open Pixso
Install the extension, then open Pixso in either of these ways:
- Click the Pixso icon in the VS Code activity bar.
- Run
Pixso: Open Pixso from the command palette.
This focuses the Pixso sidebar. If you are not logged in, the extension opens the login webview automatically. Pixso design files open in a separate editor webview when you select a file from the sidebar or run Pixso: Open Design File.
The configured Pixso base URL is controlled by pixso.pixsoUrl. Use the base URL only (for example https://pixso.cn or https://pixso.net); do not include /app.
2. Log In
Use the Pixso sidebar welcome action or run Pixso: Log In.
After login succeeds, the extension stores the Pixso auth state in VS Code secret storage and refreshes the sidebar file list.
3. Browse and Open Files
After login, the Pixso sidebar shows:
- Recent files
- Drafts
- Favorites
- Teams and projects
Click a file in the sidebar to open it in a Pixso editor webview. Run Pixso: Refresh Files from the command palette to reload the file list. Use the filter icon in the Pixso view title to switch spaces.
You can also run Pixso: Open Design File and paste a Pixso design file URL.
The extension exposes an HTTP MCP channel for Pixso AI-edit sub-tools. Open a design file in the Pixso webview and wait for the design editor to finish loading before connecting any MCP client.
Tool set: AI-edit sub-tools — granular operations such as apply_design and fetch_context that an AI agent can compose freely.
Default endpoint:
http://127.0.0.1:3667/mcp
Create .cursor/mcp.json in your project:
{
"mcpServers": {
"pixso": {
"url": "http://127.0.0.1:3667/mcp"
}
}
}
If you change pixso.mcpHttpPort, update the URL to match. The server is enabled by default (pixso.mcpHttpEnabled: true).
Note: The upper MCP server (port 39392, ai_edit orchestration tool) is temporarily disabled in this release. Use the sub-tools endpoint above for now.
Commands
These commands are configured by the extension.
| Command ID |
Command Palette Title |
Description |
pixso.openPixsoView |
Pixso: Open Pixso |
Focuses the Pixso sidebar and opens the login flow when needed. |
pixso.login |
Pixso: Log In |
Opens the Pixso login flow in a webview and stores the returned auth state. |
pixso.logout |
Pixso: Log out |
Clears Pixso auth state, clears file-list cache, and closes Pixso webviews. Also available from the More actions submenu in the Pixso view title. |
pixso.refreshFiles |
Pixso: Refresh Files |
Refreshes the Pixso sidebar file list. |
pixso.filterSpace |
Pixso: Select Space |
Opens the Pixso space switch webview. Also available from the filter icon in the Pixso view title. |
pixso.setPixsoUrl |
Pixso: Set Pixso URL |
Updates the global pixso.pixsoUrl setting. Use the base URL only, for example https://pixso.cn. |
pixso.focusView |
Pixso: Focus on Pixso View |
Focuses the Pixso activity bar view and the file tree. |
pixso.openDesignFile |
Pixso: Open Design File |
Prompts for a Pixso design file URL and opens it in a webview. Requires login. |
pixso.openCurrentDesignInBrowser |
Pixso: Open Current Design in Browser |
Opens the active Pixso design webview URL in the external browser. Requires an open design file webview. |
pixso.selectNextLayer |
Pixso: Select Next Layer |
Sends a select-next-layer command to the active Pixso webview. Requires an open Pixso webview. |
pixso.selectPreviousLayer |
Pixso: Select Previous Layer |
Sends a select-previous-layer command to the active Pixso webview. Requires an open Pixso webview. |
The extension also registers pixso.openFile for sidebar file nodes. It is used internally when clicking files in the Pixso TreeView.
Settings
| Setting |
Type |
Default |
Description |
pixso.pixsoUrl |
string |
https://pixso.cn |
Pixso base URL. Do not include /app; the extension adds it when opening Pixso pages. |
pixso.mcpHttpEnabled |
boolean |
true |
Enable the HTTP MCP server (Streamable HTTP, AI-edit sub-tools, port 3667). |
pixso.mcpHttpPort |
number |
3667 |
Local port for the HTTP MCP server (sub-tools). The server always binds to 127.0.0.1. |
pixso.mcpUpperHttpEnabled |
boolean |
true |
(Temporarily inactive) Upper HTTP MCP server setting; the server is not started in this release regardless of this value. |
pixso.mcpUpperHttpPort |
number |
39392 |
(Temporarily inactive) Reserved port for the upper HTTP MCP server when re-enabled. |
MCP Lifecycle
MCP tools are available only when a Pixso design editor bridge is ready in an open webview panel.
Typical flow:
- Focus the Pixso sidebar and log in if needed.
- Open a design file in a Pixso editor webview.
- Wait for the design editor bridge to send
ready.
- Connect your MCP client to the HTTP endpoint (preferably after step 3, so
tools/list is not empty).
Notes:
- Each MCP HTTP session snapshots the tool list at
initialize time. If you connect before the bridge is ready, reconnect (or start a new MCP session) after opening a design file.
- MCP routes to the active / visible Pixso webview panel. Switch focus if you have multiple panels open.
- If all Pixso webview panels are closed, or the page leaves the design editor, the bridge stops.
tools/list may be empty; tools/call may return an empty success result until a design file is opened again.
- When a webview is open but the design editor has not finished loading,
tools/call may fail with a bridge-not-ready error after queuing.
|
HTTP MCP sub-tools (pixso.mcpHttpEnabled) |
| Extension-side transport |
Streamable HTTP (/mcp, port 3667) |
| Client-facing transport |
HTTP |
| Tool set |
AI-edit sub-tools |
| Best for |
Cursor, agents that compose tools |
| Message types |
getAiEditToolMetas / aiEditToolCall |
The upper MCP channel (port 39392, ai_edit orchestration tool) is temporarily disabled.
Troubleshooting
| Problem |
What to Check |
| HTTP MCP endpoint connection refused |
Confirm the extension is activated and pixso.mcpHttpEnabled is true. Check pixso.mcpHttpPort (default 3667). |
tools/list is empty |
Open a design file in a Pixso webview and wait for the editor to load. Reconnect your MCP client so a new session can register tools. |
Pixso bridge is not ready yet; open a design file in Pixso and wait for the editor to load. |
A Pixso webview is open, but the design editor bridge is not ready yet. Open or return to a design file and wait for the editor to finish loading. |
tools/call succeeds but does nothing |
No Pixso webview panel is open, or the bridge is unavailable. Open a design file webview first. |
| Port binding failure |
Another process is using pixso.mcpHttpPort. Change the setting or stop the conflicting process. |
| File list is empty |
Confirm that you are logged in, run Pixso: Refresh Files, and check whether the configured pixso.pixsoUrl points to the expected environment. |