Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Deterministic code maps for AI agents: 7 tree-sitter tools for TS/JS/Py — map, find, function_body
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 segentic-lab 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.0)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
## ⚠️ 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.