Skip to main content
Glama
README.md
# BrowserLemon πŸ‹

둜컬 Chrome의 **ν˜„μž¬ 둜그인 μ„Έμ…˜**을 AIκ°€ MCP둜 μ œμ–΄ν•  수 있게 ν•΄ μ£ΌλŠ” μ˜€ν”ˆμ†ŒμŠ€ λΈŒλΌμš°μ € λΈŒλ¦¬μ§€μž…λ‹ˆλ‹€. SNS μ΄ˆμ•ˆ μž‘μ„±κ³Ό μ‚¬μš©μž 승인 ν›„ κ²Œμ‹œ 흐름에 μ΄ˆμ μ„ 맞μΆ₯λ‹ˆλ‹€.

> Early MVP: 직접 κ²€ν†  없이 운영 계정에 κ²Œμ‹œν•˜μ§€ λ§ˆμ„Έμš”. μ‚¬μ΄νŠΈ UI 변경에 따라 element refκ°€ λ¬΄νš¨ν™”λ  수 μžˆμŠ΅λ‹ˆλ‹€.

## νŠΉμ§•

- MCP ν‘œμ€€ μž…μΆœλ ₯(stdio) μ„œλ²„
- 이미 둜그인된 Chrome νƒ­ μ‚¬μš©: 쿠킀와 λΉ„λ°€λ²ˆν˜Έλ₯Ό MCP μ„œλ²„λ‘œ λ³΅μ‚¬ν•˜μ§€ μ•ŠμŒ
- νŽ˜μ΄μ§€ μš”μ•½, νƒ­ λͺ©λ‘, 이동, 클릭, μž…λ ₯
- `draft_social_post`와 λͺ…μ‹œμ  `confirmed=true`κ°€ ν•„μš”ν•œ `publish_social_post`
- 둜컬호슀트 μ „μš© WebSocket 및 κ²Œμ‹œ 도메인 allowlist
- MIT λΌμ΄μ„ μŠ€

## μ„€μΉ˜

```bash
npm install
npm run build
```

Chromeμ—μ„œ `chrome://extensions` β†’ **개발자 λͺ¨λ“œ** β†’ **μ••μΆ•ν•΄μ œλœ ν™•μž₯ ν”„λ‘œκ·Έλž¨μ„ λ‘œλ“œ** β†’ 이 μ €μž₯μ†Œμ˜ `extension` 폴더λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

MCP ν΄λΌμ΄μ–ΈνŠΈ μ„€μ • μ˜ˆμ‹œ:

```json
{
  "mcpServers": {
    "browserlemon": {
      "command": "node",
      "args": ["/absolute/path/to/browserlemon/dist/index.js"]
    }
  }
}
```

MCP ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μž¬μ‹œμž‘ν•œ λ’€ Chrome νˆ΄λ°”μ˜ BrowserLemon μ•„μ΄μ½˜μ„ λˆ„λ¦…λ‹ˆλ‹€. 배지에 `ON`이 ν‘œμ‹œλ˜λ©΄ μ—°κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

## ꢌμž₯ μ›Œν¬ν”Œλ‘œ

1. `browser_status`둜 μ—°κ²° 확인
2. `list_tabs`와 `read_page`둜 λŒ€μƒ 및 composer ref 확인
3. `draft_social_post`둜 κΈ€ μž…λ ₯
4. μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €μ—μ„œ λ‚΄μš©μ„ κ²€ν† 
5. μ‚¬μš©μžκ°€ λͺ…μ‹œμ μœΌλ‘œ μŠΉμΈν•œ κ²½μš°μ—λ§Œ `publish_social_post(confirmed=true)` 호좜

## λ³΄μ•ˆ λͺ¨λΈ

ν™•μž₯ ν”„λ‘œκ·Έλž¨μ€ μ‚¬μš©μžμ˜ λΈŒλΌμš°μ € κΆŒν•œμœΌλ‘œ μ‹€ν–‰λ˜λ―€λ‘œ κ°•λ ₯ν•©λ‹ˆλ‹€. μ‹ λ’°ν•˜λŠ” 둜컬 MCP ν΄λΌμ΄μ–ΈνŠΈμ—μ„œλ§Œ μ„œλ²„λ₯Ό μ‹€ν–‰ν•˜μ„Έμš”. λΈŒλ¦¬μ§€λŠ” `127.0.0.1`μ—λ§Œ λ°”μΈλ”©λ˜λ©° λΉ„λ°€λ²ˆν˜Έ μž…λ ₯값은 νŽ˜μ΄μ§€ μŠ€λƒ…μƒ·μ—μ„œ μ œμ™Έλ©λ‹ˆλ‹€. λ‹€λ§Œ νŽ˜μ΄μ§€ λ³Έλ¬Έμ—λŠ” κ°œμΈμ •λ³΄κ°€ 포함될 수 μžˆμœΌλ―€λ‘œ μ—°κ²°ν•œ AI μ„œλΉ„μŠ€μ˜ 데이터 정책도 확인해야 ν•©λ‹ˆλ‹€.

지원 κ²Œμ‹œ 도메인: X/Twitter, LinkedIn, Facebook, Instagram, Threads, Bluesky, Mastodon.social. μ½κΈ°Β·μ΄ˆμ•ˆ μž…λ ₯은 일반 http(s) νŽ˜μ΄μ§€μ—μ„œλ„ κ°€λŠ₯ν•©λ‹ˆλ‹€.

## κΈ°μ—¬

버그 λ¦¬ν¬νŠΈμ™€ PR을 ν™˜μ˜ν•©λ‹ˆλ‹€. λ‹€μŒ μš°μ„ μˆœμœ„λŠ” per-site adapter, 이미지 μ—…λ‘œλ“œ, μ˜ˆμ•½ κ²Œμ‹œ, 감사 둜그, ν™•μž₯ ν”„λ‘œκ·Έλž¨ κΆŒν•œ μ„ΈλΆ„ν™”μž…λ‹ˆλ‹€.

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation4/5

Each tool has a generally distinct purpose: status, tab listing, page reading, navigation, typing, clicking, and social composing/publishing. There is mild overlap between type_text and draft_social_post, and click could theoretically be used in place of publish_social_post, but the descriptions clarify the intended specialized use.

Naming Consistency3/5

Most tools follow a verb_noun snake_case pattern (list_tabs, read_page, open_url, type_text, draft_social_post, publish_social_post), but browser_status is a noun phrase and click is a bare verb. The naming is readable and consistently lowercase, but the pattern is not uniform.

Tool Count5/5

Eight tools is well-scoped for a browser automation assistant. Each tool has a clear role with no obvious filler or redundant duplicates, making the count appropriate for the server's purpose.

Completeness3/5

The set covers core browsing actions like open, read, type, click, plus a guarded social-posting workflow. However, it lacks standard browser controls such as switching or closing tabs, scrolling, refreshing, and waiting for page conditions, which are notable gaps for browser automation.

Maintenance

ActivityMaintained
ResponsivenessNo issues