sargel
by ofriw
README.md
# SARGEL - Style And Rendering Graphical Element Lens
[](https://www.npmjs.com/package/sargel)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
**Visual debugging for pixel-perfect web development.**
Whether you're implementing designs or debugging CSS issues, this tool gives AI agents the ability to see and fix UI problems visually - just like using browser DevTools. Inspect elements, test CSS changes instantly, and iterate until perfect.
<img src="docs/images/hero-screenshot.png" width="800" alt="AI agent using SARGEL to visually inspect and debug a web element with highlighted overlays and detailed CSS analysis">
---
## The Problem
Getting CSS exactly right is hard. Designs don't match implementation, layouts break across browsers, spacing is off by a few pixels. The usual fix: back-and-forth screenshots, trial and error, and "close enough" compromises.
**The solution:** AI agents that can see your UI, understand what's wrong visually, test fixes instantly, and iterate until pixel-perfect.
---
## How It Works
<img src="docs/images/css-workflow.gif" width="700" alt="Visual demonstration of the inspect-edit-verify-iterate workflow">
1. **Inspect** - AI sees current state: styles, layout, visual issues
2. **Test** - Apply CSS edits and see results immediately
3. **Verify** - Get screenshot with changes applied
4. **Iterate** - Refine until perfect
5. **Apply** - Copy working CSS to your code
**The key:** Test changes visually before touching your source code.
---
## Example: Fixing Button Spacing
**Problem:** "The submit button is too close to the form fields"
```javascript
// Step 1: Inspect current state
{
"tool": "inspect_element",
"arguments": {
"css_selector": ".submit-btn",
"url": "https://myapp.com/form"
}
}
// Returns: Screenshot + computed styles showing margin-top: 4px
// Step 2: Test a fix
{
"tool": "inspect_element",
"arguments": {
"css_selector": ".submit-btn",
"url": "https://myapp.com/form",
"css_edits": {
"margin-top": "16px"
}
}
}
// Returns: Updated screenshot showing improved spacing
// Step 3: Perfect it
{
"css_edits": {
"margin-top": "20px"
}
}
// Returns: Perfect spacing
// Result: Add margin-top: 20px to your CSS
```
<img src="docs/images/css-edits-before.png" width="400" alt="Before: Button too close to form fields">
<img src="docs/images/css-edits-after.png" width="400" alt="After: Perfect button spacing">
*Before and after: Visual iteration until pixel-perfect*
---
## API Reference
### `inspect_element`
| Parameter | Type | Description |
|-----------|------|-------------|
| `css_selector` | string | CSS selector for target element(s) |
| `url` | string | Webpage URL to inspect |
| `css_edits` | object | **Test CSS changes** before applying to source |
| `property_groups` | array | Focus on: "layout", "colors", "typography", "positioning" |
| `limit` | number | Max elements when selector matches multiple (default: 10) |
### Response Format
```typescript
{
screenshot: string; // Base64 PNG with visual highlights
computed_styles: object; // Actual CSS property values
cascade_rules: array; // CSS rules in cascade order
box_model: object; // Margin, padding, border, content dimensions
applied_edits?: object; // CSS edits that were tested (if any)
}
```
---
## Technical Details
**Architecture:** MCP (Model Context Protocol) server using Chrome DevTools Protocol for DOM inspection and screenshot capture.
**Requirements:**
- Node.js 18+
- Chrome/Chromium browser
- AI agent with MCP support (Claude Desktop, Continue, etc.)
---
## License
MIT License - see [LICENSE](LICENSE) for details.
---
**Made for anyone who believes getting CSS right shouldn't be guesswork**
TDQS
A4.6/5.0
Scored across 1 tool
Disambiguation5/5
Only one tool exists, so there are no overlapping purposes. The tool's description clearly defines its role as inspecting elements and applying CSS edits.
Naming Consistency5/5
The tool name 'inspect_element' follows a clear snake_case verb_noun pattern. With only one tool, naming consistency is trivially perfect.
Tool Count3/5
The server has a single tool, which is on the thin side for a typical server. However, the tool is comprehensive and covers a complete debugging workflow, so it's borderline but not severely lacking.
Completeness5/5
The tool describes a full workflow: inspect, edit, verify, iterate, copy. This covers the core needs of CSS debugging without apparent gaps.
Maintenance
ActivityInactive
ResponsivenessNo issues