NinjaCode MCP服务器🥷
教人工智能代理编写生产级安全代码
产品 NinjaMinds
版本2.0.0 -主要版本包含帮助中心、代码段和增强的依赖安全性!
______________________________________________________________________
🎯 什么是NinjaCode?
NinjaCode是一个MCP(模型上下文协议)服务器,充当您的 代码质量感知 -帮助AI代理生成高质量、安全和可维护的代码。
✨ v2.0.0(主要版本)中的新功能:
- 🆕 应用内帮助中心 -15个以上主题、常见问题解答和视频教程的可搜索帮助(按F1!)
- 🆕 代码段库 -15+通过MCP工具的可重用代码模式(auth、API、测试等)
- 🆕 增强的依赖关系扫描 -通过许可证、资金和版权检查进行自动包验证
- 🤖 副驾驶安全执法 -AI代理必须只使用最新的安全包,不允许有漏洞
- 🛡️ 许可证合规 -自动检测需要用户批准的GPL/AGPL/专有许可证
- 💰 资金透明度 -软件包维护者向开发人员提出资金请求
- ✅ 开机自动启动 -桌面应用程序在系统托盘中自动启动
- 📚 综合文档 -每个功能的分步指南
特征:
核心功能(本地和企业)
- 🔐 秘密扫描 -检测并防止硬编码机密(AWS密钥、API令牌、密码等)
- 🛡️ 漏洞检测 -根据OWASP指南查找并修复安全问题
- 📊 代码质量分析 -执行干净代码原则,检测代码气味
- 🏗️ 架构指导 -12因素应用程序合规性验证
- 📁 结构模板 -适用于任何项目类型的最佳实践文件夹结构
- 📚 最佳实践 -特定语言的习语和模式
- 📦 增强的依赖关系扫描 -通过许可证/资金/版权检查对安全数据库进行自动验证(v2.0.0中的新功能)
- 🔒 合规检查 -GDPR、SOC2、HIPAA、PCI-DSS合规性验证
- ⚡ 性能分析 -检测N+1个查询、内存泄漏和性能问题
- 📝 代码片段 -用于auth、API、测试等的15+生产就绪模式(v2.0.0中新增)
- ❓ 应用内帮助 -可搜索的帮助中心,提供教程和常见问题解答(v2.0.0中的新功能)
企业功能(服务器模式)
- 👥 用户管理 -基于角色的访问控制(RBAC)
- 🏢 组织设置 -集中策略管理
- 📋 审计日志 -所有行动的完整审计跟踪
- 📊 分析仪表板 -使用情况分析和报告
- 🔐 多租户技术 -支持多个组织
- 🌐 RESTful API -程序化访问和集成
- ⚙️ 自定义策略 -组织特定编码规则
______________________________________________________________________
📥 下载
下载已签名的可执行文件 仅 来自NinjaMinds官方频道:
- 🌐 主要的,重要的 ninjaminds.org/下载
- 📦 镜子:
| 平台 | ninjaminds.org | GitHub发布 |
|---|
无需Node.js或依赖项! 只需下载并使用IDE进行配置。
______________________________________________________________________
🚀 快速开始
- 下载 适用于您平台的可执行文件
- 双击 exe查看IDE的安装说明
- 配置 带有可执行文件路径的IDE
- 开始编码 基于AI的代码质量指导!
______________________________________________________________________
⚙️ IDE配置
注: 您不需要手动保持服务器运行。需要时,IDE会在后台自动启动它。
✅ 推荐:按项目设置(适用于所有IDE)
这是最好的办法! 创建 .vscode/mcp.json 在项目根目录中,它会自动为打开项目的任何人工作。
窗户:
{
"servers": {
"ninjacode": {
"command": "C:\\Users\\YourName\\Downloads\\ninjacode-win.exe"
}
}
}macOS/Linux:
{
"servers": {
"ninjacode": {
"command": "/Users/yourname/Downloads/ninjacode-macos"
}
}
}优点:
- ✅ 适用于整个团队(提交到Git)
- ✅ 适用于VS Code、Cursor、Windsurf等。
- ✅ 无需手动配置IDE
- ✅ 项目可跨机器移植
🔧 Advanced: Developing from source?
如果你使用Node.js从源代码构建NinjaCode:
{
"servers": {
"ninjacode": {
"command": "node",
"args": ["dist/bundle.cjs"],
"cwd": "${workspaceFolder}"
}
}
}______________________________________________________________________
备选方案:全局设置(所有项目)
如果你想NinjaCode在 每个项目 您打开:
🔷 VS代码(GitHub副本)
文件: %APPDATA%\Code\User\settings.json (Windows)或 ~/.config/Code/User/settings.json (Linux/Mac)
{
"mcp.servers": {
"ninjacode": {
"command": "C:\\path\\to\\ninjacode-win.exe"
}
}
}🟣 光标
文件: %APPDATA%\Cursor\User\settings.json (Windows)
{
"mcp.servers": {
"ninjacode": {
"command": "C:\\path\\to\\ninjacode-win.exe"
}
}
}🌊 风帆冲浪(Codeium)
文件: %APPDATA%\Windsurf\User\settings.json (Windows)
{
"mcp.servers": {
"ninjacode": {
"command": "C:\\path\\to\\ninjacode-win.exe"
}
}
}🟠 克劳德桌面版
文件: %APPDATA%\Claude\claude_desktop_config.json (Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json (Mac)
{
"mcpServers": {
"ninjacode": {
"command": "C:\\path\\to\\ninjacode-win.exe"
}
}
}🔵 泽德
文件: ~/.config/zed/settings.json
{
"context_servers": {
"ninjacode": {
"command": {
"path": "/path/to/ninjacode-linux"
}
}
}
}⚫ 继续(VS代码/JetBrains扩展)
文件: ~/.continue/config.json
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "C:\\path\\to\\ninjacode-win.exe"
}
}
]
}
}🟤 Cline(VS代码扩展)
在VS Code中打开Cline设置,并使用以下命令添加MCP服务器:
C:\path\to\ninjacode-win.exe______________________________________________________________________
🌐 “远程版本”(不需要企业服务器)
如果您使用的是公共NinjaCode MCP ninjacode.ninjaminds.org,那是为了 下载/文档.MCP在VS代码/光标/风帆中是 基于stdio 今天,这意味着您的IDE必须启动 本地进程 (ninjacode-win.exe 或 node dist/bundle.cjs).
- ✅ 远程/公共用例:下载已签名的可执行文件,并配置IDE以在本地运行它。
- ❌ VS代码不支持 (尚未):将MCP设置为URL,如
https://ninjacode.ninjaminds.org作为服务器。
分开的 企业服务器模式 (mcp-server/)仅适用于需要集中式策略、用户管理和数据库支持的管理员API的组织。
______________________________________________________________________
🤖 启用自动执行
默认情况下,NinjaCode工具可供AI代理使用,但需要显式调用。制作NinjaCode 在每次请求时自动引导您的AI,为您的项目添加说明:
步骤1:复制说明模板
将模板复制到项目的 .github 文件夹:
# Windows PowerShell
New-Item -ItemType Directory -Force -Path "C:\path\to\your\project\.github" | Out-Null
Copy-Item "templates\copilot-instructions-template.md" "C:\path\to\your\project\.github\copilot-instructions.md" -Force# macOS/Linux
mkdir -p /path/to/your/project/.github
cp templates/copilot-instructions-template.md /path/to/your/project/.github/copilot-instructions.md或手动创建 .github/copilot-instructions.md 在您的项目中,内容来自: templates/copilot-instructions-template.md
步骤2:重新启动VS代码
VS代码读取 .github/copilot-instructions.md 在启动时,将其注入Copilot的上下文中。
自动执行的内容:
| 场景 | 工具自动使用 | 检查内容 |
|---|---|---|
| 编写任何代码 | analyze_code_quality | 函数长度、嵌套、代码气味 |
| 添加凭据/config | scan_secrets | 硬编码机密,API密钥 |
| 处理用户数据 | check_compliance | GDPR、HIPAA、SOC2、PCI-DSS |
| 添加依赖关系 | scan_dependencies | CVE,过时的软件包 |
| 构建API | analyze_performance | N+1个查询,内存泄漏 |
| 新项目 | suggest_folder_structure | 最佳实践结构 |
示例:你会看到什么
当您要求Copilot编写代码时,它会自动分析并响应:
⚠️ NinjaCode Security Analysis
🔴 CRITICAL: Hardcoded API key detected
→ Line 5: const key = "sk-..."
→ Fix: Use process.env.API_KEY instead
🟡 WARNING: Function exceeds 50 lines (72 lines)
→ Consider splitting into smaller functions
✅ PASSED: No SQL injection vulnerabilities
✅ PASSED: Proper error handling present______________________________________________________________________
✅ 验证它是否正常工作
终端烟雾测试(节点)
从这个仓库中,您可以确认NinjaCode通过stdio响应MCP JSON-RPC:
$init = '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}';
$tool = '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"scan_secrets","arguments":{"code":"const key = \\\"sk-1234\\\";","language":"javascript"}}}';
echo "$init`n$tool" | node dist/bundle.cjsIDE测试
- 配置IDE(每个项目
.vscode/mcp.json或全局设置) - 重新启动IDE
- 问副驾驶/你的经纪人:“运行NinjaCode
scan_secrets关于这个片段:const key = "sk-1234";” - 当工具调用提示出现时,批准该提示
______________________________________________________________________
🛠️ 可用工具
| 工具 | 说明 | 何时使用 |
|---|---|---|
scan_secrets | 检测硬编码凭据 | 使用配置提交代码之前 |
analyze_code_quality | 代码度量和气味 | 代码审查期间 |
scan_dependencies | 检查CVE | 添加/更新包时 |
check_compliance | GDPR、HIPAA、SOC2、PCI-DSS | 处理敏感数据时 |
analyze_performance | N+1查询,内存泄漏 | 部署到生产环境之前 |
suggest_folder_structure | 最佳实践项目布局 | 启动新项目 |
get_best_practices | 语言/框架模式 | 学习新技术 |
get_code_snippets 🆕 | 可重用代码示例 | 需要样板或模式 |
🆕 代码段工具(v0.2.0中的新功能)
让你的AI助手找到可重用的代码示例:
"Show me Express.js authentication snippets from NinjaCode"
"Find React hooks examples in NinjaCode"
"Get database transaction patterns from NinjaCode snippets"可用类别:
- 🔐 身份验证(JWT、bcrypt、OAuth)
- 🌐 API(REST、GraphQL、验证)
- 💾 数据库(事务、迁移)
- 🧪 测试(恶作剧、模拟、夹具)
- ⚠️ 错误处理(自定义错误、中间件)
- ⚡ 性能(缓存、记忆)
- 🔒 安全(限速、消毒)
- 🎨 UI(React钩子、表单处理)
- 🛠️ 实用程序(日志记录、配置)
企业工具(服务器模式)
| 工具 | 说明 |
|---|---|
check_compliance | 根据自定义策略进行特定组织的合规性检查 |
enforce_policy | 执行特定于组织的编码策略 |
检测到的秘密类型
- AWS访问密钥和密钥
- GitHub/GitLab代币
- 条纹API密钥(实时和测试)
- MongoDB/PostgreSQL连接字符串
- JWT代币
- RSA/SSH私钥
- Azure连接字符串
- Google API密钥
- Slack代币
- 通用API密钥和密码
______________________________________________________________________
📚 可用资源
| 资源 | 描述 |
|---|---|
| 12因素应用 | 12因素应用方法 |
| SOLID原则 | 带示例的SOLID原则 |
| 干净代码 | 干净代码原则指南 |
| 秘密模式 | 秘密检测模式数据库 |
______________________________________________________________________
💬 可用提示
| 提示 | 描述 |
|---|---|
code_review | 全面的代码审查(质量、安全、最佳实践) |
security_audit | 以OWASP为重点的安全分析 |
refactor_guide | 逐步重构建议 |
______________________________________________________________________
📖 运作原理
┌─────────────┐ MCP Protocol ┌─────────────────┐
│ AI Agent │ ◄──────────────────► │ NinjaCode MCP │
│ (Copilot) │ stdin/stdout │ Server │
└─────────────┘ └─────────────────┘
│
┌──────┴──────┐
▼ ▼
┌──────────┐ ┌──────────┐
│ Secret │ │ Quality │
│ Scanner │ │ Analyzer │
└──────────┘ └──────────┘- IDE集成:您的IDE生成NinjaCode作为后台进程
- MCP协议:使用模型上下文协议通过stdin/stdout进行通信
- 工具调用:AI代理调用NinjaCode工具进行代码质量指导
- 回复:NinjaCode分析代码并返回可操作的建议
______________________________________________________________________
📄 许可证
©2025 NinjaMinds。保留所有权利。
被允许:
- ✅ 下载并使用个人和商业项目的可执行文件
- ✅ 使用任何支持的IDE进行配置
- ✅ 与他人共享下载链接
不允许:
- ❌ 修改源代码
- ❌ 重新分发修改后的版本
- ❌ 对可执行文件进行逆向工程
- ❌ 删除或更改版权声明
仅官方来源:
- 🌐 网站: ninjaminds.org
- 📦 github:
警告: 只能从官方来源下载。非官方来源的可执行文件可能包含恶意软件。
______________________________________________________________________
🆘 支持
- 📧 电子邮件:support@ninjaminds.org
- 🐛 问题:
- 📖 文件: ninjaminds.org/docs
______________________________________________________________________
🙏 致谢
______________________________________________________________________
建于❤️ NinjaMinds为更好的AI生成代码
