{"name":"io.github.dir-ai/repotector","slug":"dir-ai-repotector","title":null,"description":"The repo guardian AI agents handshake with before they touch your code.","url":"https://mcp.market/server/dir-ai-repotector","rating":null,"grade":"A","score":85,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":46,"last_push_at":"2026-07-18T20:36:17.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/dir-ai/repotector","website":null,"version":"1.6.0","remotes":[],"packages":[{"registryType":"npm","identifier":"repotector","version":"1.6.0","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional","valueHint":"subcommand"}]}],"tools":[{"name":"atlas_query","description":"Keyword search across the repo map (paths, exports, purposes).","write_action":false,"price_micros":0,"input_schema":null},{"name":"blast_radius","description":"Compute transitive dependents, impacted routes and components for changed files. Omit changedFiles to use git diff. Call before editing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"canon_check","description":"Check changed files against the repo canon rules. Omit changedFiles to use git diff.","write_action":false,"price_micros":0,"input_schema":null},{"name":"city_map","description":"The info-point: DNA intent, brain pointers (atlas/genome/phenome), skeleton, and built-vs-missing so you can continue work without re-exploring.","write_action":false,"price_micros":0,"input_schema":null},{"name":"claim","description":"Declare the paths you are working on so other agents stay out. Advisory: conflicts are surfaced, not blocked. Claims expire with your session or TTL.","write_action":false,"price_micros":0,"input_schema":null},{"name":"decisions_query","description":"Query the deliberate choices made in this repo (what was chosen, over what, why). Consult BEFORE undoing an existing pattern or dependency.","write_action":false,"price_micros":0,"input_schema":null},{"name":"declare_mission","description":"Bind goal + acceptance criteria + work zone to your session BEFORE working. Auto-claims your zone (conflicts surfaced), returns a one-shot briefing (gates, merge status, standing decisions, protected overlaps). depart() then reconciles the evidence against THIS contract.","write_action":false,"price_micros":0,"input_schema":null},{"name":"depart","description":"Log your exit in the visitor register with a one-line summary of what you did. Call this when you finish.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dna_coverage","description":"Per specified clause: implemented / partial / missing / unmapped, computed from its claims vs the Atlas. The single source of built-vs-missing truth.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dna_diff","description":"Given changed files (omit to use git diff), which specified clauses they implement/modify, and which files are off-DNA (claimed by no clause). Deterministic — no semantic guessing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dna_query","description":"Read the intent layer. Returns clauses of what was specified, marked authored (PSX Workbench mirror) or inferred (reverse-DNA, with confidence + sources) — never merged. Filter by clause id or topic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_existing","description":"Search the Atlas for code that already implements an intent. Call before building anything new.","write_action":false,"price_micros":0,"input_schema":null},{"name":"handshake","description":"Front door. Declare who you are; you are logged into the visitor register and handed the ground rules, live gate, city-map summary, and a passport. Call this FIRST, before any other tool.","write_action":false,"price_micros":0,"input_schema":null},{"name":"journal","description":"The diario di bordo: recent visits with what each agent did and left unfinished (from the visitor register). Read it to continue prior work instead of re-deriving it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"merge_check","description":"Runs a zero-damage trial merge (git merge-tree) of HEAD against the integration base and reports clean/conflicted with the exact files, attributed to who holds each zone (claims + Merge Machine leases). Call BEFORE committing when other agents work in parallel.","write_action":true,"price_micros":0,"input_schema":null},{"name":"quality_gates","description":"Run line-budget, structure, and secret-hygiene gates. Returns the proof verdict.","write_action":true,"price_micros":0,"input_schema":null},{"name":"register","description":"See who has entered/left the repo and who is currently inside. The full arrival/exit log.","write_action":false,"price_micros":0,"input_schema":null},{"name":"release","description":"Release every work-zone claim held by this session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"unlock","description":"Present the repo passphrase to unlock the gated deep-map tools for this session. Only needed if the repo is locked.","write_action":false,"price_micros":0,"input_schema":null},{"name":"whats_next","description":"Suggests the sensible next work, derived (never invented) from DNA coverage gaps, open threads in recent departs, and TODO/FIXME markers. Every suggestion cites its evidence; an empty answer is valid.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":85,"grade":"A","scanned_at":"2026-09-25T17:26:03.466Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:26:03.422Z","components":{"code":{"score":25,"max":25,"notes":["26 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 69 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"repotector","version":"1.6.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-07-18T20:36:40.293Z","repositoryUrl":"git+https://github.com/dir-ai/repotector.git","weeklyDownloads":46}],"repo":{"found":true,"owner":"dir-ai","repo":"repotector","archived":false,"pushedAt":"2026-07-18T20:36:17Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/253070531?v=4","ownerCreatedAt":"2026-01-05T13:24:27Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":46,"license":"MIT","lastPushAt":"2026-07-18T20:36:17.000Z","score":18}}}},"grade_history":[],"reviews":[]}