Skip to content

AmElmo/pointa

Pointa

Pointa

Point at any UI element, leave feedback, and let your AI coding agent implement the changes.

Point. Annotate. Let AI implement.

Website β€’ Quick Start β€’ Chrome Extension β€’ npm

License: MIT Chrome Web Store npm PRs Welcome


Pointa annotation interface


Table of Contents

What is Pointa?

Pointa is a browser extension and local server that lets you visually annotate your localhost projects. Click on any element, leave a comment, and your AI coding agent (Cursor, Claude Code, Windsurf, etc.) automatically implements the changes via MCP.

Think of it as visual issue tracking that your AI can read and act on β€” no more copying CSS selectors or describing which button you're talking about.

Annotate your localhost like you would a Figma screen:

Annotation flow

Then ask your AI coding agent to implement the changes:

MCP integration

You can also use Pointa to...

Report bugs in seconds

Bug reporting with timeline capture

Bulk-fix annotations with your AI coding tool (via MCP)

AI bulk-fix annotations via MCP

Capture UI inspiration from other websites with clean screenshots and CSS metadata

Capture UI inspiration with CSS metadata

Key Features

  • 🎯 Point and click annotations β€” Click any element to leave feedback
  • πŸ€– AI-ready β€” Integrates with AI coding agents via MCP protocol
  • 🏠 Local-first β€” Works on localhost, no cloud dependencies
  • πŸ“¦ Multi-page tracking β€” Annotate across different routes and pages
  • πŸ”’ Privacy-focused β€” All data stays on your machine
  • πŸ› Backend log capture β€” Include server logs in bug reports with zero code changes

Quick Start

Prerequisites

  • Node.js 18+
  • A Chromium-based browser (Chrome, Edge, Brave, etc.)
  • An AI coding agent that supports MCP (Cursor, Claude Code, Windsurf, etc.)

1. Install the browser extension

Install from the Chrome Web Store (recommended), or load unpacked for development.

2. Connect your AI coding agent

Add the MCP server to your AI agent's configuration:

{
  "mcpServers": {
    "pointa": {
      "command": "npx",
      "args": ["-y", "pointa-server"]
    }
  }
}

This automatically installs the server, starts the HTTP daemon for the extension, and keeps everything up to date. See AI Agent Setup for where to paste this in your specific tool.

3. Start annotating

  1. Open your localhost app in the browser
  2. Click the Pointa extension icon to activate
  3. Click on any element to annotate
  4. Add your feedback
  5. Ask your AI agent to "implement the Pointa annotations"

AI Agent Setup

Cursor
  1. Open Settings β†’ Cursor Settings
  2. Go to Tools & Integrations tab
  3. Click + Add new global MCP server
  4. Paste the MCP configuration:
{
  "mcpServers": {
    "pointa": {
      "command": "npx",
      "args": ["-y", "pointa-server"]
    }
  }
}
  1. Save and restart Cursor
Claude Code

Add to your Claude configuration file (~/.config/claude/config.json):

{
  "mcpServers": {
    "pointa": {
      "command": "npx",
      "args": ["-y", "pointa-server"]
    }
  }
}

Or use the CLI:

claude mcp add --transport stdio pointa -- npx -y pointa-server
Windsurf
  1. Navigate to Settings β†’ Advanced Settings
  2. Scroll to the Cascade section
  3. Paste the MCP configuration:
{
  "mcpServers": {
    "pointa": {
      "command": "npx",
      "args": ["-y", "pointa-server"]
    }
  }
}
  1. Save and restart Windsurf
Antigravity
  1. Click on Agent session in Antigravity
  2. Select the "..." dropdown β†’ MCP Servers β†’ Manage MCP Servers
  3. Click View raw config
  4. Add the MCP configuration to mcp_config.json:
{
  "mcpServers": {
    "pointa": {
      "command": "npx",
      "args": ["-y", "pointa-server"]
    }
  }
}
  1. Save and restart Antigravity
Other Editors (VS Code, etc.)

Install an MCP-compatible AI extension and add the MCP configuration:

{
  "mcpServers": {
    "pointa": {
      "command": "npx",
      "args": ["-y", "pointa-server"]
    }
  }
}

If your tool doesn't support the command/args format, use the HTTP endpoint instead:

{
  "mcpServers": {
    "pointa": {
      "url": "http://127.0.0.1:4242/mcp"
    }
  }
}

(Requires manually running pointa-server start first)

Backend Log Capture

Capture server-side logs in bug reports without any code changes. Wrap your dev command with pointa dev:

# Instead of:
npm run dev

# Run:
pointa dev npm run dev

This intercepts console.log, console.error, etc. from your Node.js server and includes them in bug report timelines. Works with any Node.js framework (Next.js, Express, Remix, etc.).

# Capture console logs only (default)
pointa dev npm run dev

# Capture full terminal output (stdout/stderr)
pointa dev --capture-stdout npm run dev

The capture mode can also be toggled in the extension's bug recording UI.

How It Works

Pointa consists of two components:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Browser Extension               β”‚
β”‚  - UI for creating annotations          β”‚
β”‚  - Element selection & highlighting     β”‚
β”‚  - Annotation management interface      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚
                β”‚ HTTP API
                β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Local Server (Node.js)          β”‚
β”‚  - MCP server for AI agents             β”‚
β”‚  - HTTP API for extension               β”‚
β”‚  - File-based storage (~/.pointa)       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Flow:

User clicks element β†’ Extension captures context β†’ Server stores annotation
                                                            ↓
AI Agent ← MCP Protocol ← Server provides annotation data

Server Commands

pointa-server start     # Start the server
pointa-server status    # Check server status
pointa-server stop      # Stop the server
pointa-server restart   # Restart the server

If you use the npx approach from Quick Start, the server is managed automatically.

Troubleshooting

Server not detected

  • Run pointa-server status to check if it's running
  • Make sure port 4242 is not blocked by a firewall

Extension not working

  • Verify you're on a local development URL (localhost, 127.0.0.1, *.local, etc.)
  • Check the browser console for errors
  • Try reloading the extension

MCP connection failed

  • Verify the server is running
  • Check your AI agent's configuration matches the examples above
  • Restart your AI agent after configuration changes

Known limitations

  • Elements inside Shadow DOM (Web Components) cannot be annotated
  • Designed for localhost/local domains only
  • Currently supports Chromium-based browsers only (Chrome, Edge, Brave)
Uninstalling

Remove the extension: Go to chrome://extensions/ and remove Pointa

Uninstall the server:

npm uninstall -g pointa-server
rm -rf ~/.pointa  # Remove data directory

Remove from AI agent: Delete the pointa entry from your MCP server configuration

For more help, check GitHub Issues.

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

Look for issues labeled good first issue or help wanted to get started.

Development

See the Development Guide for local setup, repo structure, and tech stack details.

License

MIT β€” see LICENSE for details.


Built by Julien Berthomier at Argil.io

About

Chrome extension to annotate your app and report bugs. Then let your AI coding tool fix everything in one shot.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors