stealth-chrome-devtools-mcp 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. stealth_chrome_devtools_mcp-0.1.0/.github/workflows/test.yml +66 -0
  2. stealth_chrome_devtools_mcp-0.1.0/.gitignore +10 -0
  3. stealth_chrome_devtools_mcp-0.1.0/LICENSE +661 -0
  4. stealth_chrome_devtools_mcp-0.1.0/MCP_TOOL_TEST_RESULTS.md +380 -0
  5. stealth_chrome_devtools_mcp-0.1.0/PKG-INFO +243 -0
  6. stealth_chrome_devtools_mcp-0.1.0/README.md +204 -0
  7. stealth_chrome_devtools_mcp-0.1.0/assets/demos/captcha-bypass.mp4 +0 -0
  8. stealth_chrome_devtools_mcp-0.1.0/assets/demos/persistent-sessions.mp4 +0 -0
  9. stealth_chrome_devtools_mcp-0.1.0/examples/claude.mcp.json +19 -0
  10. stealth_chrome_devtools_mcp-0.1.0/examples/codex.config.toml +15 -0
  11. stealth_chrome_devtools_mcp-0.1.0/mcp.json +13 -0
  12. stealth_chrome_devtools_mcp-0.1.0/pyproject.toml +69 -0
  13. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/__init__.py +3 -0
  14. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/__init__.py +0 -0
  15. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/browser_manager.py +1324 -0
  16. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/cdp_element_cloner.py +321 -0
  17. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/cdp_function_executor.py +842 -0
  18. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/comprehensive_element_cloner.py +344 -0
  19. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/debug_logger.py +498 -0
  20. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/dom_handler.py +714 -0
  21. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/dynamic_hook_ai_interface.py +343 -0
  22. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/dynamic_hook_system.py +522 -0
  23. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/element_cloner.py +648 -0
  24. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/file_based_element_cloner.py +637 -0
  25. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/hook_learning_system.py +566 -0
  26. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/js/comprehensive_element_extractor.js +262 -0
  27. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/js/extract_animations.js +86 -0
  28. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/js/extract_assets.js +102 -0
  29. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/js/extract_events.js +108 -0
  30. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/js/extract_related_files.js +91 -0
  31. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/js/extract_structure.js +71 -0
  32. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/js/extract_styles.js +95 -0
  33. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/models.py +203 -0
  34. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/network_interceptor.py +606 -0
  35. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/persistent_storage.py +95 -0
  36. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/platform_utils.py +357 -0
  37. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/process_cleanup.py +981 -0
  38. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/progressive_element_cloner.py +265 -0
  39. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/proxy_forwarder.py +439 -0
  40. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/proxy_utils.py +121 -0
  41. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/response_handler.py +106 -0
  42. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/response_stage_hooks.py +148 -0
  43. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/embedded/server.py +3687 -0
  44. stealth_chrome_devtools_mcp-0.1.0/src/stealth_chrome_devtools_mcp/server.py +22 -0
  45. stealth_chrome_devtools_mcp-0.1.0/tests/conftest.py +91 -0
  46. stealth_chrome_devtools_mcp-0.1.0/tests/stress_memory_leak.py +261 -0
  47. stealth_chrome_devtools_mcp-0.1.0/tests/test_browser_integration.py +442 -0
  48. stealth_chrome_devtools_mcp-0.1.0/tests/test_cdp_timeout.py +505 -0
  49. stealth_chrome_devtools_mcp-0.1.0/tests/test_close_noise_filter.py +77 -0
  50. stealth_chrome_devtools_mcp-0.1.0/tests/test_element_cloner_output_dir.py +101 -0
  51. stealth_chrome_devtools_mcp-0.1.0/tests/test_exception_handling.py +413 -0
  52. stealth_chrome_devtools_mcp-0.1.0/tests/test_execute_script_guard.py +133 -0
  53. stealth_chrome_devtools_mcp-0.1.0/tests/test_packaging.py +44 -0
  54. stealth_chrome_devtools_mcp-0.1.0/tests/test_process_cleanup.py +452 -0
  55. stealth_chrome_devtools_mcp-0.1.0/tests/test_profile_resolution.py +350 -0
  56. stealth_chrome_devtools_mcp-0.1.0/tests/test_stealth_args.py +211 -0
  57. stealth_chrome_devtools_mcp-0.1.0/uv.lock +1819 -0
@@ -0,0 +1,66 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main, dev]
6
+ pull_request:
7
+ branches: [main, dev]
8
+
9
+ jobs:
10
+ unit-tests:
11
+ name: Unit Tests
12
+ runs-on: ubuntu-latest
13
+ strategy:
14
+ matrix:
15
+ python-version: ["3.11", "3.12", "3.13"]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Install uv
21
+ uses: astral-sh/setup-uv@v4
22
+
23
+ - name: Set up Python ${{ matrix.python-version }}
24
+ run: uv python install ${{ matrix.python-version }}
25
+
26
+ - name: Install dependencies
27
+ run: uv sync --extra test
28
+
29
+ - name: Run unit tests
30
+ run: uv run pytest -m "not integration" -v --tb=short
31
+
32
+ integration-tests:
33
+ name: Integration Tests
34
+ runs-on: ubuntu-latest
35
+ needs: unit-tests
36
+
37
+ steps:
38
+ - uses: actions/checkout@v4
39
+
40
+ - name: Install uv
41
+ uses: astral-sh/setup-uv@v4
42
+
43
+ - name: Set up Python 3.12
44
+ run: uv python install 3.12
45
+
46
+ - name: Install Chrome and Xvfb
47
+ run: |
48
+ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --batch --yes --dearmor -o /usr/share/keyrings/google-chrome.gpg
49
+ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
50
+ sudo apt-get update -qq
51
+ sudo apt-get install -y -qq google-chrome-stable xvfb
52
+ google-chrome --version
53
+
54
+ - name: Start virtual display
55
+ run: |
56
+ Xvfb :99 -screen 0 1920x1080x24 -ac +extension GLX +render -noreset &
57
+ sleep 3
58
+
59
+ - name: Install dependencies
60
+ run: uv sync --extra test
61
+
62
+ - name: Run integration tests
63
+ run: uv run pytest -m integration -v --tb=short --timeout=120
64
+ env:
65
+ DISPLAY: ":99"
66
+ STEALTH_MCP_BROWSER_SESSION_ROOT: /tmp/stealth-mcp-test
@@ -0,0 +1,10 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ .venv/
5
+ dist/
6
+ build/
7
+ .pytest_cache/
8
+ .ruff_cache/
9
+ .mypy_cache/
10
+ .env