oculus-scoped-observation
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@oculus-scoped-observationread the selected region on the dashboard"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Oculus — Scoped Observation for AI Agents
사용자가 Chrome에서 선택한 화면 영역만 AI 에이전트가 읽도록 만드는 로컬 관측 도구입니다.
AI에게 현재 웹 화면을 보여주고 싶지만, 브라우저 전체나 선택하지 않은 정보까지 넘기고 싶지는 않을 때 사용합니다.
사용자가 영역을 직접 선택하고 실제 전송 내용을 검토한 뒤 승인하면, Codex·Claude Code·Cursor 같은 AI 클라이언트가 그 영역의 이미지·텍스트·변경점만 읽을 수 있습니다. AI가 브라우저를 클릭하거나 입력하지는 못합니다.
케이스 스터디 · 최신 평가 결과 · 평가 기준 · 설계 · 증거 현황
30초 이해
사용자가 Chrome 영역 선택
→ 실제 전송될 이미지·텍스트 검토
→ 공유 승인
→ AI가 선택 영역만 읽음
→ 스크롤·탭 전환·중지 시 관측이 멈추거나 삭제됨예를 들어 대시보드에서 지표 카드 하나만 AI에게 분석시키고 싶다고 가정합니다. 카드 아래에는 선택하면 안 되는 정보가 있습니다.

파란 테두리 안의 카드만 전송 대상입니다. 화면 아래의 OUTSIDE_SECRET_CANARY_8F42는 선택 밖 정보가 섞이지 않는지 검증하기 위한 값이며, 실제 관측 데이터에는 들어가지 않습니다.
공유 후에도 사용자는 AI가 보는 범위, 마지막 전송 시각, 실제 전송 데이터, 일시정지와 중지 버튼을 계속 확인할 수 있습니다.

