Skip to main content
Glama
ARQAWA

code_nav MCP

by ARQAWA

code_nav MCP

AI-native deterministic code navigation MCP server for Codex / CodeCLI.

code_nav gives coding agents compact, structured repo context without making them dump files into chat. It works in any git repo by detecting the repo root and using git-visible files.

There is no semantic search, no embeddings, no vector database, no graph index, no Qdrant, no CocoIndex, and no Zoekt.

Repository:

https://github.com/ARQAWA/code-nav-mcp

Install Prompt

Use INSTALL_AGENT_PROMPT.md with Codex / CodeCLI on the target machine.

The prompt installs one shared user-level code_nav MCP:

$HOME/.local/share/code-nav-mcp/app
$HOME/.local/bin/code-nav-mcp

It also installs/checks Probe, ast-grep, ripgrep, and RTK, configures Codex MCP globally, installs Code Navigation Rules, and verifies the MCP tools.

Related MCP server: Satori

Tools

Tool

Purpose

code_nav.health

Check repo detection and dependency health.

code_nav.search

Main deterministic code discovery workflow.

code_nav.find_file

File/path discovery.

code_nav.exact_search

Ranked exact text search, not proof.

code_nav.extract_context

Compact code context extraction.

code_nav.structural_search

AST search with ast-grep.

code_nav.exact_audit

Exhaustive proof using raw rg/git grep.

code_nav.coverage

File coverage and no-semantic-index status.

Local Development

npm install
npm run build
npm test
npm run doctor
npm run self-test

Run the MCP server locally:

node dist/cli.js mcp

Optional Repo Config

No per-repo config is required. Rare overrides can use .code-navrc.json:

{
  "max_file_bytes": 2097152,
  "extra_exclude": [],
  "extra_include": [],
  "markdown": "normal",
  "result_limit": 12
}

Available Tools

8 tools
code_nav.coverageA
Read-only

Show git-visible file coverage; no semantic index exists.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, establishing safety. The description adds the behavioral note 'no semantic index exists,' which is useful for setting expectations but does not detail return format or side effects.

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?

The description is a single, focused sentence with no extraneous words. It front-loades key information and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with good annotations, the description covers the essential purpose and a key limitation. It could elaborate on what 'coverage' means or what 'git-visible' implies, but it is adequate for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100%, so the description need not explain parameters. The baseline for no parameters is 4; the description adds nothing extra but is adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Show git-visible file coverage'. This is a specific verb+resource combination that distinguishes it from sibling tools like code_nav.exact_search or code_nav.find_file.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, expected usage contexts, or exclusions, leaving the agent to infer the tool's role from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_nav.exact_auditC
Read-only

Exhaustive exact audit using raw rg or git grep.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYes
scopeNo
fixedNo
case_sensitiveNo
limitNo

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint, but description adds little beyond stating 'exhaustive' and 'raw rg/git grep'. No further behavioral traits are disclosed (e.g., performance, output format).

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 description is concise but lacks structure. It is too short to be informative, though it is front-loaded with key terms.

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?

The description fails to cover essential context for a tool with 5 parameters and no output schema. Missing return type, behavior details, and usage examples.

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?

With 0% schema description coverage and no parameter explanations in description, the agent has no guidance on how to use parameters like scope, fixed, case_sensitive, limit.

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 indicates exhaustive exact audit using raw tools, but doesn't clearly distinguish from sibling tool 'exact_search' or explain what 'audit' implies beyond search.

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?

No guidance on when to use this tool versus alternatives like exact_search or search. No explicit or implicit usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_nav.extract_contextC
Read-only

Extract compact code context with Probe or fallback ranges.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYes
queryNo
max_tokensNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description adds limited behavioral context. It mentions 'Probe or fallback ranges' but does not explain their implications or any other behavioral traits beyond annotations.

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?

The description is a single, succinct sentence with no wasted words. It is appropriately front-loaded with the core action.

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?

Given no output schema, no parameter explanations, and no usage guidance, the description leaves the agent without critical information about return values, parameter roles, or how 'Probe or fallback ranges' behave. It is severely incomplete.

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 description coverage is 0%, and the description does not explain the meaning or usage of any of the three parameters (targets, query, max_tokens). The description adds no value over the bare 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?

The description states a specific verb ('Extract') and resource ('compact code context'), and distinguishes from sibling tools like search or find_file. However, it introduces jargon ('Probe or fallback ranges') without explanation, slightly reducing clarity.

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?

No guidance on when to use this tool versus siblings such as code_nav.search or code_nav.structural_search. The description does not mention any conditions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_nav.find_fileA
Read-only

