localvibecode
Serves as the local inference engine powering the autonomous Plan-Execute-Verify coding workflow, routing planning, patch generation, and verification through Ollama-hosted models (e.g., qwen2.5-coder:7b/14b) with a pinned model to avoid VRAM thrashing and enable fully offline, air-gapped AI coding.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@localvibecodeshow me the one-hop impact of changing processPayment before I edit it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
localVibeCode
π― What is localVibeCode?
In high-security enterprise environments (banking, financial services, telecom, defense, healthcare), developers face a strict constraint: no public internet access or high network bottlenecks. At the same time, traditional AI coding tools rely on frontier cloud LLMs with 200k+ token context windows by dumping dozens of files into the prompt.
When running local models (7B β 14B) on laptops (16GB β 32GB RAM):
Dumping multiple files causes severe "Lost in the Middle" hallucination and memory blowup.
Running multiple models (Planner + Coder + Reviewer) causes VRAM thrashing and 10β20 second swapping freezes.
Unchecked edits cause breaking contract changes across dependent modules.
localVibeCode solves this by shifting structural discovery and verification to the CPU (0 LLM Tokens), feeding your local model only surgical, high-precision context (< 4,000 tokens) under a deterministic state machine.
Related MCP server: NervaPack
β‘ The 3 Architectural Breakthroughs
[Developer Requirement]
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Phase 0: Graphify AST Indexer (CPU β’ 0 LLM Tokens) β
β - Parses AST across codebase in < 0.1s β
β - Identifies Architectural God Nodes & Leiden subsystem clusters β
β - Extracts 1-Hop Inbound Callers & Outbound Signatures β
βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Phase 1: PLAN (Fresh Context #1 β’ Constrained JSON Schema) β
β - Analyzes Requirement + GRAPH_REPORT.md + Enterprise Guardrails β
β - Generates minimal ordered Atomic Tasks (Model -> Service -> Test) β
βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β (Context Reset)
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Phase 2: EXECUTE (Fresh Context #2 per file β’ Surgical Slice) β
β - Blast-Radius Slicer feeds ONLY: Target File + 1-Hop Signatures β
β - Single Pinned Base Model generates surgical patch β
β - Immediate Zero-Token Verifier (AST check + SAST + Unit Tests) β
β - Self-Healing loop with error traceback if verification fails β
βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β (Context Reset)
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Phase 3: VERIFY (Fresh Context #3 β’ Spec Critic) β
β - Evaluates unified git diff against original requirements β
β - Produces pass/replan scorecard and compliance score (0-100) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββDeterministic AST Knowledge Graph (Graphify Style):
0 LLM tokens consumed.
Maps classes, functions, and import/call dependencies deterministically using AST parsing.
Ranks Architectural God Nodes so AI knows which core interfaces cannot be broken.
Blast-Radius Slicer (< 4,000 Tokens Surgical Context):
Extracts only: Target file + 1-Hop Outbound Signatures (function bodies stripped) + 1-Hop Inbound Callers.
Allows a 7B or 14B model to make multi-file modifications with the precision of a 200B cloud model.
Single Pinned Base Model & Deterministic PEV:
Keeps only 1 model pinned in Unified Memory/VRAM (
keep_alive: -1m), eliminating model swapping.Resets context at every phase (Plan $\rightarrow$ Execute $\rightarrow$ Verify) to keep the model in its Peak Reasoning Zone.
Zero-token verification (AST, Security SAST, Test Suite) before displaying changes.
π Quickstart
1. Prerequisites
OS: macOS (Apple Silicon M-series recommended) or Linux.
RAM: 16GB+ Unified Memory / RAM recommended.
Python: Python >= 3.9.
Inference Engine: Ollama running locally.
Recommended Model:
qwen2.5-coder:7b(fast) orqwen2.5-coder:14b(deep reasoning).
# Pull your preferred local coding model
ollama pull qwen2.5-coder:7b2. Installation
Clone the repository:
git clone https://github.com/dhluong90/localVibeCode.git
cd localVibeCode
# Make the CLI launcher executable (or add to your PATH)
chmod +x ./localvibecode3. Run Preflight Health Check
Verify your local environment, RAM budget, Ollama daemon, and models:
./localvibecode doctorββββββββββββββββββββ SYSTEM PREFLIGHT DIAGNOSTICS ββββββββββββββββββββ
[PASS] Python Version (Runtime)
β³ Python 3.9.6 (/usr/bin/python3)
[PASS] System Memory (Hardware)
β³ 24.0 GB RAM / Unified Memory detected (Darwin arm64)
[PASS] Git CLI (Toolchain)
β³ Found at /usr/bin/git
[PASS] Ollama Binary (Inference)
β³ Found at /usr/local/bin/ollama
[PASS] Ollama Daemon Service (Inference)
β³ Responding at http://localhost:11434 (2 model(s) installed)
[PASS] Coding LLM Models (Inference)
β³ Available: ['qwen2.5:7b', 'gemma4:latest']
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[SUCCESS] All environment checks passed! localVibeCode is 100% ready to run offline.4. Test on the Included Enterprise Demo Repo
./localvibecode pev "Add 20% discount for ENTERPRISE tier in order service and add unit test verifying 500.0 USD charges 400.0."π οΈ Onboarding an Existing Project
You can apply localVibeCode to any existing repository in one command:
./localvibecode init /path/to/your/existing/projectWhat init does automatically in 1 second:
Detects project test suite (
pytest,npm test,go test).Generates
localvibecode.jsonconfig.Configures OpenCode CLI integration (
opencode.json).Configures VS Code / Cursor MCP integration (
.vscode/mcp.json).Generates starter
enterprise_rules/folder.Builds the initial Graphify AST map in
graphify-out/GRAPH_REPORT.md.
π» IDE & Tool Integrations
1. OpenCode CLI (Terminal Agent)
Run OpenCode in any onboarded repository:
cd /path/to/your/project
opencodeUse custom slash commands:
/graphβ Inspect architectural God Nodes and repository skeleton (0 tokens)./impact path/to/file.pyβ View 1-hop blast-radius surgical slice./pev <requirement>β Trigger autonomous offline Plan-Execute-Verify cycle.
2. VS Code & Cursor (MCP Integration)
The onboarded project includes .vscode/mcp.json. Any MCP client (VS Code Cline, Roo Code, Continue.dev, Claude Code) connects directly to:
{
"servers": {
"localvibecode": {
"type": "stdio",
"command": "python3",
"args": ["-m", "localvibecode.mcp_server"],
"env": {
"PYTHONPATH": "/path/to/localVibeCode/src"
}
}
}
}Exposed MCP Tools:
localvibecode_build_graphlocalvibecode_blast_radiuslocalvibecode_verifylocalvibecode_pev_run
π CLI Reference
Command | Description |
| Run environment diagnostics (Python, RAM, Ollama, Models) |
| Onboard an existing codebase for CLI, OpenCode, and VS Code |
| Run end-to-end Plan $\rightarrow$ Execute $\rightarrow$ Verify with 1 local pinned model |
| Generate & display Graphify AST structural report & God Nodes (0 tokens) |
| Extract 1-hop surgical context (< 4K tokens) for a specific file |
| Run zero-token AST check, offline security SAST, and unit tests |
| Launch stdio MCP server for IDE agents |
Options:
--repo <path>: Specify target project path (overrides config).--model <name>: Override Ollama model (e.g.--model qwen2.5-coder:14b).--no-banner: Hide ASCII logo.
π»π³ DΓ nh Cho Kα»Ή SΖ° Viα»t Nam (Vietnamese Summary)
localVibeCode Δược thiαΊΏt kαΊΏ ΔαΊ·c thΓΉ cho cΓ‘c mΓ΄i trΖ°α»ng doanh nghiα»p Viα»t Nam (ngΓ’n hΓ ng, tΓ i chΓnh, viα» n thΓ΄ng, cΖ‘ quan nhΓ nΖ°α»c):
100% KhΓ΄ng cαΊ§n Internet: Source code, tΓ i liα»u vΓ logic nghiα»p vα»₯ khΓ΄ng bao giα» rα»i khα»i laptop.
KhαΊ―c phα»₯c triα»t Δα» giα»i hαΊ‘n cα»§a Local LLM (7B - 14B):
KhΓ΄ng nhα»i bα»«a bΓ£i hΓ ng chα»₯c file vΓ o context lΓ m AI "lΓΊ" (Lost in the Middle).
DΓΉng Graphify AST (0 token) Δα» trΓch xuαΊ₯t ΔΓΊng vΓΉng αΊ£nh hΖ°α»ng (Blast-Radius < 4,000 tokens).
Ghim cα» Δα»nh 1 model duy nhαΊ₯t trong VRAM, chia nhα» quy trΓ¬nh thΓ nh vΓ²ng lαΊ·p Plan $\rightarrow$ Execute $\rightarrow$ Verify vα»i context sαΊ‘ch α» mα»i bΖ°α»c.
Tα»± Δα»ng chαΊ‘y AST Check + Security SAST + Unit Test Δα» tα»± sα»a lα»i (Self-Healing) trΖ°α»c khi giao code cho dev.
π License
Licensed under the Apache License 2.0.
Available Tools
8 toolsaisdlc_blast_radiusC
Legacy alias for localvibecode_blast_radius.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | No | ||
| target_file | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It provides none: no indication of whether this is read-only, what permissions are needed, whether it mutates state, or what it returns. The alias relationship is identity metadata, not behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is efficient and front-loaded, with no wasted wording. However, its brevity reflects under-specification rather than appropriate conciseness for a tool with two parameters and no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The alias relationship gives enough context to redirect to the canonical sibling, but the definition is otherwise incomplete for a callable tool. With no annotations, no output schema, and 0% schema coverage, the description should explain the operation, parameters, and expected behavior but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning for either repo_path or target_file. An agent must infer from parameter names alone what these inputs should contain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states that this is a legacy alias for localvibecode_blast_radius. It does not say what the tool actually does, what a blast radius means here, or what operation is performed. Naming the sibling helps identify the relationship, but the purpose remains largely unexplained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Calling it a "legacy alias" implicitly signals that the canonical localvibecode_blast_radius should be preferred, which is some routing guidance. However, it never explicitly says when to use this alias, when not to use it, or what deprecation behavior to expect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aisdlc_build_graphD
Legacy alias for localvibecode_build_graph.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about side effects. A 'build_graph' tool plausibly writes build artifacts or indexes a repo, and none of that β write behavior, permissions, output location β is stated. 'Legacy alias' alone does not tell an agent what calling it actually does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence with no padding, so it is concise, but conciseness here comes at the cost of under-specification. The alias relationship is front-loaded, which is the right lead, but there is no follow-up substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an undocumented required-ish path parameter, no annotations, and no output schema, the description should explain what is built and where. It does none of that and leaves the agent to open the sibling tool's definition to learn anything.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter repo_path has 0% schema description coverage and the description says nothing about it β no format, whether it is a local path vs a URL, whether it defaults to cwd given that it is not required. The description provides zero compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states the tool is a 'legacy alias' for localvibecode_build_graph, which clarifies its identity and points to the canonical tool, but it never says what a build_graph does β what graph, over what, producing what. The purpose beyond the alias relationship is inferred only from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Calling it a 'legacy alias' implicitly routes the agent toward localvibecode_build_graph instead, which is genuinely useful. But there is no explicit 'prefer X' instruction, no statement of when this alias would still be needed, and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aisdlc_pev_runC
Legacy alias for localvibecode_pev_run.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | No | ||
| requirement | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and largely fails it β nothing about side effects, permissions, mutability of repo_path, or what a 'PEV run' produces. The only behavioral hint is that it behaves identically to localvibecode_pev_run, which is indirect at best.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is efficient with no filler, but it is under-specified rather than concise β it spends its one clause on provenance rather than on what the tool does or needs. Brevity here comes at the cost of usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a required free-form parameter, an optional path parameter, no annotations, and no output schema, the description supplies essentially none of the context an agent needs to invoke it correctly. It doesn't even confirm whether the two tools are fully interchangeable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description says nothing about either parameter. The required 'requirement' string and the optional 'repo_path' are completely undefined β no format, no examples, no distinction between them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states that this is a 'legacy alias for localvibecode_pev_run' β it never says what the tool actually does (e.g., runs a plan-execute-verify cycle, mutates a repo). It does identify the canonical sibling, but an agent still cannot tell the operation's purpose from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Legacy alias' implies the agent should generally prefer localvibecode_pev_run, which is implicit routing guidance and is the one genuinely useful piece of information here. However, it never explicitly says 'use localvibecode_pev_run instead' or explains when, if ever, this alias should still be invoked (backward compatibility, existing scripts, etc.).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aisdlc_verifyC
Legacy alias for localvibecode_verify.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about behavior: no indication of whether this is read-only, what it reads or mutates, whether it requires a built graph first, or what it returns. Pointing at another tool's name is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the key fact (alias, and of which tool) front-loaded. It is efficiently sized β the problem is missing content, not verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, an undocumented parameter, and no statement of what verification means or what happens on failure, the definition is not sufficient to invoke confidently. The agent is forced to open localvibecode_verify to learn anything substantive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, repo_path, with 0% schema description coverage, and the description says nothing about it. The agent must infer whether it is a filesystem path, a repo identifier, an absolute vs relative path, or whether it is optional/defaults to cwd.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states only that this is a 'Legacy alias for localvibecode_verify' β it identifies the relationship to a sibling but never says what the operation actually does (verify what? builds? code?). An agent knows where to redirect but not the capability itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Legacy alias' implicitly signals that new work should go to localvibecode_verify, and that sibling is named explicitly. However, it never states when this alias is still appropriate (existing configs? backwards compat?) versus simply always preferring the canonical tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
localvibecode_blast_radiusB
Extract the Surgical Context (< 4,000 tokens) for a target file: includes target code, 1-hop outbound signatures (bodies stripped), and 1-hop inbound callers.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | No | ||
| target_file | Yes | Relative file path inside repository (e.g. 'services/order_service.py'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses scope and behavior: bodies are stripped and output is capped under 4,000 tokens, which tells the agent what it will and won't receive. It says nothing about read-only nature, side effects, permissions, or repo_path resolution, leaving real gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the return contents front-loaded and no filler. Minor deduction for the unexplained capitalized term 'Surgical Context', which reads as internal jargon rather than actionable phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description correctly spends its words describing what comes back (target code, outbound signatures, inbound callers), which is genuinely useful. However, with no annotations and one of two parameters undocumented, an agent still lacks enough to invoke it confidently across repositories.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: target_file is documented in-schema, but repo_path is undocumented in both the schema and the description. The description mentions only the 'target file' and gives no indication of what repo_path means (default repo? absolute path?) or how it interacts with target_file. With half the parameters opaque, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (extract context) and enumerates the three components returned: target code, 1-hop outbound signatures with bodies stripped, and 1-hop inbound callers. The 'blast_radius' name is ambiguous, but the description resolves it. It does not differentiate from the near-duplicate sibling aisdlc_blast_radius or from localvibecode_build_graph, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The token budget ('< 4,000 tokens') and 'surgical context' framing imply this is for cheap, targeted context gathering rather than full graph traversal, which hints at when to use it. There is no explicit when-to-use, when-not, or named alternative among the seven siblings, so usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
localvibecode_build_graphB
Build/refresh the deterministic AST Code Knowledge Graph (Graphify) with 0 LLM tokens. Returns Architectural God Nodes, import/call dependencies, and public signatures.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | No | Optional relative or absolute path to target repository. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full disclosure burden, and it does add two genuinely useful traits: the build is deterministic and costs '0 LLM tokens'. It does not say where the graph is written, whether an existing graph is overwritten, how expensive/slow it is, or whether it must run before blast_radius β real gaps for a build/index operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and immediately followed by the returned artifacts. Slightly jargon-dense ('Graphify', 'Architectural God Nodes') and every clause earns its place, though a non-initiated agent may not know what a 'God Node' is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the prose carries the return-value burden β and it does list the three artifact types, which helps. But for a tool that presumably writes an index to disk, the definition omits persistence location, staleness/invalidations, and the default repo behavior, leaving the agent short of what it needs to sequence this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is optional with a self-explanatory schema description, so the baseline is 3. The description adds nothing about what happens when repo_path is omitted (current working repo? cwd?), which is the one meaningful semantic question for a 0-required-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It gives a specific verb+resource ('Build/refresh the deterministic AST Code Knowledge Graph') plus a named artifact ('Graphify'), which is far more than a tautology. However, it never distinguishes itself from the identical-looking sibling 'aisdlc_build_graph', so an agent cannot tell which one to pick from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit 'use when' / 'do not use when' guidance and no mention of the sibling alternatives (blast_radius, verify, pev_run). The only implicit signal is 'refresh', which hints that it should be run before graph-dependent tools, but the agent must infer that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
localvibecode_pev_runC
Execute an Enterprise Local Vibe Coding task using the Deterministic PEV (Plan -> Execute -> Verify) pipeline with Fresh Context isolation on 1 Local Ollama Model.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | No | ||
| requirement | Yes | Natural language requirement or feature specification. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It adds useful architectural detail (deterministic pipeline, fresh context isolation, single local model), but says nothing about whether it writes files to repo_path, whether changes are reversible, expected runtime, or model/resource requirements for a clearly mutating code-generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the action and then qualifies the mechanism. It is dense with jargon but nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a code-mutating pipeline tool with no annotations, no output schema, and an undocumented repo_path, the definition leaves the agent without the information needed to invoke it safely or interpret results. It should state side effects on the repo, return shape, and prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: requirement is documented in-schema, but repo_path has no description anywhere. The description never explains what repo_path means, whether it is optional, or what happens when it is omitted β the exact gap the description should fill for a low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Execute) and resource (a task) and names the mechanism: a deterministic Plan -> Execute -> Verify pipeline against one local Ollama model. An agent can tell this is the full-pipeline entry point rather than a single-step tool like localvibecode_verify. It does not, however, distinguish itself from the sibling aisdlc_pev_run, which appears to be the analogous pipeline runner.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (does a repo need to exist at repo_path? does a graph need to be built first?), and no routing between this tool and aisdlc_pev_run or the localvibecode_verify/blast_radius siblings. The agent must guess which pipeline runner applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
localvibecode_verifyB
Run Zero-Token Deterministic Verification (AST syntax check, Enterprise Security SAST, and Unit Tests).
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose useful traits: the verification is 'deterministic' and 'Zero-Token', implying no LLM cost. However, it says nothing about whether it requires a resolvable repo, whether it writes artifacts, how failures are surfaced, or what the result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the parenthetical enumeration of checks is compact and informative rather than redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain the outcome contract (per-check pass/fail, error reporting) and the meaning of repo_path. It explains only what is run, leaving the agent without enough to interpret results or call it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter repo_path has 0% schema description coverage, and the description never mentions it, so an agent gets no guidance on whether it is required, what path form is expected, or what defaults apply when omitted (required=false). The schema alone is insufficient here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Run') plus a named capability ('Zero-Token Deterministic Verification') and enumerates the three checks performed (AST syntax check, Security SAST, Unit Tests). This is clearly distinct from siblings like build_graph or blast_radius, though it never explicitly contrasts itself with the near-identical aisdlc_verify or the pev_run tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to invoke this versus alternatives such as localvibecode_pev_run, aisdlc_verify, or the build_graph/blast_radius tools. The agent must infer that verification happens after a change, and there is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v0.2.0- First observed
aisdlc_blast_radius - First observed
aisdlc_build_graph - First observed
aisdlc_pev_run - First observed
aisdlc_verify - First observed
localvibecode_blast_radius - First observed
localvibecode_build_graph - First observed
localvibecode_pev_run - First observed
localvibecode_verify
TDQS
Scored across 8 tools
The four localvibecode_ tools are distinct in purpose (graph build, context extraction, verification, pipeline run), but each has an exact aisdlc_ duplicate. Descriptions explicitly mark these as aliases, which mitigates but does not eliminate misselection risk.
Within each prefix, names follow a clear verb_noun pattern (build_graph, blast_radius, verify, pev_run), but the set mixes two different namespace prefixes (localvibecode_ vs aisdlc_), which is inconsistent across the surface.
The server registers 8 tools, but 4 are pure legacy aliases, so the real functional surface is only 4. The count is inflated by duplication rather than reflecting genuine capability.
The four real tools cover the core workflowβgraph construction, surgical context extraction, deterministic verification, and the PEV execution pipeline. Minor gaps like graph inspection/reset or model management exist but are workable around.
Maintenance
Related MCP Connectors
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Codebase intelligence for AI agents β dead code, blast radius, ownership.
Codebase intelligence for agents: 152 structured artifacts across 21 programs, one call.
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Related MCP Servers
- FlicenseBqualityBmaintenanceTurns local code repositories into a queryable dependency graph built from AST parsing and git co-edit history, then exposes it alongside an Obsidian vault as persistent memory. Enables context retrieval, impact analysis of proposed changes, and curation of durable prose knowledge through full-text search and Personalized PageRank classificationβall fully offline without API keys or embeddings.30-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to retrieve hyper-targeted, token-efficient context from a codebase by querying a locally built AST knowledge graph, and to persist cross-session agent memory through 17 MCP tools. All indexing and retrieval run entirely offline, so proprietary code never leaves the machine.65 PyPI1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to explore a repository by querying a pre-built structural knowledge graph of symbols and their relationships β definitions, callers, callees, blast radius, and file-level impact β instead of grepping and reading files. This cuts the tokens spent on code exploration by roughly 96β99% while running entirely on local SQLite with tree-sitter parsing.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding agents to query a local structural code graph for focused context, inspect relationships and impact, and carry recorded mistakes into later sessions.35 npmMIT