github Python analyzed dbb81c7 unconfirmed MCP

gregdigittal/depthfusion

github

MCP-native shared memory for Claude Code agents — hybrid BM25+vector+RRF recall, cross-session continuity, cognitive scoring, knowledge graph. Self-hosted, $0/query. 30 MCP tools.

maintainer
gregdigittal
license
MIT
first seen
2026-06-21
last seen
2026-07-21
releases · 30d
3
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged committed secret ×2 in gregdigittal/depthfusion
  2. HIGH code analysis flagged dynamic code execution in gregdigittal/depthfusion
  3. HIGH code analysis flagged dynamic code execution in gregdigittal/depthfusion
  4. HIGH code analysis flagged dynamic code execution in gregdigittal/depthfusion
capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit dbb81c7 · analyzer v28 · 3h ago

skills & prompt files 16

danger signals2

code evidence vv2.3.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 631

filesystem 85

  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/analytics/aggregation.py :15 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/analytics/collector.py :22 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/analytics/router.py :36 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/analytics/store.py :15 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/analyzer/compatibility.py :5 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/analyzer/installer.py :15 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/analyzer/scanner.py :5 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/api/admin_console.py :49 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/api/query.py :20 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/api/role_admin.py :35 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/audit/log.py :46 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/authz/label_mapping.py :24 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/authz/roles.py :18 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cache/activity_signals.py :29 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cache/hit_rate.py :22 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cache/manager.py :21 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/capture/auto_learn.py :23 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/capture/compressor.py :11 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/capture/decay.py :39 import shutil
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/capture/decision_extractor.py :21 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/capture/dedup.py :42 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/capture/event_hook.py :11 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/capture/negative_extractor.py :21 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/capture/pruner.py :38 import shutil
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cli/devices.py :17 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cli/migrate.py :34 import shutil
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cli/roles.py :32 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cognitive/offloader.py :20 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cognitive/persona.py :23 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/cognitive/scenario.py :31 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/connectors/sharepoint.py :42 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/connectors/sharepoint_scheduler.py :14 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/connectors/sharepoint_scope.py :20 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/connectors/sharepoint_state.py :14 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/config.py :10 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/event_store.py :19 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/feedback.py :22 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/file_locking.py :20 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/hit_tracker.py :8 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/project_context.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/project_ingest.py :9 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/project_registry.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/research.py :9 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/graph/scope.py :6 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/graph/store.py :9 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/hooks/git_post_commit.py :31 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/hooks/post_tool_use.py :23 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/hooks/session_start.py :18 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/identity/device_registry.py :28 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/identity/principal_store.py :20 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/ingest/parser.py :27 import pathlib
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/ingest/pipeline.py :31 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/dep_checker.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/gpu_probe.py :20 import shutil
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/install.py :29 import shutil
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/migrate.py :5 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/smoke.py :28 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/ui_server.py :24 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/http_server.py :254 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/_shared.py :9 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/_state.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/capture.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/graph.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/project.py :6 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/recall.py :149 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/telemetry.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/metrics/aggregator.py :12 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/metrics/collector.py :47 on a fresh `open(path, "a")` file descriptor. Because each caller opens
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/parsers/documents/base.py :35 store = QuarantineStore(persist_dir=pathlib.Path("data/quarantine"))
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/parsers/documents/ocr.py :72 image = Image.open(io.BytesIO(data))
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/parsers/documents/pdf.py :66 with pdfplumber.open(io.BytesIO(content_bytes)) as pdf:
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/recursive/sandbox.py :6 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/retrieval/hnsw_store.py :56 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/router/bus.py :18 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/session/loader.py :4 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/session/tagger.py :10 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/event_log.py :6 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/file_index.py :9 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/memory_store.py :8 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/telemetry_store.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/tier_manager.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/vector_store.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/telemetry/recorder.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/src/depthfusion/telemetry/schema.py :7 from pathlib import Path
  • fs gregdigittal-depthfusion-dbb81c7/tools/bench_cat_d.py :22 from pathlib import Path

shell / exec 10

  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/analyzer/installer.py :14 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/analyzer/scanner.py :4 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/api/rest.py :19 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/project_context.py :4 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/hooks/git_post_commit.py :28 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/hooks/post_tool_use.py :21 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/hooks/session_start.py :16 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/gpu_probe.py :21 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/install.py :30 import subprocess
  • shell gregdigittal-depthfusion-dbb81c7/src/depthfusion/recursive/sandbox.py :4 import subprocess

