seo-monster 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 (38) hide show
  1. seo_monster-0.1.0/.gitignore +33 -0
  2. seo_monster-0.1.0/.mcpbignore +46 -0
  3. seo_monster-0.1.0/DESIGN.md +716 -0
  4. seo_monster-0.1.0/LICENSE +21 -0
  5. seo_monster-0.1.0/PKG-INFO +408 -0
  6. seo_monster-0.1.0/PLAN.md +368 -0
  7. seo_monster-0.1.0/README.md +377 -0
  8. seo_monster-0.1.0/manifest.json +199 -0
  9. seo_monster-0.1.0/pyproject.toml +60 -0
  10. seo_monster-0.1.0/src/seo_mcp/__init__.py +8 -0
  11. seo_monster-0.1.0/src/seo_mcp/auth.py +61 -0
  12. seo_monster-0.1.0/src/seo_mcp/clients/__init__.py +4 -0
  13. seo_monster-0.1.0/src/seo_mcp/clients/cloudflare.py +177 -0
  14. seo_monster-0.1.0/src/seo_mcp/clients/errors.py +186 -0
  15. seo_monster-0.1.0/src/seo_mcp/clients/ga4.py +223 -0
  16. seo_monster-0.1.0/src/seo_mcp/clients/google_auth.py +84 -0
  17. seo_monster-0.1.0/src/seo_mcp/clients/gsc.py +90 -0
  18. seo_monster-0.1.0/src/seo_mcp/clients/psi.py +85 -0
  19. seo_monster-0.1.0/src/seo_mcp/config.py +157 -0
  20. seo_monster-0.1.0/src/seo_mcp/errors.py +73 -0
  21. seo_monster-0.1.0/src/seo_mcp/server.py +162 -0
  22. seo_monster-0.1.0/src/seo_mcp/tools/__init__.py +4 -0
  23. seo_monster-0.1.0/src/seo_mcp/tools/_helpers.py +62 -0
  24. seo_monster-0.1.0/src/seo_mcp/tools/cf_tools.py +349 -0
  25. seo_monster-0.1.0/src/seo_mcp/tools/ga4_tools.py +324 -0
  26. seo_monster-0.1.0/src/seo_mcp/tools/gsc_tools.py +695 -0
  27. seo_monster-0.1.0/src/seo_mcp/tools/psi_tools.py +141 -0
  28. seo_monster-0.1.0/src/seo_mcp/tools/system_status.py +147 -0
  29. seo_monster-0.1.0/tests/conftest.py +434 -0
  30. seo_monster-0.1.0/tests/test_cf_tools.py +226 -0
  31. seo_monster-0.1.0/tests/test_config.py +160 -0
  32. seo_monster-0.1.0/tests/test_errors.py +62 -0
  33. seo_monster-0.1.0/tests/test_ga4_tools.py +248 -0
  34. seo_monster-0.1.0/tests/test_gsc_tools.py +280 -0
  35. seo_monster-0.1.0/tests/test_psi_tools.py +166 -0
  36. seo_monster-0.1.0/tests/test_smoke.py +125 -0
  37. seo_monster-0.1.0/tests/test_system_status.py +226 -0
  38. seo_monster-0.1.0/uv.lock +1156 -0
@@ -0,0 +1,33 @@
1
+ # Credentials and tokens (never commit; this package ships zero secrets)
2
+ *.json
3
+ !package.json
4
+ !manifest.json
5
+ sa.json
6
+ client_secret*.json
7
+ token*.json
8
+ psi_api_key.txt
9
+ token.txt
10
+ config.toml
11
+ .config/
12
+
13
+ # Python
14
+ __pycache__/
15
+ *.py[cod]
16
+ *.egg-info/
17
+ .eggs/
18
+ build/
19
+ dist/
20
+ .venv/
21
+ venv/
22
+ .env
23
+ .env.*
24
+
25
+ # Test / tooling caches
26
+ .pytest_cache/
27
+ .mypy_cache/
28
+ .ruff_cache/
29
+ .coverage
30
+ htmlcov/
31
+
32
+ # OS
33
+ .DS_Store
@@ -0,0 +1,46 @@
1
+ # Files and directories excluded from the .mcpb archive.
2
+ # The bundle should contain only what is needed at install time:
3
+ # manifest.json, pyproject.toml, src/seo_mcp/, LICENSE, README.md, uv.lock.
4
+
5
+ # Per the execution command
6
+ tests/
7
+ dist/
8
+ .git/
9
+ .cursor/
10
+ __pycache__/
11
+ .env
12
+ .env.*
13
+
14
+ # Credential / token files (defense in depth; the .gitignore already blocks
15
+ # these, but a developer's working tree could still hold them locally).
16
+ *.pem
17
+ *.key
18
+ sa.json
19
+ client_secret*.json
20
+ token*.json
21
+ token.txt
22
+ psi_api_key.txt
23
+ .credentials/
24
+
25
+ # Build artifacts and Python tooling caches
26
+ .venv/
27
+ venv/
28
+ *.egg-info/
29
+ *.egg
30
+ build/
31
+ .pytest_cache/
32
+ .mypy_cache/
33
+ .ruff_cache/
34
+ .coverage
35
+ htmlcov/
36
+
37
+ # Internal docs not needed at runtime
38
+ DESIGN.md
39
+ PLAN.md
40
+
41
+ # OS noise
42
+ .DS_Store
43
+ Thumbs.db
44
+
45
+ # The bundle itself (in case it is re-packed in place)
46
+ *.mcpb