NPM包代码分析服务器

一个强大的模型上下文协议(MCP)服务器,能够实时获取、探索和分析来自任何NPM包的源代码。

  • by Ligament
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Ligament/npm-package-mcp-server

使用说明

📦 NPM包MCP服务器

一个强大的模型上下文协议(MCP)服务器,使AI助手能够实时从任何NPM包中获取、探索和分析源代码。

🚀 快速开始

# Install
npm install -g npm-package-mcp-server

# Run
npm-package-mcp-server

✨ 特性

  • 📦 获取任何NPM包:从数百万个软件包中下载并探索源代码
  • 🔍 智能文件发现:使用智能代码检测列出和过滤文件
  • 📄 选择性代码读取:获取特定文件或整个代码库
  • 🏷️ 版本控制:支持任何已发布的软件包版本
  • 🧹 自动清理:自动临时文件管理
  • 🔒 类型安全:完全支持TypeScript,具有全面的错误处理功能
  • ⚡ ES模块:具有最佳性能的现代JavaScript
  • 🤖 AI就绪:与Claude、ChatGPT和其他AI助手完美集成

🎯 用例

  • 代码分析:在采用库之前对其进行分析
  • 学习:学习编写良好的开源代码
  • 人工智能开发:使AI助手能够理解包内部
  • 文档:通过分析源代码生成文档
  • 安全审计:审查安全问题的依赖关系
  • 迁移规划:升级包时了解API

📖 api参考

可用工具

get_npm_package_code


## 🔧 Installation & Setup

### Option 1: Global Installation
```bash
npm install -g npm-package-mcp-server
npm-package-mcp-server

方案2:地方发展

git clone https://github.com/Ligament/npm-package-mcp-server.git
cd npm-package-mcp-server
npm install
npm run build
npm start

选项3:Docker

docker run -it npm-package-mcp-server

🤖 AI助手集成

克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "npm-packages": {
      "command": "npm-package-mcp-server"
    }
  }
}

其他MCP客户端

适用于任何兼容MCP的客户端。使用server命令配置stdio传输。

🏗️ 建筑

graph TD
    A[AI Assistant] --> B[MCP Client]
    B --> C[NPM Package MCP Server]
    C --> D[NPM Registry]
    C --> E[Package Extraction]
    C --> F[File System]
    E --> G[Code Analysis]
    G --> A

📊 支持的软件包

  • ✅ 所有公共NPM包
  • ✅ 范围包(@org/package)
  • ✅ 任何已发布版本
  • ✅ TypeScript和JavaScript
  • ✅ React、Vue、Angular、Node.js包
  • ✅ Monorepo软件包

🔥 要探索的热门套餐

使用您的AI助手尝试以下命令:

"Analyze the lodash utility functions"
"Show me the React hooks implementation"
"Explore the Express.js middleware system"
"Review the TypeScript compiler source"

🛠️ 发展

脚本

npm run build      # Compile TypeScript
npm run dev        # Development with hot reload
npm run test       # Run tests
npm run clean      # Clean build artifacts

贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 提交更改: git commit -m 'Add amazing feature'
  4. 推送到分支: git push origin feature/amazing-feature
  5. 打开拉取请求

📈 演出

  • 快速下载:优化的npm注册表API使用
  • 内存效率高:流式传输大型包
  • 智能缓存:临时文件管理
  • 错误恢复:强大的错误处理

🔒 安全

  • 只读的:从不修改包
  • 沙盒:临时提取目录
  • 不执行:只读取源代码
  • 仅限公共套餐:没有私有注册表访问权限

🐛 故障排除

问题 解决方案
找不到包 验证上的包名称 npmjs.com
网络错误 检查互联网连接
权限错误 确保Node.js 18+和适当的权限
大包超时 尝试特定文件路径而不是完整包

📄 许可证

MIT© 韧带

🌟 明星历史

🤝 相关项目


⭐ 标记此回购 • 🐛 报告Bug • 💡 请求功能

由以下材料制成❤️ 面向人工智能开发社区