@uitoolbar/provider-cursor
v0.1.5
Published
UiToolbar provider for Cursor IDE integration
Readme
@uitoolbar/provider-cursor
Cursor IDE integration provider for UiToolbar. Connects to Cursor's agent CLI to enable AI-powered code modifications based on selected elements.
Features
- Agent Integration - Spawns
cursor-agentCLI for AI responses - SSE Streaming - Real-time streaming of agent responses
- Session Management - Resume conversations with session IDs
- Undo Support - Revert last agent changes
Installation
pnpm add @uitoolbar/provider-cursorRequirements
- Cursor IDE installed
cursor-agentCLI available in PATH
Usage
Starting the Server
# Via CLI
pnpm exec uitoolbar-cursor
# Or programmatically
import { startServer } from '@uitoolbar/provider-cursor/server'
startServer(5567)API Endpoints
GET /health
Check server status and agent availability.
{
"status": "ok",
"provider": "cursor",
"version": "0.0.1",
"agentInstalled": true
}POST /agent
Send a prompt to the Cursor agent. Returns SSE stream.
// Request
{
content: string // Element context (HTML, etc.)
prompt: string // User instruction
options?: {
model?: string // Model override
workspace?: string // Working directory
}
sessionId?: string // Resume existing session
}
// SSE Events
event: status
data: "Thinking…"
event: status
data: "Completed successfully"
event: error
data: "Error message"
event: done
data: ""POST /abort/:sessionId
Abort an in-progress agent session.
POST /undo
Undo the last agent change (uses last session).
Client Usage
import { createCursorClient } from '@uitoolbar/provider-cursor/client'
const client = createCursorClient('http://localhost:5567')
// Check connection
const isConnected = await client.checkHealth()
// Send prompt with streaming
for await (const message of client.sendPrompt({
content: '<button>Click me</button>',
prompt: 'Make this button red'
})) {
console.log(message.type, message.content)
}Configuration
| Option | Default | Description |
|--------|---------|-------------|
| port | 5567 | Server port |
| model | (agent default) | Override AI model |
| workspace | process.cwd() | Working directory |
Environment Variables
UITOOLBAR_CWD- Default workspace path
How It Works
- Extension sends element context + prompt to server
- Server spawns
cursor-agentwith--print --output-format stream-json - Agent output is parsed and streamed back as SSE events
- Session ID is captured for follow-up messages
Development
# Run server in dev mode
pnpm dev
# Run tests
pnpm test
# Build
pnpm build