Add scout MCP server for browser recon + msgspec workspace dep
- tools/scout/: browser automation MCP server using Pydoll (CDP, no WebDriver) - scout_visit, scout_elements (text-first), scout_click, scout_fill, scout_select - scout_scroll, scout_text, scout_screenshot (opt-in) - scout_har_start / scout_har_stop (asyncio task holds recording context open) - scout_analyze: HAR parsing with HarEntry/HarSummary msgspec structs - Standalone project (not workspace member — websockets conflict with prefect) - Runs via: uv run --directory tools/scout scout-server - .mcp.json: registers scout as Claude Code MCP server (project scope) - msgspec>=0.19 added to root project deps (workspace-wide struct/validation) - coding_philosophy.md: document msgspec as approved dep, usage rules Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -201,6 +201,13 @@ active_users = [u for u in users if u.is_active()]
|
||||
- Small, focused libraries
|
||||
- Direct solutions
|
||||
- Understanding what code does
|
||||
|
||||
**Approved dependencies (earn their place):**
|
||||
- `msgspec` — struct types and validation at system boundaries (external APIs, user input,
|
||||
inter-process data). Use `msgspec.Struct` instead of dataclasses when you need: fast
|
||||
encode/decode, built-in validation, or typed containers for boundary data.
|
||||
**Rule:** use Structs at boundaries (API responses, HAR entries, MCP tool I/O) —
|
||||
keep internal plumbing as plain dicts/tuples.
|
||||
</question_dependencies>
|
||||
|
||||
</architecture_principles>
|
||||
|
||||
Reference in New Issue
Block a user