mcpField
N
Nextscan

Nextscan

本地服务
github.com/berkayderin开发工具135 周前更新

关于 Nextscan

Nextscan 扫描 Next.js 项目,为开发者汇总路由、API 端点、数据库架构和安全问题。其单一扫描工具可聚焦路由、API、架构或安全分析。

主要功能

  1. 01梳理应用路由
  2. 02检查 API 身份验证与校验
  3. 03映射 Prisma 和 Drizzle 关系
  4. 04检测硬编码密钥与环境变量泄露
  5. 05按分析领域选择扫描重点

适用场景

  1. 01快速了解陌生的 Next.js 项目
  2. 02检查 API 端点覆盖及防护
  3. 03审查项目架构或安全问题

MCP 相关

Nextscan 是一个 MCP 服务,向兼容 MCP 的客户端提供扫描工具。该工具根据指定路径分析本地 Next.js 项目。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nextscan": {
"command": "npx",
"args": [
"-y",
"@berkayderin/nextscan"
]
}
}
}
启动命令npx -y @berkayderin/nextscan

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@berkayderin/nextscan1.0.1

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
pathstring是Next.js 项目根目录的绝对路径
focusenum否聚焦于特定区域(省略则执行完整扫描)routes | api | schema | security

详细介绍

nextscan

用于扫描 Next.js 项目并返回精简摘要的 MCP 服务。一次工具调用,即可全面了解项目。

功能

不使用 nextscan使用 nextscan
逐个文件手动探索一次 scan 调用
需要多次工具调用才能了解路由带标记的精简路由树
容易遗漏安全问题检测硬编码密钥和环境变量泄漏
不清楚 API 覆盖情况显示每个端点的身份验证和验证状态
需要猜测架构映射 Prisma/Drizzle 关系

快速安装

# Clone and build
cd nextscan
npm install
npm run build

# Add to Claude Code
claude mcp add nextscan -- node /path/to/nextscan/dist/index.js

工具:scan

参数类型必填描述
path字符串是Next.js 项目根目录的绝对路径
focus枚举否routes | api | schema | security

输出示例

nextscan — my-app
────────────────────────────────────────
Root: /Users/dev/my-app
   src/ : yes  app/ : yes  middleware: yes
   ORM  : prisma

Routes
   Pages: 12  Layouts: 3  API: 5
   Dynamic: 4  Static: 8
   Client: 3  Server: 9
   Groups: (marketing), (auth)
   Matchers: /dashboard/:path*, /api/:path*
   ┌─ Pages
   ├─ /
   ├─ /about
   ├─ /dashboard [client]
   ├─ /blog/[slug] [dyn,SSG]
   └─ /settings [client]

API Endpoints
   Total: 5  Unprotected: 1
   ├─ GET,POST /api/users [auth:next-auth | val:zod]
   ├─ GET /api/health [no-auth,no-rate-limit]
   └─ POST /api/webhook [no-auth,no-validation]

Schema
   Models: 5  Relations: 4
   Orphans: AuditLog
   User ─< Post (1:N)
   User ─ Profile (1:1)
   Post >─< Tag (N:N)

Security
   Score: 75/100  Headers: yes  Middleware: yes
   [high] API route /api/health has no auth: [GET]
   [medium] No rate limiting on /api/users

提示词示例

  • “扫描我位于 /Users/dev/my-app 的 Next.js 项目”
  • “检查我的 Next.js 应用的安全性”
  • “显示路由结构”
  • “分析数据库架构”

架构

src/
├── index.ts              # MCP server entry point
├── tools/scan.ts         # Orchestrator
├── analyzers/
│   ├── routes.ts         # App router analysis
│   ├── api.ts            # API endpoint analysis
│   ├── schema.ts         # Schema orchestration
│   └── security.ts       # Security scanning
├── parsers/
│   ├── typescript.ts     # ts-morph utilities
│   ├── prisma.ts         # Regex-based Prisma parser
│   └── drizzle.ts        # AST-based Drizzle parser
├── formatters/
│   └── compact.ts        # Unicode tree formatter
└── utils/
    ├── fs.ts             # File system utilities
    └── detect.ts         # Project detection

要求

  • Node.js 18+
  • 兼容 MCP 的客户端(Claude Code、Claude Desktop 等)

开发

npm install
npm run build
npm test
npm run test:coverage

作者

Berkay Derin — github.com/berkayderin

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。