关于 Nextscan
Nextscan 扫描 Next.js 项目,为开发者汇总路由、API 端点、数据库架构和安全问题。其单一扫描工具可聚焦路由、API、架构或安全分析。
主要功能
- 01梳理应用路由
- 02检查 API 身份验证与校验
- 03映射 Prisma 和 Drizzle 关系
- 04检测硬编码密钥与环境变量泄露
- 05按分析领域选择扫描重点
适用场景
- 01快速了解陌生的 Next.js 项目
- 02检查 API 端点覆盖及防护
- 03审查项目架构或安全问题
MCP 相关
Nextscan 是一个 MCP 服务,向兼容 MCP 的客户端提供扫描工具。该工具根据指定路径分析本地 Next.js 项目。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | Next.js 项目根目录的绝对路径 |
| focus | enum | 否 | 聚焦于特定区域(省略则执行完整扫描)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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。