Scan timing: clone 1.71s · analysis 11.23s · 0.4 MB · GitHub preflight 651ms
https://github.com/noelrim/midnight-mcp
· scanned 2026-06-19 19:49 UTC (1 month, 1 week ago)
· 10 languages
57 raw signals (40 security + 17 graph) 30th percentile · Python · tiny (<2K LoC) System graph score 69 (lower by 4)
Last scanned 1 month, 1 week ago · v1 · 57 actionable findings from 2 signal sources. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
90.0 | 0.15 | 13.50 |
security_score |
55.6 | 0.25 | 13.90 |
testing_score |
70.0 | 0.20 | 14.00 |
documentation_score |
40.0 | 0.15 | 6.00 |
practices_score |
72.0 | 0.15 | 10.80 |
code_quality |
68.0 | 0.10 | 6.80 |
| Overall | 1.00 | 65.0 |
All 316 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
modelNameToSlug |
software | healthy | cli.mjs:modelNameToSlug |
progress |
software | healthy | cli.mjs:progress |
createStepProgressTracker |
software | healthy | cli.mjs:createStepProgressTracker |
clampFraction |
software | healthy | cli.mjs:clampFraction |
overallFraction |
software | healthy | cli.mjs:overallFraction |
etaSeconds |
software | healthy | cli.mjs:etaSeconds |
elapsed |
software | healthy | cli.mjs:elapsed |
render |
software | healthy | cli.mjs:render |
begin |
software | healthy | cli.mjs:begin |
update |
software | healthy | cli.mjs:update |
complete |
software | healthy | cli.mjs:complete |
pause |
software | healthy | cli.mjs:pause |
finish |
software | healthy | cli.mjs:finish |
formatBytes |
software | healthy | cli.mjs:formatBytes |
formatDuration |
software | healthy | cli.mjs:formatDuration |
formatTransferLine |
software | healthy | cli.mjs:formatTransferLine |
formatTransferStartedLine |
software | healthy | cli.mjs:formatTransferStartedLine |
formatTransferDoneLine |
software | healthy | cli.mjs:formatTransferDoneLine |
printInlineProgress |
software | healthy | cli.mjs:printInlineProgress |
run |
software | healthy | cli.mjs:run |
stderr |
software | healthy | cli.mjs:stderr |
hasCommand |
software | healthy | cli.mjs:hasCommand |
isCodexInstalled |
software | healthy | cli.mjs:isCodexInstalled |
isClaudeInstalled |
software | healthy | cli.mjs:isClaudeInstalled |
isNodeDependencyInstalled |
software | healthy | cli.mjs:isNodeDependencyInstalled |
canImportPackageFromPackageRoot |
software | healthy | cli.mjs:canImportPackageFromPackageRoot |
ensureDependenciesForCommand |
software | healthy | cli.mjs:ensureDependenciesForCommand |
promptLine |
software | healthy | cli.mjs:promptLine |
copyDir |
software | healthy | cli.mjs:copyDir |
ensureWorkspaceIndexServerScript |
software | healthy | cli.mjs:ensureWorkspaceIndexServerScript |
resetDir |
software | healthy | cli.mjs:resetDir |
wildcardToRegex |
software | healthy | cli.mjs:wildcardToRegex |
findDownloadedFile |
software | healthy | cli.mjs:findDownloadedFile |
extractArchive |
software | healthy | cli.mjs:extractArchive |
createTarFromDirectory |
software | healthy | cli.mjs:createTarFromDirectory |
ensureDirectoryHasFilesRecursive |
software | healthy | cli.mjs:ensureDirectoryHasFilesRecursive |
walk |
software | healthy | cli.mjs:walk |
currentDateTag |
software | healthy | cli.mjs:currentDateTag |
ensureDirectoryHasFiles |
software | healthy | cli.mjs:ensureDirectoryHasFiles |
ensureReleaseExists |
software | healthy | cli.mjs:ensureReleaseExists |
buildBundlePaths |
software | healthy | cli.mjs:buildBundlePaths |
installIndexBundlesFromFiles |
software | healthy | cli.mjs:installIndexBundlesFromFiles |
readJsonIfExists |
software | healthy | cli.mjs:readJsonIfExists |
normalizeEmbedOptions |
software | healthy | cli.mjs:normalizeEmbedOptions |
detectEmbeddingConfigFromIndexState |
software | healthy | cli.mjs:detectEmbeddingConfigFromIndexState |
detectModelFromIndexState |
software | healthy | cli.mjs:detectModelFromIndexState |
gitOutput |
software | healthy | cli.mjs:gitOutput |
value |
software | healthy | cli.mjs:value |
isGitRepo |
software | healthy | cli.mjs:isGitRepo |
normalizeFingerprintRepoPath |
software | healthy | cli.mjs:normalizeFingerprintRepoPath |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
ARCHITECTURE.md |
software | healthy | ARCHITECTURE.md |
README.md |
software | healthy | README.md |
cli.mjs |
software | healthy | cli.mjs |
package.json |
software | healthy | package.json |
server.mjs |
software | healthy | server.mjs |
package-lock.json |
software | healthy | package-lock.json |
INSTALL.md |
software | healthy | INSTALL.md |
validation.test.mjs |
software | healthy | tests/validation.test.mjs |
smoke.test.mjs |
software | healthy | tests/smoke.test.mjs |
repo-sync.test.mjs |
software | healthy | tests/repo-sync.test.mjs |
SKILL.md |
software | healthy | assets/claude-skill/SKILL.md |
mcp-query-patterns.md |
software | healthy | assets/claude-skill/references/mcp-query-patterns.md |
midnight_architecture_layers.json |
software | healthy | assets/architecture/midnight_architecture_layers.json |
SKILL.md |
software | healthy | assets/codex-skill/SKILL.md |
mcp-query-patterns.md |
software | healthy | assets/codex-skill/references/mcp-query-patterns.md |
CLAUDE.md |
software | healthy | assets/claude/CLAUDE.md |
fs-utils.mjs |
software | healthy | lib/fs-utils.mjs |
args.mjs |
software | healthy | lib/args.mjs |
validation.mjs |
software | healthy | lib/validation.mjs |
terminal.mjs |
software | healthy | lib/terminal.mjs |
workspace.mjs |
software | healthy | lib/workspace.mjs |
drive-assets.mjs |
software | healthy | lib/commands/drive-assets.mjs |
help.mjs |
software | healthy | lib/commands/help.mjs |
doctor.mjs |
software | healthy | lib/commands/doctor.mjs |
setup.mjs |
software | healthy | lib/commands/setup.mjs |
repo-sync.mjs |
software | healthy | lib/commands/repo-sync.mjs |
helpers.mjs |
software | healthy | lib/drive/helpers.mjs |
index_server.py |
software | healthy | query/index_server.py |
requirements.txt |
software | healthy | query/requirements.txt |
assets/claude-skill/SKILL.md |
quality | healthy | assets/claude-skill/SKILL.md |
assets/codex-skill/SKILL.md |
quality | healthy | assets/codex-skill/SKILL.md |
assets/claude/CLAUDE.md |
quality | healthy | assets/claude/CLAUDE.md |
midnight-mcp-assistant |
security | healthy | assets/claude-skill |
midnight-mcp-assistant |
security | healthy | assets/codex-skill |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
assets |
software | healthy | assets |
claude-skill |
software | healthy | assets/claude-skill |
references |
software | healthy | assets/claude-skill/references |
architecture |
software | healthy | assets/architecture |
codex-skill |
software | healthy | assets/codex-skill |
references |
software | healthy | assets/codex-skill/references |
claude |
software | healthy | assets/claude |
lib |
software | healthy | lib |
commands |
software | healthy | lib/commands |
drive |
software | healthy | lib/drive |
query |
software | healthy | query |
| Label | Layer | Status | Path |
|---|---|---|---|
SearchFilters |
software | healthy | query/index_server.py:54 |
SearchRequest |
software | healthy | query/index_server.py:62 |
SearchResult |
software | healthy | query/index_server.py:72 |
SearchResponse |
software | healthy | query/index_server.py:79 |
DocResponse |
software | healthy | query/index_server.py:85 |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /health |
api | healthy | query/index_server.py |
POST /search |
api | healthy | query/index_server.py |
GET /doc |
api | healthy | query/index_server.py |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::lib/commands/help.mjs |
security | healthy | lib/commands/help.mjs |
auth::lib/drive/helpers.mjs |
security | healthy | lib/drive/helpers.mjs |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-v6xiooyf |
software | healthy | /tmp/repobility-clone-v6xiooyf |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | cli.mjs |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | package-lock.json |
This page is publicly accessible at:
https://repobility.com/scan/69d2a968-a339-4169-84c9-27aaee063419/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/69d2a968-a339-4169-84c9-27aaee063419/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.