Skip to main content
Glama

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):

  1. Dumping multiple files causes severe "Lost in the Middle" hallucination and memory blowup.

  2. Running multiple models (Planner + Coder + Reviewer) causes VRAM thrashing and 10–20 second swapping freezes.

  3. 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)         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. 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.

  2. 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.

  3. 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) or qwen2.5-coder:14b (deep reasoning).

# Pull your preferred local coding model
ollama pull qwen2.5-coder:7b

2. 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 ./localvibecode

3. 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/project

What init does automatically in 1 second:

  1. Detects project test suite (pytest, npm test, go test).

  2. Generates localvibecode.json config.

  3. Configures OpenCode CLI integration (opencode.json).

  4. Configures VS Code / Cursor MCP integration (.vscode/mcp.json).

  5. Generates starter enterprise_rules/ folder.

  6. 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
opencode

Use 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_graph

  • localvibecode_blast_radius

  • localvibecode_verify

  • localvibecode_pev_run


πŸ“– CLI Reference

Command

Description

localvibecode doctor

Run environment diagnostics (Python, RAM, Ollama, Models)

localvibecode init <path>

Onboard an existing codebase for CLI, OpenCode, and VS Code

localvibecode pev "<req>"

Run end-to-end Plan $\rightarrow$ Execute $\rightarrow$ Verify with 1 local pinned model

localvibecode graph

Generate & display Graphify AST structural report & God Nodes (0 tokens)

localvibecode slice <file>

Extract 1-hop surgical context (< 4K tokens) for a specific file

localvibecode verify

Run zero-token AST check, offline security SAST, and unit tests

localvibecode mcp

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 tools
aisdlc_blast_radiusC

Legacy alias for localvibecode_blast_radius.

NameRequiredDescriptionDefault
repo_pathNo
target_fileYes

TDQS

C2/5.0
Behavior1/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose2/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
repo_pathNo

TDQS

D1.9/5.0
Behavior1/5

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.

Conciseness3/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose2/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
repo_pathNo
requirementYes

TDQS

C2/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose2/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
repo_pathNo

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose3/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
repo_pathNo
target_fileYesRelative file path inside repository (e.g. 'services/order_service.py').

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
repo_pathNoOptional relative or absolute path to target repository.

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
repo_pathNo
requirementYesNatural language requirement or feature specification.

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

NameRequiredDescriptionDefault
repo_pathNo

TDQS

B3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 8 tool updatesv0.2.0
    • First observedaisdlc_blast_radius
    • First observedaisdlc_build_graph
    • First observedaisdlc_pev_run
    • First observedaisdlc_verify
    • First observedlocalvibecode_blast_radius
    • First observedlocalvibecode_build_graph
    • First observedlocalvibecode_pev_run
    • First observedlocalvibecode_verify

TDQS

C2.5/5.0

Scored across 8 tools

Disambiguation3/5

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.

Naming Consistency3/5

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.

Tool Count2/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    B
    maintenance
    Turns 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
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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 PyPI
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    1
    MIT