Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Deterministic code maps for AI agents: 7 tree-sitter tools for TS/JS/Py — map, find, function_body
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
The maker has not listed install details in the registry. See the maker’s README below.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account segentic-lab, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code.
In the same category: Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
## ⚠️ Superseded by lens-mcp
codelens has merged into [`lens-mcp`](https://github.com/segentic-lab/lens-mcp) — one MCP
server that maps **both code *and* markdown docs**. It carries every codelens
tool (
map,overview,functions,function_body,comments,find,info)
unchanged, plus doc tools (
outline,heading,links,search) and a unified
mapthat returns a whole project's code structure *and* doc outlines in one call.
Use lens-mcp instead —
git clone https://github.com/segentic-lab/lens-mcp.
This repo remains only so existing links resolve; it is no longer developed.
_(The description below is retained for reference.)_
Deterministic structural code maps for AI agents. An MCP server (stdio) that gives agents the shape of a codebase — imports, exports, classes, functions, signatures, comments, TODO-markers — without reading whole files into context. Powered by tree-sitter WASM grammars: no native build step, installs anywhere Node 18+ runs.
The contract: codelens is a navigation map. Use it to *locate* code, then Read the actual source before judging or modifying it. A signature is not the body; an outline is not the section.
7 read-only tools. Every list in every response is capped, and every cap is reported with an explicit truncated flag — no silent cutoffs.
| Tool | What it does |
|---|---|
map | Per-file structural overview of a whole directory tree in one call. Skips node_modules, dist, venv, hidden dirs, etc. The orientation tool. |
overview | One file's top-level structure: imports, exports, classes (with method names), functions — all with 1-based line/endLine. |
functions | Every *addressable* function in a file — nested functions, methods, getters/setters, class-field arrows, object-literal properties, default exports — with reconstructed signatures, param types, return type, async/exported flags, and parent scope. (Anonymous callbacks passed as arguments and Python lambdas are not listed — they have no name to navigate to.) |
comments | All comments with line ranges, kind (line/block/doc), and TODO/FIXME/FIX/BUG/HACK/NOTE/XXX marker detection (uppercase-only, no prose false-positives). markersOnly: true returns just the debt list. |
function_body | Verbatim source of *one* function (with decorators) by bare or dotted name (Widget.render) — the focused read that replaces whole-file Reads. Ambiguous names fail listing the candidates; it never guesses. |
find | "Where is X defined?" — locate function/method/class definitions by name across a directory. Definitions only, not call sites. |
info | Server self-description: version, working directory (the path sandbox root), languages, caps. |
overview, functions, and comments accept a single path or an array of up to 20 paths per call.
| Extension | Language | Grammar |
|---|---|---|
.ts, .mts, .cts | TypeScript | tree-sitter-typescript |
.tsx | TypeScript + JSX | tree-sitter-tsx (dedicated grammar — JSX parses correctly) |
.js, .jsx, .mjs, .cjs | JavaScript | tree-sitter-javascript |
.py | Python | tree-sitter-python |
The server only reads files under its own working directory (the directory it was launched from). Relative paths resolve against it; absolute paths are accepted only if they point inside it; symlinks that escape it are rejected. The info tool reports the root, and every rejection names it. Launch the server from the project you want mapped.
hasErrors: true plus parseErrors line ranges, because tree-sitter error-recovery can drop code near the error.isError on the MCP result and return {error, path, hint} — the hint says how to fix the call.{requested, succeeded, failed} summary; isError only when every file failed.truncated flags carry the true totals.npm install
npm run build # tsc → dist/ npm test # build + 62 tests (51 unit, 11 stdio e2e) node dist/index.js # stdio MCP server (launch from the project to analyze)
MCP client config:
{
"mcpServers": { "codelens": { "command": "node", "args": ["/path/to/codelens-mcp/dist/index.js"], "cwd": "/path/to/project-to-analyze" } } }
AGENTS.md in this repo is a paste-ready guide for teaching an agent to use these tools well — core model, per-tool tips, and the pitfalls (path sandbox, language coverage, the map-vs-territory rule).
AGPL-3.0 — see LICENSE.