Let the AI read. Not write.
A local server that hands your AI tools real context about the project. No shell, no writes, no secrets.
Make the pricing card match the brand.
- tokens.resolvecolor.accent#ec4899
- udo.inspectcard.pricing1 unbound fill
- patch.dryRun1 changevalid
card.pricing
- fill: #ff69b4+ fill: color.accentRejectApply
What it cannot do. On purpose.
- No shellTools cannot spawn a process or run a command. There is no escape hatch to add one.
- No writesEvery file operation is a read. Patches happen in memory and are thrown away.
- No secretsEnvironment variables and credential files are outside the sandbox.
- No networkIt talks over stdio to your editor and nothing else. Nothing is uploaded.
- Logged callsEvery tool call is recorded with its parameters and time.
Two minutes to set up. One JSON file.
Point your editor at the server. It works with Claude Code, VS Code, Cursor, Zed, and anything else that speaks MCP.
{
"mcpServers": {
"varial": {
"command": "varial-mcp-server",
"args": ["--root", "."]
}
}
}
- tokens.resolveResolve a reference, get alternatives.
- udo.inspectSummarize an object, not its source.
- patch.dryRunApply in memory, report the diff.
- context.packEverything about the open file.
The rest of the job. Same app, same file.
- CollaborationThe same file at the same time, and the comment becomes the task.
- ProofSend a version, collect notes on the art, get a decision in writing.
- Brand KitsColors, type, and logos every file reads from.
- InvoicingQuote the job and bill the work that got approved.
- ProvenanceA receipt on every deliverable, without your prompts.
Good questions. Short answers.
Does anything leave my machine?
No. The server runs locally over stdio and has no network access.
Can it change my files?
No. Patch tools run in memory and report what would change. Applying it is something you do yourself.
Which tools work with it?
Anything that speaks MCP, including Claude Code, Claude Desktop, VS Code, Cursor, and Zed.
Do I need a Varial account?
The server reads local files, so it works on your machine. A plan gets you the apps that produce them.
Does it read my whole repo?
No. It reads inside the project root against an allowlist, with a size limit per read.