Skip to main content

Install in Cursor

Step 1: Configure remcp

Run the following command to configure remcp for Cursor:

remcp configure cursor

Step 2: Add a User Rule

Add the following user rule in your Cursor settings:

Cursor User Rule Example

Click to expand: Cursor User Rule
---
name: Verify Changes Using Recurse ML MCP

globs: "**/*.{js,ts,py,rs,go,java,rb,cs,tsx,jsx}"

alwaysApply: true

description: Use Recurse ML MCP to verify your work. Before making changes, call init() on the project if not already done. Once all changes are done, call check() to get bug reports.
---

# Verify Changes Using Recurse ML MCP

Use Recurse ML MCP to verify your work while completing tasks. Before making any changes, call `init()` on the project if not already done. Once all changes are done, call `check()` to get bug reports.

## Do

1. Call `mcp_recurse_init()` before making changes to initialize the project for analysis.
2. Call `mcp_recurse_check()` after completing your changes to get bug reports.
3. Investigate the bug reports and fix valid issues.
4. Use `mcp_recurse_ignore_issue()` if you're aware of an issue but choose not to address it.

## Don't

1. DON'T skip initialization - always call `init()` before starting work.
2. DON'T forget to call `check()` after completing changes.
3. DON'T ignore bug reports without investigating them first.

## MCP Usage

The Recurse ML MCP provides the following tools:

- `mcp_recurse_init(repo_path)`: Initialize a codebase for analysis. Sets up the project for continuous analysis by performing health checks, creating a project entry in the database, and starting the background worker (if not already running).

- `mcp_recurse_check(project_id)`: Check the status of the latest analysis and retrieve any issues found. This should be fast (<1s) as it just reads from the database. The tool might report that an analysis is pending, which means you need to call it again in some time until it says that the analysis either succeeded or errored out.

- `mcp_recurse_ignore_issue(issue_id)`: Indicate that you're aware of an issue but choose not to address it.

- `mcp_recurse_doctor()`: Run diagnostic checks to troubleshoot installation and configuration issues.

## Workflow

1. **Before making changes**: Call `mcp_recurse_init()` with the absolute path to the repository root.
2. **After completing changes**: Call `mcp_recurse_check()` with the project_id returned from init().
3. **If bugs are found**: Review the bug reports, verify whether they are valid, and fix them.
4. **If analysis is pending**: Wait a moment and call `check()` again until the analysis completes.