DevScope MCP server
2026년 11월 9일 커밋Claude Code 및 Cursor와 같은 코딩 에이전트가 루프백 브릿지를 통해 Chrome 사이드 패널에서 브라우저 탭과 채팅하고 제어할 수 있는 로컬 우선 환경을 제공합니다.
다른 이름 15273/devscope-bridge
- 스타
- 1
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 9일
- 라이선스
- MIT
DevScope MCP란?
DevScope은(는) MCP server입니다. Claude Code 및 Cursor와 같은 코딩 에이전트가 루프백 브릿지를 통해 Chrome 사이드 패널에서 브라우저 탭과 채팅하고 제어할 수 있는 로컬 우선 환경을 제공합니다.
프로젝트 README에서 생성된 요약
DevScope MCP server 정보
devscope-bridge는 로컬 우선 사이드 패널을 통해 코딩 에이전트를 Chrome 브라우저로 직접 가져옵니다. 이 도구를 사용하면 개발자는 Claude Code, Cursor, Codex, Antigravity와 같은 에이전트를 사용하여 루프백 브릿지를 통해 브라우저 탭과 채팅하고 제어할 수 있습니다. 특정 탭을 바인딩하면 에이전트가 MCP browser 도구를 사용하여 콘텐츠를 읽고 요소를 클릭할 수 있어, 브라우저를 AI 어시스턴트를 위한 대화형 작업 공간으로 효과적으로 전환합니다.
시스템은 127.0.0.1:7878에서 실행되는 Python 브릿지를 사용하여 사용자의 로컬 머신에서 완전히 작동하므로 데이터가 클라우드 서비스로 전송되지 않습니다. 홈 디렉토리에 저장된 로컬 토큰을 사용하여 기존 CLI 또는 IDE 어댑터에 연결합니다. 더 높은 수준의 자동화를 원하는 사용자를 위해, 브릿지에는 타이머에 따라 작업을 실행하고, 지속적인 작업 보드를 관리하며, 결제나 삭제와 같은 위험한 작업에 수동 승인이 필요하도록 특정 에이전트 정책을 따르는 오케스트레이터가 포함되어 있습니다.
활용 사례
- 1AI를 통한 브라우저 탭 제어코딩 에이전트에게 웹사이트를 탐색하고 페이지 요소와 직접 상호작용하도록 요청합니다.
- 2반복적인 웹 워크플로 자동화학습된 플레이북을 사용하여 특정 웹사이트를 탐색하는 반복 작업을 설정합니다.
- 3자율 에이전트 작업 관리지속적인 작업 보드를 사용하여 프로세스 재시작 후에도 유지되는 장기 작업을 추적합니다.
- 4안전한 무인 작업 실행에이전트를 타이머에 따라 실행하면서, 민감한 작업을 수행하기 전에 권한 승인을 위해 일시 중지하도록 보장합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
구성
BRIDGE_EXTENSION_ID
| 이름 | 설명 | 유형 |
|---|---|---|
| BRIDGE_EXTENSION_ID | — |
자동 검사
2026년 11월 15일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능15273/devscope-bridge is public and reachablegithub.com/15273/devscope-bridge ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-09github.com/15273/devscope-bridge ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기DevScope
Your coding agents, in Chrome, on your machine. Side panel for Claude Code, Cursor, Codex, and Antigravity — chat, bind a tab, and let the agent click. Loopback only. There is no DevScope cloud.
Three pieces:
- Chat — sessions in the side panel, streamed from your local CLI
- Browser — bind a tab; Claude can read and click through MCP
- Connection — a loopback-only Python bridge on
127.0.0.1:7878
The bridge launches your already-installed CLI/IDE adapters (claude,
cursor-agent, codex, or Antigravity headless mode). Nothing is sent to a
DevScope cloud — there isn’t one. Auth is a local token
(~/.dev-bridge/token, chmod 0600). The process refuses to bind anywhere
except loopback.
Where this is going
The side panel is the surface. The goal underneath it is a standing colleague — an assistant and developer that works on its own initiative, on your machine, with your accounts, and comes back with work already done instead of waiting to be told what to do.
A chat tool answers when spoken to. Turning that into a colleague takes three things, and all three are in this repo today:
| Property | What it means | Where it lives |
|---|---|---|
| A heartbeat | Something wakes the agent on a timer, so it can act with nobody typing | orchestrator.py — a tick loop driving a Manager-of-Managers → Domain Manager → Worker hierarchy |
| Durable state | Work outlives a single conversation, a restart, or a crashed process | task_store.py — a task board with parent/child trees, logs, and stuck-worker reconciliation |
| Explicit limits | Autonomy you can leave running, because the dangerous actions stop and ask | agent_policies.py — workers must call task_request_approval before sending, buying, deleting, or spending |
Reading, researching, navigating, and filling forms without submitting are autonomous. Sending, publishing, deleting, and anything touching money pause for you. That line is the whole design: the agent should be able to run all day unattended without any single step being one you'd want to undo.
Honest status
Working today: the tick loop, the task hierarchy, the approval gate, per-site
playbooks that remember selectors and workflows across runs
(schedule_playbook.py), and an
autonomous-employee layer that can report to Notion, WhatsApp, or email
(employee_config.py — off by default).
Not there yet, and the difference between "runs unattended" and "genuinely doesn't wait for instructions":
- Self-originating work. Tasks still mostly arrive from you. The agent can already read mail, messages, and calendar through MCP; what's missing is the step that turns an observation into a proposed task on its own.
- Memory of you. Playbooks remember websites. Nothing yet remembers your preferences, your past decisions, or how you like things done.
- Judgement about when to interrupt. A colleague who asks about everything is as tiring as one who asks about nothing.
What stays true regardless
Local-first, permanently. The bridge binds loopback only and refuses anything
else. The agent is the claude CLI you already installed and logged into —
this project ships no model, no account, and no server of its own. Autonomy
here means your machine doing more on your behalf, not your work moving
somewhere you can't see it.
What you need
| Thing | Why |
|---|---|
| macOS or Linux, Python 3.11+ | Runs the bridge |
Claude CLI logged in (claude login) |
Claude sessions |
| Chrome | Hosts the side panel |
| Node.js 18+ | Builds the extension once |
| Cursor CLI (optional) | Cursor sessions |
| Codex CLI (optional) | Codex sessions and app-server resume/steering |
| Antigravity IDE/CLI (optional) | Antigravity headless sessions |
Verify the adapters you plan to use are available:
which claude && claude --version
which cursor-agent && cursor-agent --version # optional
which codex && codex --version # optional
1. Install the bridge
From this folder:
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
That puts devscope-bridge on PATH inside the venv.
Start it once (foreground)
devscope-bridge
# or: python -m devscope_bridge.main
It prints:
Dev Bridge started. Token: <hex>
and writes the same value to ~/.dev-bridge/token (chmod 0600). The token is
reused across restarts — you only paste it into the extension once.
Keep this terminal open, or install the macOS service in step 4.
Check:
curl http://127.0.0.1:7878/health
# {"ok":true,"version":"0.1","uptime_s":…}
Environment (optional)
| Variable | Default | Purpose |
|---|---|---|
BRIDGE_HOST |
127.0.0.1 |
Bind address. Loopback only — other hosts are rejected. |
BRIDGE_PORT |
7878 |
TCP port |
BRIDGE_EXTENSION_ID |
placeholder | Chrome origin added to CORS, e.g. chrome-extension://abcdef… |
CURSOR_BIN |
macOS Cursor.app path | Cursor CLI binary |
ORCHESTRATOR_ENABLED |
0 |
Set to 1 to start the autonomy tick loop |
Copy .env.example → devscope_bridge/.env.local if you prefer a file (gitignored).
Do not run the bridge with uvicorn --workers 2+. PTY terminals and
WebSockets live in one process. workers=1 is required.
2. Build and load the Chrome extension
cd extension
npm install
npm run build
In Chrome:
chrome://extensions- Enable Developer mode (top right)
- Load unpacked → select
extension/dist/(the built folder, notsrc/) - Copy the ID shown on the DevScope card (32 characters)
Pin the icon if you want. Click it to open the side panel.
3. Connect extension ↔ bridge
Restart the bridge so CORS trusts this install:
export BRIDGE_EXTENSION_ID="chrome-extension://PASTE_THE_ID_HERE"
devscope-bridge
In the side panel: gear (Settings) → paste:
cat ~/.dev-bridge/token
into Bridge token → Save / Test connection.
The connection pip in the header turns green when the WebSocket is live.
First chat: New chat → pick a project folder (your code) → send a message. Claude runs in that folder. For browser tools, bind the current tab with the globe control in the composer.
If it stays Offline
| Symptom | Fix |
|---|---|
/health times out or connection refused |
Bridge not running — start it, or see ~/.dev-bridge/bridge.log |
403 |
Token mismatch — paste cat ~/.dev-bridge/token again |
| Pip grey, health 200 | CORS — restart bridge with BRIDGE_EXTENSION_ID=chrome-extension://<id> |
claude not found |
which claude; LaunchAgent PATH is small — use scripts/install-macos-service.sh |
503 Browser client not connected |
Open the side panel and bind a tab |
4. Run the bridge in the background (macOS)
After the venv is installed:
chmod +x scripts/install-macos-service.sh
./scripts/install-macos-service.sh
This writes ~/Library/LaunchAgents/com.devscope.bridge.plist, starts at login,
keeps the process alive, and raises the open-files limit.
# logs
tail -f ~/.dev-bridge/bridge.log
# stop
launchctl bootout "gui/$(id -u)/com.devscope.bridge"
# start again
launchctl bootstrap "gui/$(id -u)" "$HOME/Library/LaunchAgents/com.devscope.bridge.plist"
If you rebuild the Python package, kickstart:
launchctl kickstart -k "gui/$(id -u)/com.devscope.bridge"
On Linux, install a user unit the same way (example unit in
scripts/devscope-bridge.service):
chmod +x scripts/install-linux-service.sh
./scripts/install-linux-service.sh
# logs: journalctl --user -u devscope-bridge -f
# stop: systemctl --user stop devscope-bridge
Or run under tmux if you prefer not to use systemd.
5. Browser tools (MCP)
Claude only sees browser tools if an MCP config is loaded.
Option A — this repo as the chat’s project folder
.mcp.json already lists browser-control. In DevScope → New chat →
Project = this directory.
Option B — your own repo
Copy .mcp.json into that project, then set the chat’s project path to that repo.
Option C — register globally for the Claude CLI
source .venv/bin/activate
python -m devscope_bridge.setup_mcp
claude mcp list
.mcp.json uses .venv/bin/python (relative to the repo root) so MCP
servers load the editable install on both macOS and Linux after
python3 -m venv .venv && pip install -e .. setup_mcp resolves that path
to an absolute one when registering with the Claude CLI. If you copy
.mcp.json into another project, point command at this repo's
.venv/bin/python (absolute path).
Bind a tab with the globe control in the composer. Without a bound tab,
browser tools return 503.
Autonomy layer
Beyond chat + browser + connection, the repo ships the pieces described in Where this is going. All of it is off by default — a fresh install behaves exactly like a side panel with a chat in it.
| Piece | What it does | Settings |
|---|---|---|
| Orchestrator | Tick loop, 3-tier agent hierarchy, worker dispatch, concurrency cap, quota throttling | ~/.dev-bridge/orchestrator_config.json |
| Task board | Persistent tasks, subtasks, logs, approval requests | ~/.dev-bridge/*.db |
| Schedules | Recurring runs with a learned per-site playbook | ~/.dev-bridge/*.db |
| Autonomous employee | Board sync (Notion) and reporting over panel / WhatsApp / email | ~/.dev-bridge/employee_config.json |
| Cockpits | WhatsApp, Gmail, Calendar, Meta Ads — read/act through MCP | OAuth tokens in ~/.dev-bridge/ |
Turn the orchestrator on with ORCHESTRATOR_ENABLED=1 (or via
~/.dev-bridge/orchestrator_config.json) and it starts waking agents on its
own. Read
agent_policies.py first — it is the
document that defines what an unattended worker may and may not do without
asking you. WORKER_SAFETY_POLICY is the default; the _E2E variant relaxes
sending and posting and is a deliberate choice, not a default.
OAuth tokens (if you use the cockpits) land in ~/.dev-bridge/ and must
never be committed.
Testing
source .venv/bin/activate
pip install -e ".[dev]" # pytest + pytest-asyncio
pytest
cd extension && npm ci && npm run lint && npm test
Layout
devscope_bridge/ Python package (FastAPI bridge + MCP stdio servers)
main.py App, lifespan, loopback bind
session_http.py REST: sessions, transcript, browser actions
ws_session.py Chat WebSocket
pty_ws.py Interactive terminal
session_manager*.py Claude/Cursor/Codex/Antigravity process adapters
orchestrator*.py Tick loop + pure decision logic for the agent hierarchy
agent_policies.py System prompts and the worker approval policy
task_store.py Persistent task board
extension/ Chrome MV3 side panel (Vite)
scripts/ macOS LaunchAgent + Linux systemd --user installers
.mcp.json Claude Code MCP (this repo)
Data on disk (all local):
~/.dev-bridge/token~/.dev-bridge/sessions.json~/.dev-bridge/bridge.log~/.dev-bridge/chat-transcripts/~/.dev-bridge/*.db
Tests
source .venv/bin/activate
pip install pytest
pytest
Empirical tests that spawn a real claude process stay skipped unless
RUN_EMPIRICAL=1.
Step-by-step setup guide: docs/SETUP.md (English) · docs/SETUP.he.md (עברית)
Contributing & security
PRs welcome — see CONTRIBUTING.md. To report a vulnerability, see SECURITY.md. Setup help: SUPPORT.md.
License
MIT — see LICENSE.
Privacy
DevScope MCP 질문
에이전트가 위험한 작업을 자율적으로 수행할 수 있나요?
아니요, 시스템에는 전송, 구매 또는 삭제와 같은 작업을 수행하기 전에 작업자가 반드시 승인을 요청해야 하는 명시적인 제한 사항이 포함되어 있습니다.
지원되는 운영 체제는 무엇인가요?
브릿지는 macOS 또는 Linux에서 실행되며 Python 3.11 이상 버전이 필요합니다.