network 12

  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/backends/gemma.py :7 Transport: stdlib `urllib.request` posting JSON to vLLM's
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/backends/openrouter.py :6 import socket
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/cognitive/distillation_client.py :30 import httpx
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/connectors/sharepoint.py :228 import requests
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/project_ingest.py :6 import urllib.error
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/research.py :6 import urllib.parse
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/identity/device_keychain.py :51 import httpx
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/identity/jwks_cache.py :18 import httpx
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/identity/oidc_client.py :31 from urllib.parse import urlencode
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/skillforge_client.py :17 import urllib.error
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/system.py :72 import socket
  • net gregdigittal-depthfusion-dbb81c7/src/depthfusion/recursive/client.py :21 import urllib.error

secrets 11

  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/api/auth.py :130 api_token = os.getenv("DEPTHFUSION_API_TOKEN", "").strip()
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/api/rest.py :65 if not os.getenv("DEPTHFUSION_API_TOKEN", ""):
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/backends/haiku.py :101 resolved_key = api_key if api_key is not None else os.environ.get("DEPTHFUSION_API_KEY")
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/config.py :198 skillforge_api_token=os.environ.get("DEPTHFUSION_SKILLFORGE_API_TOKEN", ""),
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/project_ingest.py :107 token = os.environ.get('GITHUB_TOKEN', '')
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/research.py :154 github_token = os.environ.get('GITHUB_TOKEN', '')
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/identity/device_keychain.py :178 import keyring # type: ignore[import-untyped]
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/install/install.py :181 import getpass
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/http_server.py :147 static_token = os.getenv("DEPTHFUSION_MCP_TOKEN", "")
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/skillforge_client.py :38 api_key = os.getenv("DEPTHFUSION_SKILLFORGE_API_KEY", "")
  • secrets gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/tools/system.py :166 key = os.environ.get("OPENROUTER_API_KEY")

database 19

  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/analytics/store.py :13 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/api/admin_console.py :46 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/audit/log.py :40 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/authz/roles.py :13 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/cache/activity_signals.py :25 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/cache/hit_rate.py :19 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/cache/lease_lifecycle.py :45 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/cache/manager.py :19 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/cli/migrate.py :35 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/core/event_store.py :140 import redis.asyncio as aioredis # type: ignore[import-untyped]
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/graph/store.py :7 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/identity/device_registry.py :22 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/identity/principal_store.py :16 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/mcp/http_server.py :351 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/file_index.py :6 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/memory_store.py :5 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/storage/telemetry_store.py :4 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/sync/engine.py :37 import sqlite3
  • db gregdigittal-depthfusion-dbb81c7/src/depthfusion/telemetry/schema.py :5 import sqlite3

declared dependencies 61

  • numpy@>=1.24
  • openpyxl@>=3.1
  • python-pptx@>=0.6
  • pyyaml@>=6.0
  • structlog@>=24.0
  • anthropic@>=0.40
  • chromadb@>=1.0
  • fastapi@>=0.100
  • uvicorn@>=0.23
  • Mako@>=1.3.12
  • PyJWT@>=2.13.0
  • Pygments@>=2.20.0
  • Markdown@>=3.8.1
  • starlette@>=1.3.1
  • pydantic-settings@>=2.14.2
  • sentence-transformers@>=2.2
  • hnswlib@>=0.7
  • mlx-lm@>=0.18
  • rlms@*
  • pytesseract@>=0.3
  • Pillow@>=10.0
  • rapidocr_onnxruntime@>=1.3; python_version>=
  • redis@>=5.0
  • pytest@>=8.0
  • pytest-asyncio@>=0.23
  • pytest-cov@>=5.0
  • pytest-timeout@>=2.3
  • mypy@>=1.0
  • ruff@>=0.4
  • types-PyYAML@>=6.0.0
  • httpx@>=0.27
  • pypdf@>=3.0
  • pdfplumber@>=0.11
  • pdfminer.six@>=20221105
  • reportlab@>=4.0
  • cryptography@>=49.0.0
  • python-docx@>=0.8
  • msal@>=1.0
  • tauri-build@2.6.2
  • serde_json@1.0
  • serde@1.0
  • log@0.4
  • tauri@2.11.2
  • tauri-plugin-log@2
  • tauri-plugin-shell@2
  • tauri-plugin-deep-link@2
  • tauri-plugin-opener@2
  • base64@0.22
  • rand@0.8
  • sha2@0.10
  • url@2
  • tokio@1
  • once_cell@1
  • reqwest@0.12
  • keyring@3
  • tauri-plugin-updater@2
  • tauri-plugin-store@2
  • rusqlite@0.32
  • hmac@0.12
  • zeroize@1
  • mockito@1