Related MCP server: Chrome Extension MCP Bridge
무엇을 만들었나
Oculus는 제품 프로토타입과 평가 시스템으로 구성됩니다.
구성 | 역할 |
Chrome 확장 | 영역 선택, 전송 전 검토, 이미지 crop, 제한적 민감 입력 가림 |
로컬 브리지 |
|
읽기 전용 MCP | AI 클라이언트가 현재 영역·이미지·변경점을 읽는 네 가지 도구 |
Playwright 평가 | 실제 Chromium·확장·브리지를 함께 실행해 ground truth와 비교 |
Fault matrix | 잘못된 결과를 일부러 넣어 평가기가 실제로 실패하는지 검증 |
AI에게 제공되는 MCP 도구는 모두 읽기 전용입니다.
도구 | AI가 읽는 것 |
| 현재 활성 영역 |
| 최신 또는 직전 관측의 텍스트·UI 의미 정보 |
| 사용자가 선택한 crop 이미지 |
| 특정 버전 이후의 변경점 |
클릭·입력·파일 변경·외부 네트워크 쓰기 도구는 제공하지 않습니다.
검증된 결과
버전된 결과는 reports/에 저장되어 있으며, 누구나 같은 명령으로 다시 생성할 수 있습니다.
평가 | 현재 결과 |
실제 Chrome E2E 결과 | 30 / 30 통과 |
선택 밖 canary 직렬화 누출 | 0건 |
DOM text exact F1 | 1.000 |
접근성 element exact F1 | 1.000 |
의도적으로 주입한 결함 탐지 | 5 / 5 |
30개 결과의 구성:
observation 18개
transition 4개
lifecycle 8개
범위 경계, password·OTP·payment 가림, 악성 지시 문구, ARIA, hidden DOM, disabled control, 링크, input, contenteditable, pause, stop, 재선택, 탭 전환
평가기 자체가 모든 결과를 통과시키는 것은 아닌지 확인하기 위해 다음 결함을 주입합니다.
선택 밖 canary 혼입
값은 바뀌었지만 sequence가 증가하지 않는 stale state
중지 후 bridge region 잔존
password redaction 누락
필요한 change event 누락
각 실행 보고서에는 Git commit, dirty state, Node·OS·Playwright·MCP SDK 버전, payload 크기와 제한된 latency 표본이 함께 기록됩니다.
왜 이 프로젝트를 만들었나
AI 제품에서는 모델 호출 이전의 입력 경계도 품질 문제입니다.
AI가 실제로 어떤 범위를 받았는가?
선택 밖 정보가 섞이지 않았는가?
화면이 바뀌었는데 오래된 관측을 최신처럼 사용하지 않는가?
중지한 관측이 다시 살아나지 않는가?
정상 케이스뿐 아니라 잘못된 결과도 평가기가 잡아내는가?
Oculus는 이 질문을 UI 설명이 아니라 재현 가능한 browser E2E, ground truth, hard gate, fault injection으로 답하는 포트폴리오 프로젝트입니다.
구조
flowchart LR
U["사용자\n선택·검토·승인·중지"] --> E["Chrome 확장"]
P["신뢰하지 않는 웹페이지"] --> E
E -->|"선택 crop + 완전히 포함된 의미 정보"| B["로컬 브리지\n127.0.0.1"]
B --> M["읽기 전용 MCP 4개"]
M --> A["Codex · Claude Code · Cursor"]
F["통제된 fixture와 ground truth"] --> T["Playwright 평가"]
E --> T
B --> T
T --> R["버전된 JSON 결과"]배포용 확장은 activeTab, scripting, storage만 요청합니다. Playwright는 Chrome의 실제 activeTab 사용자 제스처를 만들 수 없으므로, 자동화 과정에서 삭제되는 임시 확장에만 <all_urls>를 추가합니다. 배포 manifest의 최소 권한은 별도 contract test로 검증합니다.
직접 검증하기
요구사항: Node.js 20+, npm, Playwright Chromium
git clone https://github.com/Merchantlee99/oculus-scoped-observation.git
cd oculus-scoped-observation
npm ci
npx playwright install chromium
npm run portfolio:verify증거를 다시 버전된 문서와 이미지로 반영하려면:
npm run evidence:publish세부 재현 절차와 예상 출력은 docs/reproduction.md에 있습니다.
이 프로젝트가 주장하지 않는 것
현재 평가는 통제된 fixture에서 관측 레이어를 검증합니다. 따라서 다음을 주장하지 않습니다.
모든 웹사이트에서 임의의 픽셀이 절대 유출되지 않는다
모든 민감정보를 자동 탐지한다
웹페이지 prompt injection을 완전히 막는다
VLM/OCR이 화면을 정확히 이해한다
운영 환경의 production security audit이 끝났다
Codex·Claude Code·Cursor 실제 제품 호환 검증이 모두 완료됐다
정확한 통과 범위와 미검증 항목은 평가 카드와 증거 현황에 분리해 기록합니다.
저장소 구성
apps/chrome-extension/ 선택·검토·crop·redaction·lifecycle UI
apps/local-bridge/ loopback 인증, bounded memory store, MCP server
evals/corpus/ 버전된 ground truth
evals/src/ observation·transition·lifecycle scorer
tests/e2e/ 실제 Chrome 확장 + 로컬 bridge 평가
tests/fixtures/ canary가 포함된 통제 브라우저 페이지
reports/ 공개할 JSON 결과와 요약
docs/ 설계·위협 모델·케이스 스터디·재현 절차Security and license
이 저장소는 포트폴리오·연구용 소프트웨어이며 production 보안 통제가 아닙니다. 실제 비밀정보나 개인 화면을 public issue에 첨부하지 마세요.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceMCP browser agent that runs as a Chrome extension. Control your real Chrome browser with 17 MCP tools — uses accessibility tree with @ref labels for low token usage. Supports WebMCP native tools.Last updated20MIT
- Flicense-qualityDmaintenanceEnables AI agents to control the Google Chrome browser through a Node.js WebSocket bridge and a dedicated browser extension. It provides tools for capturing screenshots, executing JavaScript, managing tabs, and extracting page content via the MCP protocol.Last updated1
- Alicense-qualityCmaintenanceLets AI coding agents control and inspect a live Chrome browser via MCP, providing Chrome DevTools capabilities for automation, debugging, and performance analysis.Last updated56Apache 2.0
- AlicenseAqualityAmaintenancesemantic browser observation for AI agents via MCP, 100% local, zero telemetryLast updated12207MIT
Related MCP Connectors
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Merchantlee99/oculus-scoped-observation'
If you have feedback or need assistance with the MCP directory API, please join our Discord server