An Angular version upgrade helper built as a Model Context Protocol (MCP) server that provides intelligent dependency management and upgrade assistance.
NgPlusPlus is designed to help developers upgrade Angular applications and manage their dependencies more effectively. It provides automated tools for dependency resolution, version updates, and compatibility checking through the Model Context Protocol.
- Intelligent Dependency Resolution: Automatically resolves transitive dependencies and ensures compatibility
- Version Management: Update packages using npm-check-updates with enhanced capabilities
- Compatibility Checking: Validates dependency compatibility before applying updates
- MCP Integration: Works seamlessly with MCP-compatible clients and AI assistants
- Enhanced Echo Tools: Multiple echo variants with formatting and AI enhancements
Automatically updates package dependencies and resolves transitive dependencies:
- Updates specified packages to target versions
- Resolves and updates incompatible transitive dependencies
- Provides detailed feedback on all changes
Enhanced npm-check-updates functionality:
- Check for newer versions of dependencies
- Update package.json with latest compatible versions
- Optional doctor mode for breaking change detection
Multiple echo variants for testing and enhancement:
echo: Basic text echomulti_echo: Echo multiple texts with formatting optionsecho_formatted: Text formatting (uppercase, lowercase, etc.)echo_ai_enhanced: AI-powered enhancements (grammar, style, translation)
- Clone the repository:
git clone <repository-url>
cd NgPlusPlus- Install dependencies:
npm install- Build the project:
npm run buildThe primary use case is as an MCP server. After building, you can run it using:
npm startOr for development:
npm run devThe server can be configured to work with MCP clients. Add it to your MCP client configuration:
{
"mcpServers": {
"ngplusplus": {
"command": "node",
"args": ["path/to/NgPlusPlus/dist/index.js"]
}
}
}npm run dev- Run in development mode with hot reloadnpm run build- Build the TypeScript projectnpm run rebuild- Clean build artifacts and rebuild the projectnpm run build:watch- Build in watch modenpm run test- Run all testsnpm run clean- Clean build artifacts
src/
├── index.ts # Main MCP server entry point
├── tools/ # MCP tools implementation
│ ├── dependency-resolver.tool.ts
│ ├── ncu.tool.ts
│ └── echo.tool.ts
├── utils/ # Utility functions
│ ├── logger.utils.ts
│ ├── package-json.utils.ts
│ └── version.utils.ts
└── services/ # External services
└── openai.service.ts
Run tests using:
npm testTests are located in the test/ directory and use Mocha with Chai for assertions.
@modelcontextprotocol/sdk- MCP SDK for server implementationnpm-check-updates- Package update checkingopenai- AI service integrationsemver- Semantic versioning utilitieszod- Schema validation
typescript- TypeScript compilermocha&chai- Testing frameworktsx- TypeScript execution
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Ensure all tests pass (
npm test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License.
Arijit Kundu
For detailed documentation on specific tools, see the docs/ directory:
NgPlusPlus includes comprehensive logging capabilities:
- File-based logging with rotation
- Configurable log levels
- Structured logging with context
- Logs are stored in the
logs/directory
For issues, questions, or contributions, please use the GitHub repository's issue tracker.