Skip to main content
Glama
dev-prajwal

Cursor Auto-Review MCP Server

by dev-prajwal
README.md
# Cursor Auto-Review MCP Server

MCP server for automated code review, testing, linting, and commit/PR generation.

## Features

### Available Tools

1. **get_diff** - Get git diff (staged or working)
2. **get_recent_commits** - Get recent commit messages
3. **run_tests** - Run test suite
4. **run_lint** - Run linter
5. **generate_commit_and_pr** - Generate commit message and PR description ✨ NEW

### New Feature: Commit & PR Generation

The `generate_commit_and_pr` tool analyzes your changed files and automatically generates:

- **Detailed Commit Message** with:
  - Conventional commit format (feat/fix/refactor/chore)
  - Change summary
  - File statistics
  - Affected areas
  - File type breakdown

- **PR Description** with:
  - **Summary**: Overview of changes
  - **Why**: Reasons for the changes
  - **How**: Implementation details
  - **Risks/Rollback**: Risk assessment and rollback plan
  - **Testing Recommendations**: Checklist for testing

## Usage

### Command: `/auto-review-commit`

When you type `/auto-review-commit` in Cursor, the AI will:

1. Analyze all changed files (working directory by default)
2. Generate a detailed commit message
3. Generate a comprehensive PR description
4. Provide analysis statistics

**Example:**
```
/auto-review-commit
```

### Command: `/auto-review`

The `/auto-review` command now includes commit and PR generation at the end:

1. Get git diff
2. Check for linting errors
3. Run tests (if available)
4. Analyze code quality
5. **Generate commit message and PR description** ✨ NEW

## Tool Parameters

### `generate_commit_and_pr`

```typescript
{
  mode?: "staged" | "working"  // Default: "working"
}
```

- `staged`: Analyze staged changes only
- `working`: Analyze all working directory changes

## Output Format

The tool returns a JSON object with:

```json
{
  "commitMessage": "feat(search): improve type safety, add documentation\n\n...",
  "prDescription": "## Summary\n\n...",
  "analysis": {
    "changedFiles": 2,
    "totalAdditions": 150,
    "totalDeletions": 50,
    "affectedAreas": ["app/composables", "app/components"],
    "fileTypes": { "ts": 1, "vue": 1 }
  }
}
```

## Installation

1. Build the project:
```bash
npm run build
```

2. The MCP server is configured in `~/.cursor/mcp.json`:
```json
{
  "mcpServers": {
    "cursor-auto-review": {
      "command": "node",
      "args": ["/path/to/cursor-autoreview-mcp/dist/index.js"]
    }
  }
}
```

3. Restart Cursor to load the updated MCP server.

## How It Works

### Commit Message Generation

The tool analyzes:
- File changes (additions, deletions, modifications)
- Code patterns (type improvements, documentation, constants)
- Affected areas and file types
- Change magnitude (refactor vs feature vs fix)

### PR Description Generation

The tool creates sections:
- **Summary**: High-level overview with statistics
- **Why**: Extracted from code patterns and change analysis
- **How**: Detailed breakdown of changes made
- **Risks/Rollback**: Risk assessment based on change scope and affected areas
- **Testing Recommendations**: Context-aware testing checklist

## Examples

### Example 1: Type Safety Improvements

**Input**: Changed files with `FilterItem` type imports

**Output**:
- Commit: `refactor(search): improve type safety, extract constants`
- PR Why: "Improve type safety and reduce potential runtime errors"
- PR How: "Replaced `any[]` types with proper `FilterItem[]` types"

### Example 2: Documentation Updates

**Input**: Files with JSDoc comments added

**Output**:
- Commit: `docs(search): add documentation, improve error handling`
- PR Why: "Enhance code documentation and maintainability"
- PR How: "Added JSDoc comments to complex functions"

## Development

```bash
# Build TypeScript
npm run build

# Run in development (if ts-node is available)
npm start
```

## License

ISC

# Cursor-auto-review-mcp