aic_compileLABSCO SUMMARY
You can read the prompt it built.
Context tooling usually asks you to trust that it picked well; this one writes the compiled prompt to .aic/ in the project and exposes per-file selection scores through aic_last, so a bad answer can be traced to what the model was actually shown. The Context Guard running locally before anything leaves the machine is the other half — it filters bulk context, though it can't stop the editor's own tools from opening a file directly.
What it is
A local-first server that sits between Cursor or Claude Code and the model. On each message it classifies the task, selects the files that matter, strips noise, blocks sensitive content, and compresses the result to a token budget — so the model gets a bounded package rather than whatever the editor happened to sweep up. It does not replace the editor or call models itself.
What you get
aic_compileis the call the editor integration makes on each message;aic_compile_spechandles the spec pathaic_lastreturns the most recent compilation — files selected out of files total, tokens compiled, cache hit or miss, and optional per-file selection scoresaic_status,aic_chat_summary,aic_projectsandaic_quality_reportreport at project, conversation, workspace and rolling-window level;aic_inspectandaic_model_testcover inspection and an agent capability probe- Context Guard removes common secrets and credentials, excluded paths such as
.envand key files, and suspicious prompt-injection strings before content reaches the model - The compiled prompt is written to disk under
.aic/in the project, so you can read exactly what was sent - Diagnostics are driven by plain phrases —
show aic status,show aic last,show aic chat summary,show aic projects,show aic quality— typed at your editor's AI, not a terminal
Requirements
Node.js 22 or newer. In Cursor, install the MCP server from the Cursor Directory or the deeplink; it lands in ~/.cursor/mcp.json and works in every workspace with no per-project setup. In Claude Code, /plugin marketplace add Jatbas/agent-input-compiler then /plugin install aic@aic-tools. On the first compile AIC writes aic.config.json, the .aic/ directory, ignore-file entries and the editor rule; all projects share one database at ~/.aic/aic.sqlite. Set "enabled": false in a project's aic.config.json to switch it off there. Cursor and Claude Code are the two editors with an integration layer. Telemetry is local by default and there is no account or API key.
Setup effort
One command — npx -y @jatbas/aic@latest
USE CASES
Stopping the editor from sending half the repo
Let the compile step select and compress the files that matter for this task.
Working out why an answer was wrong
Read the last compilation — which files were chosen, how many tokens went out, whether it came from cache.
Keeping credentials out of model context
Have secrets, excluded paths and injection strings filtered locally before the request leaves.
Checking whether the selection is any good over time
Look at the rolling-window quality metrics rather than one lucky compile.
Turning it off for one project
Set enabled to false in that project's config; it returns immediately and writes nothing.
9 tools
Listed in project docs. Your client may show a different list.
aic_inspectaic_chat_summaryaic_statusaic_lastaic_projectsaic_quality_reportaic_model_testaic_compile_specBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
npx on PATH
INSTALLATION
Connect your client
Server setup
npx -y @jatbas/aic@latestMCP Clients
Claude Code
/plugin marketplace add Jatbas/agent-input-compiler
/plugin install aic@aic-tools