{"name":"io.github.Arrayo/smart-context-mcp","slug":"arrayo-smart-context-mcp","title":null,"description":"Reduces AI agent token usage by 90% via context compression and task checkpoint persistence.","url":"https://mcp.market/server/arrayo-smart-context-mcp","rating":null,"grade":"A","score":85,"certified":false,"status":"active","category":"productivity","tags":["productivity","ai"],"presence":{"score":32,"stars":4,"forks":1,"downloads_week":129,"last_push_at":"2026-09-18T08:55:49.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Arrayo/smart-context-mcp","website":null,"version":"1.21.0","remotes":[],"packages":[{"registryType":"npm","identifier":"smart-context-mcp","version":"1.21.0","transport":{"type":"stdio"}}],"tools":[{"name":"build_index","description":"Build a lightweight symbol index for the project. Speeds up smart_search ranking and smart_read symbol lookups. Pass incremental=true to only reindex files with changed mtime (much faster for large repos). Pass warmCache=true to preload frequently accessed files after indexing. Without incremental, rebuilds from scratch. Sends progress notifications during indexing for large projects.","write_action":false,"price_micros":0,"input_schema":null},{"name":"cross_project","description":"Work with multiple related projects (monorepos, microservices, shared libraries). Modes: discover (list related projects), search (search across projects), read (read files from multiple projects), symbol (find symbol definitions across projects), deps (get cross-project dependency graph), stats (usage statistics). Requires .devctx-projects.json config file in project root.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_blame","description":"Get symbol-level git blame attribution. Modes: symbol (blame for specific file symbols), file (aggregated file stats), author (find symbols by author), recent (recently modified symbols). Returns author, email, date, commit, and authorship percentage for each symbol. Requires git repository and symbol index.","write_action":false,"price_micros":0,"input_schema":null},{"name":"global_memory","description":"Opt-in cross-project memory persisted to ~/.devctx/global.db (override with DEVCTX_GLOBAL_DB). Enable via DEVCTX_GLOBAL_MEMORY=true. Stores canonical decisions, recurring patterns, playbook drafts, notes, and repo-local noise hints so an agent can carry insights between repos without re-deriving them. Content is scrubbed for likely secrets/JWTs/API keys/emails/home paths before being persisted. Pr","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_code","description":"Semantic code navigation and refactoring for JS/TS via TypeScript LanguageService. Actions: definition, references, implementations, diagnostics, impact, rename. Prefer symbol name (+ optional filePath) over line/character when possible. Returns compact locations (file, start/end 1-based) — never full file bodies. impact combines semantic direct hits with import-graph transitive expansion and rela","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_context","description":"PREFERRED for multi-file tasks. Gets curated context in one call — replaces the manual search → read → read cycle. Combines search + graph expansion + selective reading. Primary files always include content (signatures) in balanced mode — reduces follow-up smart_read calls. Options: intent, maxTokens (budget, default 12000), diff (true for HEAD or branch name), detail (minimal/balanced/deep), incl","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_doctor","description":"Run an operational health check for local devctx state. Aggregates repo hygiene, SQLite `storageHealth`, retention/compaction hygiene, and legacy JSON/JSONL cleanup guidance into one inspect-only result with explicit remediation steps. Use this when `.devctx/state.sqlite` is missing, oversized, locked, corrupted, or when you want a release/preflight check for local state durability.","write_action":true,"price_micros":0,"input_schema":null},{"name":"smart_edit","description":"Batch edit multiple files with pattern replacement. Supports literal string replacement or regex patterns. Use for bulk refactoring, removing patterns (comments, console.log, etc.), or renaming across files. Optional dryRun shows preview without modifying files. Returns match count and results per file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_metrics","description":"Inspect token metrics recorded in project-local SQLite storage by default. Returns aggregated totals, per-tool savings, recent entries, adoption analysis, and `productQuality` signals measured from `smart_turn` orchestration events (continuity recovery, blocked-state remediation coverage, context-refresh signals, checkpoint persistence). Supports time windows (`24h`, `7d`, `30d`, `all`), optional ","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_output","description":"Persistent output/artifact store so command output survives the context window and never needs a rerun to be re-read. Kinds: shell, test, build, lint, diff. Actions: save (kind+content, plus optional command/label/exitCode), search (query/kind/status → metadata + matching line snippets, never full bodies), excerpt (id + query|line → surrounding lines with 1-based numbers), summary (id → counts, de","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_playbook","description":"Run a declarative workflow (playbook) that composes other smart_* tools in one call. Built-in playbooks: preflight-merge (smart_review + smart_test affected + checkpoint), debug-flake (last_failure + curated debug context + affected tests), refactor-safe (curated context + affected tests + checkpoint), doc-sync (ADR search + docs context), ramp-up (status + doctor + ADR overview). Override or add ","write_action":true,"price_micros":0,"input_schema":null},{"name":"smart_read","description":"Read a file with token-efficient modes. ALWAYS prefer outline/signatures/symbol/explain over full. Reading cascade: outline → signatures → symbol → explain → range → full (last resort). Mode guide: outline (~90% savings): file structure, exports, top-level symbols — use first for orientation. signatures (~85% savings): function signatures with parameters and return types — use when you need the AP","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_read_batch","description":"Read multiple files in one call. Each item accepts path, mode (prefer outline/signatures/symbol/explain — full saves 0 tokens), symbol, startLine, endLine, maxTokens (per-file budget). Optional global maxTokens budget with early stop when exceeded; when that happens, `budgetDetails` reports the batch-level stop point, marks `scope=\"batch\"`, and includes `actions`. Max 20 files per call.","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_resume","description":"Lightweight entry point for the first prompt of a substantial task. Equivalent to smart_turn(phase=start, ensureSession=true, verbosity=minimal): rehydrates the most recent persisted session for this project, classifies prompt continuity, and returns a compact recommendedPath. Prefer this over smart_turn(start) when you just want to recover context cheaply at the beginning of a session. SKIP for o","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_review","description":"Code review preflight in one call. Given a git ref (default HEAD), returns per-file: additions/deletions, changeType, callers (importedBy), affected tests (testOf), changed symbols, and offline heuristic findings (TODO/FIXME, console.log, print, debugger, eval, dynamic Function, process.exit, \"as any\"/\": any\", alert, hardcoded secret patterns). Summary aggregates issuesBySeverity, coverageGap (fil","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_search","description":"Search code with ranked, deduplicated results and index boosting. Best for: finding where a symbol is defined/used, understanding call chains, locating implementations. NOT ideal for: exact string matching (use Grep), finding files by name (use Glob), broad multi-word queries (generates noise). Optional intent adjusts ranking. `mode` controls search strategy: `needle` = exact literal only (no rege","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_shell","description":"Run a diagnostic shell command from an allowlist. Allowed: pwd, ls, find, rg, git (status/diff/show/log/branch/rev-parse), npm/pnpm/yarn/bun (test/run/lint/build/typecheck/check). Blocks shell operators, pipes, and unsafe commands. For large diffs: output is split by file (up to 8 files, 60 lines each); prefer git diff --stat first, then git show -- <file> per file.","write_action":true,"price_micros":0,"input_schema":null},{"name":"smart_status","description":"Display the current session context including goal, status, recent decisions, touched files, and progress. Returns a formatted summary of what has been done and what is being tracked in the active session. Use this to understand the current state of work without modifying the session. Supports format=detailed (default, full formatted output) or format=compact (minimal JSON). Optional maxItems limi","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_summary","description":"Maintain compressed conversation state across turns. Actions: get (retrieve current/last session), update (create or replace a session; omitted fields are cleared), append (add to existing session), auto_append (append only if something meaningful changed), checkpoint (event-driven orchestration that decides whether to auto-persist), reset (clear session), list_sessions (show all sessions), compac","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_test","description":"Test orchestration tied to the import graph. Three actions: (1) action=\"affected\" — given a git diff (default HEAD), expand changed files through the import graph (max 2 hops by default) and return the list of test files that should re-run; no execution. (2) action=\"run\" — execute a test runner from an allowlist (npm-test, npm-run, pnpm-test, pnpm-run, yarn-test, yarn-run, bun-test, bun-run, node-","write_action":false,"price_micros":0,"input_schema":null},{"name":"smart_turn","description":"Orchestrate start/end of a meaningful agent turn for multi-session tasks where context continuity matters. SKIP for single-session point-in-time tasks (reviewing a specific commit, answering a quick question, one-off lookup) — the setup overhead exceeds the benefit if the session will never be resumed. USE when: the task spans multiple chat sessions, you may return to it the next day, or the codeb","write_action":false,"price_micros":0,"input_schema":null},{"name":"warm_cache","description":"Preload frequently accessed files into OS cache to reduce cold-start latency. Analyzes last 30 days of access patterns and warms the top 50 most-used files (configurable via DEVCTX_WARM_FILES env). Skips files >1MB. Returns warmed/skipped counts. Use after build_index or before starting intensive work sessions.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":85,"grade":"A","scanned_at":"2026-10-15T11:59:08.487Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-15T11:59:08.477Z","components":{"code":{"score":20,"max":25,"notes":["98 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":15,"max":15,"notes":["last push 27 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"src/review/heuristics.js: …: 'high', re: EVAL_RE, message: 'use of eval()' }, { kind: 'new-function', severity…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"smart-context-mcp","version":"1.21.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-09-18T08:45:17.067Z","repositoryUrl":"git+https://github.com/Arrayo/smart-context-mcp.git","weeklyDownloads":129}],"repo":{"found":true,"owner":"Arrayo","repo":"smart-context-mcp","archived":false,"pushedAt":"2026-09-18T08:55:49Z","stars":4,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/39440635?v=4","ownerCreatedAt":"2018-05-19T16:18:00Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/39440635?v=4&s=128","source":"registry"},"presence":{"stars":4,"forks":1,"downloadsWeek":129,"license":"MIT","lastPushAt":"2026-09-18T08:55:49.000Z","score":32}}}},"grade_history":[{"kind":"restore","fromGrade":"C","toGrade":"A","reason":"score 85: eval / new Function used","createdAt":"2026-09-19T21:03:54.816Z"}],"reviews":[]}