Token导航 LogoToken导航TokenDH.com
MCP Thorns logo
开发工具未说明官方级别未说明来源级核验

MCP Thorns

MCP Server

Thorns是一款跨平台的代码库智能分析工具,支持12种编程语言,提供依赖图、代码重复检测、耦合度量等功能,适用于开发效率优化和代码质量提升。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
代码分析JavaScript开发工具跨平台

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

AnEntrypoint

提供方

AnEntrypoint

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Thorns-超紧凑型代码库智能

使用树形图进行跨平台代码库分析,以最小的输出获得最大的洞察力。

特性

  • 跨平台:WSL、Linux、Windows、macOS(arm64/x64)
  • 12种语言:JavaScript、TypeScript、Python、Rust、Go、C/C++、Java、C#、Ruby、PHP、JSON
  • 依赖图:文件级导入、孤立、循环deps
  • 代码重复:基于AST的克隆检测
  • 耦合度量:大多数连接的文件
  • 文件大小:分布和最大文件
  • 标识符使用:最常见的变量/函数
  • 复杂性热点:高cx/深度文件
  • 超全面忽略:自动加载.gitignore、.docherignore、.npmignore+200+内置模式
  • 智能过滤:忽略所有语言中的node_modules、target、vendor、dist、build、.cache等
  • 超紧凑型:零不必要的代币
  • 快速:本机解析器,每秒约1000个文件,跳过96%以上的无关文件

用法

快速开始

分析当前目录:

bunx mcp-thorns

分析特定目录:

bunx mcp-thorns /path/to/codebase

使用Bun在全球范围内安装

bun add -g mcp-thorns

然后使用:

thorns /path/to/codebase

程序化API

import { analyze } from 'mcp-thorns';

// Get ultra-compact analysis as a string
const output = analyze('./path/to/codebase');
console.log(output);

// Or use the raw functions for custom formatting
import { analyzeCodebase, formatUltraCompact } from 'mcp-thorns';

const data = analyzeCodebase('./path/to/codebase');
const formatted = formatUltraCompact(data);

输出格式

超紧凑的备忘单,信息密度最大:

━━━ 47f 8.5kL 44fn 5cls cx:7.9 d:21.7 ━━━
JA 97% 40f 8.3kL 44fn 5c 575i 96e cx:7.9
JS 3% 7f 214L 0fn 0c 0i 0e cx:0
━━━ fn ━━━
7× Ja:main(1)
6× Ja:uuid(1)
5× Ja:createApp(1)
4× Ja:verifyApps(1)
3× Ja:processNextApp(1)
━━━ cls ━━━
2× Ja:StatelessMCPTools
2× Ja:ValidationSystem
━━━ imports ━━━
2× import { CallToolRequestSchema...
1× import WebSocket from 'ws';
━━━ calls ━━━
504× console.log
63× ws.on
51× setTimeout
━━━ ⚠ hotspots ━━━
cx:57 d:19 src/validation-system.js
cx:20 d:28 src/stateless-mcp-tools-basic.js

传说:

  • 缩写: f=文件 L=线条 fn=功能 cls=类别 i=进口 e=出口 cx=复杂性 d=AST深度 (N)=参数计数
  • 问题: orph=孤立文件 dup=重复代码 circ=圆形deps in/out=依赖耦合
  • TOTALS:总文件、行、函数、类、平均复杂度、平均深度|问题计数
  • 语言行:代码库的百分比、文件/行/函数/类/导入/导出计数、平均复杂性
  • TOP-FUNCTIONS(most-defined):最常见的函数签名(count×lang:签名)
  • TOP-CLASSES(most-defined):最常见的类别
  • TOP-IMPORTS(common-deps):最常见的进口
  • TOP-CALLS(frequent-invocations):调用最多的函数/API
  • HOTSPOTS(complex-files):复杂性热点-重构候选对象(cx=复杂性,d=深度)
  • ORPHANS(unused-or-entries):文件未导入到任何地方-潜在的死代码或入口点
  • COUPLING(central-files):具有最多依赖项的文件-中心集线器,重构候选文件(在←进口,out→uses)
  • DUPLICATES(code-clones):基于AST的结构克隆-合并候选(计数×哈希:文件)
  • CIRCULAR-DEPS(import-cycles):导入周期-架构问题
  • LARGEST-FILES(split-candidates):最大的文件-可维护性风险
  • FILE-SIZE-DISTRIBUTION:按行数的文件大小分布
  • TOP-IDENTIFIERS(common-names):代码库中使用最多的变量名

支持的语言

  • JavaScript(.js、.mjs、.cjs、.jsx)
  • TypeScript(.ts、.tsx)
  • Python(.py)
  • 锈蚀(.rs)
  • 去(.去)
  • C(.C,.h)
  • C++(.cpp、.cc、.cxx、.hpp)
  • Java(.Java)
  • C#(.cs)
  • Ruby(.rb)
  • PHP(.PHP)
  • JSON(.JSON)

忽略的目录和文件

自动跳过200多种模式,包括:

  • 版本控制系统: .git, .svn, .hg, CVS
  • 构建工件: dist, build, out, target, vendor
  • 特定语言的: node_modules, __pycache__, .gradle, Pods等等。
  • 缓存: .cache, .next, .nuxt, .parcel-cache, .vite, .turbo
  • 月中日: .vscode, .idea, .vs, .sublime-*
  • 测试和覆盖: .pytest_cache, .nyc_output, coverage, htmlcov
  • 主目录: ~/.cache, ~/.config, ~/.local, ~/.npm, ~/.cargo等等。(分析子图形时)
  • 锁定文件: bun.lockb, package-lock.json, yarn.lock, pnpm-lock.yaml
  • 自定义模式:加载和合并 .gitignore, .dockerignore, .npmignore, .thornsignore

Thorns通过忽略96%以上的非代码文件来优先考虑速度。

需求

  • 运行时:Bun>=1.0
  • 平台:Linux、macOS、Windows(WSL2)、Docker
  • 为支持的平台自动下载预构建的二进制文件

兼容性

Linux:Ubuntu、Debian、Alpine、Fedora、Arch ✅ macOS:英特尔和苹果硅(arm64) ✅ 视窗:WSL2、Git Bash、PowerShell ✅ 码头工人:所有Linux映像(Alpine、Debian、Ubuntu) ✅ CI/CD:GitHub Actions、GitLab CI、Jenkins、CircleCI ✅ :AWS Lambda(带节点/Bun层)、GCP云功能

执行方法

方法最适合要求
bunx快速分析bun
Bun global重复使用bun
程序化集成Bun

运作原理

  1. 遍历目录树,按扩展名过滤
  2. 使用树状图解析每个文件
  3. 分析AST的函数、类、导入、导出、复杂性
  4. 按语言汇总统计数据
  5. 输出简明摘要

演出

  • 跳过大于1MB的文件
  • 使用本机解析器(不是WASM)
  • 最小内存占用
  • 在现代硬件上每秒处理约1000个文件

触发npm发布

目录标签

目录标签

代码分析JavaScript开发工具跨平台本地部署依赖图代码重复检测开发效率

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP