Turn clicks into context to supercharge your coding workflow.
PinPoint is a Chrome extension that captures DOM elements from any webpage and seamlessly integrates them with Cursor IDE through the Model Context Protocol (MCP). Perfect for web developers who want to quickly analyze, debug, or work with specific elements from live websites.
- Hover highlighting with neon green outlines
- Crosshair cursor when selection mode is active
- Click to capture any DOM element
- Visual feedback with element animations
- 5 different sound effects (Laser, Beam, Coin, Jump, Thud)
- Customizable audio - enable/disable and choose your preferred sound
- Satisfying click feedback when capturing elements
- Quick toggle selection mode with
Ctrl+Shift+P(Windows/Linux) orCmd+Shift+P(Mac) - No need to open popup for quick on/off switching
- Customizable shortcuts in Chrome's extension settings
- Bold, modern UI with thick borders and sharp shadows
- Electric Lime (
#00FF41) primary color - Neon Pink (
#FF0080) accent color - Pure Black (
#000000) and Off-White (#FAFAFA) contrast
- Slide-in toast notifications when elements are captured
- Configurable notifications - can be disabled in settings
- Neobrutalist styling with hover effects
- MCP (Model Context Protocol) integration
- Direct element analysis in Cursor
- Markdown-formatted element data for easy reading
- Seamless workflow from web to code
- Chrome browser (or Chromium-based browser)
- Node.js (v14 or higher)
- Cursor IDE (for MCP integration)
git clone https://github.com/yourusername/PinPoint.git
cd PinPointnpm installcp env.example .envEdit .env to set your preferred mode:
MODE=MCP
CURSOR_AGENT_PATH=/path/to/cursor-agent# For MCP mode (recommended)
MODE=MCP npm start
# For CLI mode
npm run devThe server will start on http://localhost:5050 by default.
- Open Chrome and go to
chrome://extensions/ - Enable Developer mode (toggle in top-right)
- Click Load unpacked
- Select the
extension/folder from this repository
- Open PinPoint by clicking the extension icon in your toolbar
- Configure settings (optional):
- Set server URL (default:
http://localhost:5050/element) - Choose your preferred sound effect
- Enable/disable notifications
- Set server URL (default:
- Toggle Selection Mode to ON
- Navigate to any webpage you want to analyze
- Hover over elements to see green highlighting
- Click any element to capture it
- Open Cursor IDE and use the captured element data
| Action | Windows/Linux | Mac |
|---|---|---|
| Toggle Selection Mode | Ctrl+Shift+P |
Cmd+Shift+P |
- Ensure PinPoint bridge is running with
MODE=MCP - In Cursor, the
getLatestElementtool will be available - Ask Cursor to analyze the latest captured element:
What element did I just capture with PinPoint? - Cursor will return detailed markdown-formatted element data
- Run bridge with
MODE=CLI - Captured elements are saved to
last-element.json - Use Cursor's CLI integration to analyze the file
| Setting | Description | Default |
|---|---|---|
| Selection Mode | Enable/disable element selection | Off |
| Slide-in Notifications | Show toast notifications | On |
| Sound Effects | Audio feedback for captures | On |
| Sound Type | Choose from 5 sound effects | Laser |
| Subscription Popups | Optional subscription prompts | On |
| Environment Variable | Description | Default |
|---|---|---|
MODE |
Server mode: CLI or MCP |
CLI |
CURSOR_AGENT_PATH |
Path to Cursor agent executable | Auto-detect |
PORT |
Server port | 5050 |
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Chrome โ โ Bridge โ โ Cursor โ
โ Extension โโโโโถโ Server โโโโโถโ IDE โ
โ โ โ (Node.js) โ โ (MCP) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
- User clicks element on webpage
- Content script captures element data (HTML, styles, selector)
- Bridge server receives data via HTTP POST
- MCP server makes data available to Cursor
- Cursor IDE can query and analyze the element
Each captured element includes:
- HTML structure (
outerHTML) - Text content (
innerText) - CSS selector (unique identifier)
- Computed styles (all CSS properties)
- Page context (URL, timestamp)
- Custom prompt (user-defined)
PinPoint uses a Neobrutalist design system with:
- Electric Lime (
#00FF41) - Primary brand color - Pure Black (
#000000) - Strong contrast - Off-White (
#FAFAFA) - Clean background - Neon Pink (
#FF0080) - Accent color for CTAs
- Thick borders (3px solid)
- Sharp shadows (6px 6px 0px)
- No rounded corners
- Bold typography
- High contrast
- This is a local development tool only
- Do not expose the bridge server to the public internet
- The server runs on
localhostby default - No authentication is implemented (by design)
- Use only on trusted networks
- Smart frequency calculation based on usage
- Usage tracking (selection time, captures, sessions)
- Respectful popup timing - dormant until actively used
- Multiple subscription options (Substack, Buy Me a Coffee, etc.)
- Settings saved across browser sessions
- Selection mode state persists across page navigations
- User preferences maintained automatically
- Graceful fallbacks for network issues
- Console logging for debugging
- User-friendly error messages
Extension not working:
- Check if bridge server is running
- Verify server URL in extension settings
- Check browser console for errors
MCP not connecting:
- Ensure
MODE=MCPin environment - Check Cursor's MCP configuration
- Verify server is running on correct port
No sound effects:
- Check if sound is enabled in settings
- Verify browser allows audio
- Try different sound types
Enable debug logging by opening browser DevTools and checking the Console tab for PinPoint messages.
We welcome contributions! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Cursor IDE for the amazing MCP protocol
- Chrome Extensions API for the powerful browser integration
- Neobrutalist design community for inspiration
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Website: pinpoint.vibecode.nyc
Made with โค๏ธ for the developer community
Turn clicks into context. Supercharge your coding workflow.