Team: ππ₯
Today:
Session:
https://phasheen.github.io/revealjs-cursor
Cursor editor interface
Feature | Cursor | GitHub Copilot | Windsurf |
---|---|---|---|
Base Technology | VS Code with custom UI | Extension for popular IDEs | VS Code with custom UI |
Base AI Models | Claude 3.7 Sonnet | GPT-4o | Mixed |
Code Completion | Multi-line intelligent suggestions | Line-by-line suggestions | Context-aware suggestions |
Agent Capabilities | Advanced with MCP support | Basic with chat-based workflows | Cascade system for automations |
Codebase Understanding | Advanced semantic indexing | Basic repository awareness | Context-aware file search |
Community | Growing rapidly | Largest user base | Emerging |
Pro Plan | $20/month | $10/month | $15/month |
Cursor features overview
.cursor/rules.json
filesCursor operates with a sophisticated system prompt
flowchart LR %% Define a reusable class for consistent styling classDef common fill:#e0e0ff,stroke:#4b0082,stroke-width:1px,color:#000080; subgraph "Your Computer" direction TB client["Host with MCP Client
(Claude, IDEs, Tools)"]:::common subgraph "MCP Servers" direction LR A["MCP Server A"]:::common --> DataA[(Local Data Source A)]:::common B["MCP Server B"]:::common --> DataB[(Local Data Source B)]:::common C["MCP Server C"]:::common --> Web[(Web APIs)]:::common end end subgraph Internet Remote[(Remote Service C)]:::common end client -->|MCP Protocol| A client -->|MCP Protocol| B client -->|MCP Protocol| C DataA --> A DataB --> B Web --> Remote
MCP architecture overview
flowchart TD classDef hosts fill:#f9f9ff,stroke:#333,stroke-width:1px classDef clients fill:#e6f3ff,stroke:#333,stroke-width:1px classDef servers fill:#f0fff0,stroke:#333,stroke-width:1px classDef data fill:#fff0f0,stroke:#333,stroke-width:1px classDef remote fill:#f5f5f5,stroke:#333,stroke-width:1px Host["MCP Hosts
(Cursor, Claude Desktop)"]:::hosts Client["MCP Clients
(Protocol clients)"]:::clients Server["MCP Servers
(Lightweight programs)"]:::servers Data["Data Sources
(Files, DBs, Services)"]:::data Remote["Remote Services
(External APIs)"]:::remote Host --> Client Client --> Server Server --> Data Server --> Remote
MCP Architecture Diagram
.cursor/mcp.json
in project directory~/.cursor/mcp.json
in home directorycommand
: The executable to runargs
: Command line argumentsenv
: Environment variables
// Example Project-specific MCP configuration
{
"mcpServers": {
"database-accessor": {
"command": "python",
"args": ["-m", "mcp_database_server"],
"env": {
"DB_CONNECTION": "postgres://user:pass@localhost/db",
"API_KEY": "sk-xxxx"
}
},
"documentation-lookup": {
"command": "npx",
"args": ["-y", "mcp-docs-server"],
"env": {
"DOCS_PATH": "./documentation"
}
}
}
}
MCP Tool usage in Cursor
Questions?
Key References:
Cursor: AI-powered code editor with customizable prompts & rules
MCP: Open protocol for standardizing AI model context
This presentation was created for the Special Topics in Data Science class on Prompt Engineering.