veil-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VEIL_EFFECTS | No | compute the git effect-diff (set 0 to skip in huge repos) | true |
| VEIL_HEAD_LINES | No | lines kept from the top when condensing | 20 |
| VEIL_TAIL_LINES | No | lines kept from the bottom when condensing | 20 |
| VEIL_TIMEOUT_MS | No | default per-command timeout (0 = none) | 120000 |
| VEIL_MAX_RECORDS | No | max addressable run records (oldest evicted) | 500 |
| VEIL_MAX_LINE_CHARS | No | max chars of any single inline line (longer → capped with a pointer) | 1000 |
| VEIL_INLINE_MAX_LINES | No | stdout shorter than this (lines) is returned whole | 45 |
| VEIL_MAX_STREAM_BYTES | No | max bytes stored per stream (older dropped) | 5000000 |
| VEIL_STDERR_INLINE_ON_FAIL | No | on failure, show up to this many stderr lines inline | 60 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sh_runA | Execute a shell command and return a QUIET, STRUCTURED result: exit code, duration, files changed (git diff), and a token-aware view of stdout/stderr (full on small/failure, head+tail otherwise). Full output is stored and addressable via sh_detail — it is NOT re-emitted into context. Prefer this over a raw Bash call when you care about effects or output is likely verbose. Pass scrub_env:true to strip credential-shaped env vars from the child (auto-on with sandbox protect_secrets/deny_read); no_store:true keeps a sensitive run memory-only. |
| sh_detailA | Retrieve full stored output for a previous sh_run by id WITHOUT re-running it (the addressable output store). Use after a condensed result hid lines you need. |
| sh_planA | Statically predict what a command WOULD do without running it: blast-radius category (read-only | mutating | destructive | network | complex | unknown), whether it's reversible, and predicted file mutations. Use before destructive or unfamiliar commands. Does NOT execute anything. |
| sh_checkpointA | Snapshot a working directory under a label so you can restore it later with sh_restore. Excludes .git and node_modules. Take one before a risky or irreversible change. |
| sh_restoreA | Mirror a directory back to a previous sh_checkpoint (files created since the checkpoint are removed). This is the rollback for an agent's mistakes. |
| sh_checkpointsA | List existing checkpoint labels for a project directory (checkpoints are namespaced per directory). |
| sh_historyA | Aggregate PAST sh_run records for a command: observed exit/retry/duration/file-churn with explicit sample size (n) and recency window. DESCRIPTIVE only — it restates this local, capped, TTL-pruned store; it is NOT a prediction and makes NO causal claim. Read-only, runs nothing. Use to judge whether a command is historically slow/flaky in THIS project before running it. |
| sh_logsA | Read the output of a background run started with sh_run background:true, by id. Returns a QUIET, condensed view of stdout/stderr plus status (running/exited/killed), exit code, and running_ms. Pass back stdout_cursor/stderr_cursor (the values returned by the previous call) to get ONLY new output since last poll — ideal for tailing a dev server. A live process reads from its in-memory buffer; once it exits the SAME id resolves to the durable record. |
| sh_killA | Stop a background run started with sh_run background:true, by id. Signals the whole process group (so a dev server's children die too). SIGTERM (the default) escalates to SIGKILL after 2s if the process ignores it. Killing an id whose process has ALREADY exited is not an error — it returns already_exited (idempotent). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vkmtx/veil-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server