Skip to main content
Glama

buglens


๐Ÿ˜ค The Problem Every Dev Team Has

Your QA team logs bugs in Google Sheets. Smart. Organized. Totally fine.

Then the dev gets pinged.

Here's what actually happens next:

  1. Open the sheet (Tab 1)

  2. Find your assigned bug (scroll, scroll, find the row)

  3. See a Snipboard screenshot link โ€” click it (Tab 2)

  4. Look at the image. Describe it mentally.

  5. Switch back to your code (Tab 3 โ€” or VSCode โ€” or wherever)

  6. Try to fix something you're now half-remembering

  7. Go back to the sheet (Tab 1, again)

  8. Manually type Devdone โ€” or mis-type DevDone and break the dropdown

That's 6+ context switches. Per bug. Every single time.

20 bugs a day? You just spent your morning on tab gymnastics.

And the worst part? Your AI assistant never saw the screenshot. You're out here describing UI bugs in plain text like it's 2019.


Related MCP server: chrome-devtools-mcp

๐Ÿ’ก There Is a Better Way

buglens is an MCP server that plugs directly into your editor and closes the entire loop โ€” automatically.

Pull the bug โ†’ AI sees the screenshot โ†’ Fix the code โ†’ Devdone auto โ†’ Done โœ…

Your AI reads the sheet live (not a CSV export โ€” live), fetches the Snipboard link, actually sees the visual bug, fixes your code, and marks it Devdone. You never left your editor. You never opened a tab. You never typed a status.


๐ŸŽฏ How It Works

Step

What Happens

Under the Hood

1. Live Sheet

AI pulls your open bugs by assignee

gspread live API โ€” no CSV, always fresh

2. Vision

AI fetches the Snipboard link and SEES the screenshot

get_bug_screenshot() โ†’ base64 โ†’ Gemini Vision

3. Fix

AI understands the visual bug and patches the code

Certificates, Dashboard, Student modules

4. Devdone

AI writes status back to the exact row

mark_as_devdone() โ€” case-safe, no dropdown breaks


๐ŸŒณ Project Structure

  • ๐Ÿ“„ __init__.py

  • ๐Ÿ“„ server.py โ€” Main MCP server containing 8 registered tools

  • ๐Ÿ“„ GEMINI.md โ€” Gemini agent specific configurations

  • ๐Ÿ“„ CLAUDE.md โ€” Claude agent specific configurations

  • ๐Ÿ“„ AGENTS.md โ€” General cross-agent context metrics

  • ๐Ÿ“„ VIBE.md โ€” Guidelines for autonomous vibe coding sessions

  • ๐Ÿ“„ DEV.md โ€” Developer workspace log book

  • ๐Ÿ“œ pyproject.toml โ€” Project metadata and package dependencies

  • ๐Ÿšซ .gitignore โ€” Ignore specs for builds, credentials, and virtual envs

  • ๐Ÿ“– README.md โ€” This roadmap documentation

Installation

1. Create venv

python3 -m venv venv source venv/bin/activate

2. Install from GitHub

pip install git+https://github.com/iambilalshahid/buglens.git

3. Or for local dev

git clone https://github.com/iambilalshahid/buglens.git cd buglens pip install -e .


[Jump to Gemini Installation](./AGENTS/GEMINI.md)

</details>

<details>
<summary><b>Clone for local dev / contribution</b></summary>

```bash
git clone https://github.com/iambilalshahid/qa-sheet-mcp.git
cd qa-sheet-mcp
python3 -m venv venv
source venv/bin/activate
pip install -e .

โš™๏ธ Configuration

Add this block to your mcp.json โ€” works with Cursor, Claude Desktop, and Antigravity.

{
  "mcpServers": {
    "qa-sheet": {
      "command": "python",
      "args": ["-m", "qa_sheet_mcp.server"],
      "env": {
        "SHEET_ID": "your-sheet-id-here",
        "WORKSHEET_NAME": "Admin bug report",
        "GOOGLE_CREDS_PATH": "./credentials.json",
        "QA_ASSIGN_TO": "Bilal",
        "QA_PROBLEM_TYPE": "FE"
      }
    }
  }
}

Variable

Description

SHEET_ID

From URL /d/<THIS>/edit โ€” use l not I (easy to confuse)

WORKSHEET_NAME

Your sheet tab name โ€” e.g. Admin bug report

GOOGLE_CREDS_PATH

Path to your Service Account credentials.json

QA_ASSIGN_TO

Your name exactly as it appears in the sheet: Bilal, Ahmar

QA_PROBLEM_TYPE

Filter by type: FE, BE, or FE,BE


๐Ÿ”„ Status Workflow

Every transition is validated. No more typos silently breaking your dropdown.

stateDiagram-v2
    [*] --> Open
    Open --> InProgress
    InProgress --> Devdone
    InProgress --> ServerDone
    Devdone --> QA
    ServerDone --> QA
    QA --> Verified
    QA --> ReOpen
    ReOpen --> InProgress
    Verified --> [*]

Valid values: Open ยท In-Progress ยท Devdone ยท QA ยท Re-Open ยท Verified ยท Discussion ยท Hold ยท Server Done


๐Ÿ› ๏ธ The 7 Tools

Tool

What it does

get_frontend_bugs_online

Pull your open FE bugs live from the sheet (with row_number)

get_bug_screenshot

Fetch Snipboard URL โ†’ base64 โ†’ AI sees the bug visually

mark_as_inprogress

Flip status: Open โ†’ In-Progress

mark_as_devdone

Flip status: โ†’ Devdone (case-safe write)

get_status_list

Valid dropdown values + full workflow reference

get_fix_history

What you fixed today โ€” reads from ~/ history

debug_sheet_info

Sheet debug info when things go sideways


๐Ÿค Contribute

Open source, solo-built, PRs welcome โ€” especially for:

  • New tool ideas (comment on a bug row? bulk update?)

  • More integrations: Notion, Jira, Linear

  • Better vision prompting strategies

git clone https://github.com/iambilalshahid/qa-sheet-mcp.git
git checkout -b feature/your-idea
git commit -m "Add: your feature"
git push origin feature/your-idea
# โ†’ Open a Pull Request

๐Ÿ‘ค Author

Bilal Shahid โ€” Solo Dev GitHub: @iambilalshahid


buglens footer

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to debug frontend applications by providing direct access to browser DevTools, React state, DOM inspection, and runtime debugging capabilities. Bridges the gap between AI and complex web applications for autonomous debugging and issue resolution.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI coding assistants to control and inspect a live Chrome browser through Chrome DevTools for automation, debugging, and performance analysis.
    2,587,036 npm
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI coding agents to audit web pages for WCAG accessibility and color-contrast issues, and file dev-ready issues directly into OverlayQA projects.
    9
    121 npm
    MIT