Knowledge graph for token-efficient code reviews -- semantic search and call-graph resolution across your codebase.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
build
Full or incremental graph build. Set full_rebuild=true to re-parse all files.
-
cache_clear
Remove all computed embeddings.
-
embed
Compute vector embeddings for semantic search. Dual-mode: local ONNX or cloud.
-
export
Export graph in graphml / json-ld / dot / cypher. Inline or to output_path.
-
impact
Blast radius of changed files. Auto-detects from git diff. Paginated with max_results.
-
large_functions
Find functions/classes exceeding a line-count threshold.
-
query
Predefined pattern queries: callers_of, callees_of, imports_of, importers_of, children_of, tests_for, inheritors_of, file_summary.
-
report
Re-emit cached findings as JSON (format='json') or SARIF v2.1.0 (format='sarif').
-
rule_list
List available rules for an engine.
-
scan
Run a security scan (engine='heuristic' default, or 'semgrep'). Findings persist on nodes.security_tags.
-
search
Search code entities by name/keyword or semantic similarity.
-
set
Update runtime settings (e.g., log_level).
-
setup_complete
Re-resolve credentials from environment variables.
-
setup_reset
Clear credentials and reset state.
-
setup_skip
Set local mode (skip relay permanently, use ONNX only).
-
setup_start
Start relay setup to configure API keys via browser.
-
setup_status
Show current credential state and setup URL.
-
stats
Graph size, languages, node/edge breakdown, embedding count.
-
status
Server info: version, graph path, node/edge counts, embedding backend.
-
summarize
LLM-generated one-paragraph docstrings for Function nodes (Gemini or OpenAI, cloud opt-in). Cost-capped via max_nodes.
-
suppress
Suppress a finding by rule_id (or remove=true to un-suppress).
-
update
Alias for build with full_rebuild=false (incremental).
analyzed commit 5108c36 · analyzer v18 · 1h ago
skills & prompt files 8
- skilln24q02m-better-code-review-graph-5108c36/.agents/skills/build-graph/SKILL.md
- skilln24q02m-better-code-review-graph-5108c36/.agents/skills/review-delta/SKILL.md
- skilln24q02m-better-code-review-graph-5108c36/.agents/skills/review-pr/SKILL.md
- agent-rulesn24q02m-better-code-review-graph-5108c36/AGENTS.md
- agent-rulesn24q02m-better-code-review-graph-5108c36/CLAUDE.md
- skilln24q02m-better-code-review-graph-5108c36/skills/refactor-check/SKILL.md
- skilln24q02m-better-code-review-graph-5108c36/skills/review-delta/SKILL.md
- skilln24q02m-better-code-review-graph-5108c36/skills/review-pr/SKILL.md
filesystem 20
- fs n24q02m-better-code-review-graph-5108c36/migrations/versions/005_temporal_columns.py :67
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/scripts/preserve-diacritics.py :22
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/scripts/test_preserve_diacritics.py :15
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/credential_state.py :27
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/embeddings.py :32
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/federation.py :22
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/graph.py :10
import shutil - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/incremental.py :12
import shutil - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/parser.py :13
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/resolver/__init__.py :18
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/resolver/_types.py :14
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/resolver/fallback.py :32
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/resolver/go.py :29
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/resolver/java.py :31
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/resolver/python.py :28
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/resolver/rust.py :31
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/resolver/typescript.py :27
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/security/heuristic.py :18
from pathlib import Path - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/security/semgrep_engine.py :17
import shutil - fs n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/tools.py :18
from pathlib import Path
shell / exec 5
- shell n24q02m-better-code-review-graph-5108c36/scripts/preserve-diacritics.py :19
import subprocess - shell n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/federation.py :19
import subprocess - shell n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/incremental.py :13
import subprocess - shell n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/security/semgrep_engine.py :18
import subprocess - shell n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/tools.py :1755
import subprocess
network 1
- net n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/relay_setup.py :119
import httpx
secrets 1
- secrets n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/server.py :982
if not os.environ.get("MCP_DCR_SERVER_SECRET"):
database 8
- db n24q02m-better-code-review-graph-5108c36/migrations/env.py :17
from sqlalchemy import engine_from_config, pool - db n24q02m-better-code-review-graph-5108c36/migrations/versions/001_baseline.py :33
import sqlalchemy as sa - db n24q02m-better-code-review-graph-5108c36/migrations/versions/003_federation.py :44
import sqlalchemy as sa - db n24q02m-better-code-review-graph-5108c36/migrations/versions/004_security_tags.py :46
import sqlalchemy as sa - db n24q02m-better-code-review-graph-5108c36/migrations/versions/005_temporal_columns.py :69
import sqlalchemy as sa - db n24q02m-better-code-review-graph-5108c36/migrations/versions/006_commits_table.py :42
import sqlalchemy as sa - db n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/embeddings.py :29
import sqlite3 - db n24q02m-better-code-review-graph-5108c36/src/better_code_review_graph/graph.py :11
import sqlite3
declared dependencies 10
- mcp@>=1.27.2,<2
- fastmcp@>=3.4.2,<4
- tree-sitter@>=0.25.2,<1
- tree-sitter-language-pack@>=0.13.0,<1
- networkx@>=3.6.1,<4
- watchdog@>=4.0.2,<6
- qwen3-embed@>=1.12.0b2
- httpx@*
- pydantic-settings@*
- semgrep@>=1.0,<1.162