Find repo-relative files with fff or git-visible fallback.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
scopeNo
limitNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds behavioral context by mentioning the fallback mechanism (fff or git-visible), which goes beyond the annotations. However, it does not detail side effects, authorization needs, or output format.

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?

The description is a single 8-word sentence that is front-loaded with the verb and resource, with no wasted words.

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?

Despite having three parameters and no output schema, the description is very short and omits key details: return values, query format, scope usage, and limit behavior. It only hints at the search method, leaving significant gaps for the agent.

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 information about the three parameters (query, scope, limit). The agent receives no guidance on what kinds of queries are valid or how scope/limit work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Find' and the resource 'repo-relative files', and distinguishes from sibling tools like exact_search and structural_search by specifying the use of 'fff or git-visible fallback'.

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 description implies usage for finding repo-relative files via its verb and resource, but does not explicitly state when to use this tool over siblings, nor does it provide exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_nav.healthA
Read-only

Check repo detection and code_nav dependency health.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=false, so the description adds value by specifying that it checks 'repo detection and code_nav dependency health,' providing context beyond the annotations. There is no contradiction.

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?

The description is a single, focused sentence with no redundant words. It is front-loaded and efficiently conveys the tool's purpose.

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?

For a tool with no parameters and annotations present, the description is somewhat complete but lacks information about what the output looks like (e.g., status, message). Since there is no output schema, an agent might need more detail to interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so per guidelines the baseline is 4. No additional parameter explanation is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Check repo detection and code_nav dependency health.' It uses a specific verb ('Check') and identifies distinct resources (repo detection, dependency health), which differentiates it from sibling tools focused on searching or extraction.

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 description implies the tool should be used to verify repo detection and dependency health, but it does not explicitly state when to use it versus alternatives like code_nav.search or code_nav.extract_context. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_nav.searchD
Read-only

Main deterministic code navigation workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
memory_contextNo
scopeNo
limitNo
max_context_tokensNo

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=false. The description adds 'deterministic' but no other behavioral details (e.g., performance, limitations, or what 'code navigation' entails). No contradiction with annotations.

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 description is a single sentence, which is concise but comes at the cost of completeness. It is appropriately front-loaded but insufficiently informative.

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 5 parameters, no output schema, and moderate complexity, the description is severely lacking. It omits what the tool does, what it returns, and how to effectively use it.

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?

Input schema has 5 parameters with 0% description coverage. The description provides no explanation of any parameter, leaving the agent to infer meaning from names alone (e.g., task, scope, limit).

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 'Main deterministic code navigation workflow' is vague. It uses 'main' but does not specify the actual function (e.g., searching, navigating) or differentiate from sibling tools like exact_search or structural_search.

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?

No guidance on when to use this tool versus alternatives. The phrase 'main workflow' implies primacy but provides no context for when to choose it over more specific siblings.

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. Dates show when Glama detected each change.

  1. 8 tool updatesv0.1.0
    • First observedcode_nav.coverage
    • First observedcode_nav.exact_audit
    • First observedcode_nav.exact_search
    • First observedcode_nav.extract_context
    • First observedcode_nav.find_file
    • First observedcode_nav.health
    • First observedcode_nav.search
    • First observedcode_nav.structural_search

TDQS

B3.1/5.0
Disambiguation5/5

Each tool has a distinct purpose: coverage, exact audit, exact search, context extraction, file finding, health check, main search workflow, and structural search. No significant overlap; an agent can easily differentiate them.

Naming Consistency4/5

All tools follow a consistent prefix 'code_nav.' and use lowercase with underscores. However, the action part varies between nouns (e.g., 'coverage', 'health') and verb_noun patterns (e.g., 'find_file', 'extract_context'), showing minor inconsistency.

Tool Count5/5

With 8 tools, the set is well-scoped for code navigation. Each tool serves a clear function, and the count feels appropriate without being excessive or too sparse.

Completeness4/5

The tools cover a broad range of code navigation tasks: text search, structural search, file finding, coverage, and context extraction. Minor gaps exist like symbol search or definition lookup, but core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Local MCP server that provides semantic search (RAG) over code repositories, enabling AI clients like Claude and Gemini to access project context without manual re-upload.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Agent-safe code retrieval MCP server that indexes repositories and provides semantic search, file navigation, call graph analysis, and bounded file reading tools for coding agents.
    3,448,419
    3
    AGPL 3.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    Workspace-aware MCP server that provides AI clients with structural code understanding via AST parsing, hybrid retrieval, and git history, enabling accurate code search, definition lookup, and blame analysis.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for semantic codebase navigation that builds an AST index of symbols, imports, and exports, providing AI agents with tools to search, explore, and understand code.
    MIT

Latest Blog Posts

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/ARQAWA/code-nav-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server