The tools
The six tools of the MCP server, their parameters and what they cost. Reading is free, unlocking a fix uses one fix.
Every tool description reminds the agent of the rules: Rustine only scans the sites of the user’s projects, read-only, never a site that is not theirs, and never edits code.
list_projects
Your projects and their sites: verified or not, score out of 100, grade A to F, last scan, open issues. Free. Permission scans:read.
No parameters.
run_scan
Scans a site already in your projects and waits for the result (up to about a minute): score, grade and issues by severity. If the scan is still running, the agent calls the tool again with the same target to keep waiting. One scan from your quota; a scan of the same kind within the hour returns the recent result without charging anything. Permission scans:run.
| Parameter | Type | Description | |
|---|---|---|---|
target |
string | required | site id, project id (if it has a single site) or URL of a site in your projects |
kind |
quick | audit |
default quick |
audit only on a proved site |
list_issues
The issues, worst first, with their confidence; for a repository, the file, line and commit. Issues of an unproved site stay hidden (only their count shows). Free. Permission scans:read.
| Parameter | Type | Description | |
|---|---|---|---|
project |
string | optional | project id |
target |
string | optional | site id or URL |
status |
open | all |
default open |
all adds fixed issues, false positives and accepted risks, with the reason and the agent that marked them |
get_fix
Returns the fix of an issue: instructions written for a coding agent. One fix from your plan on the first call for that issue, free afterwards. The agent is asked to check with you before unlocking many. Permission fixes:unlock.
| Parameter | Type | Description | |
|---|---|---|---|
issue_id |
string (UUID) | required | id from list_issues |
recheck_issue
Rechecks an issue: on the live site, or for a repository by starting an analysis of the default branch (at most one per quarter of an hour). Answers fixed, stillOpen with the evidence, or pending (analysis not finished: run_scan on the repository a little later). Free, up to 60 per project and per day. Permission scans:run.
| Parameter | Type | Description | |
|---|---|---|---|
issue_id |
string (UUID) | required | id from list_issues |
set_issue_status
Marks an issue as a false positive (it leaves the score) or an accepted risk (it stays in it), or opens it again. The reason shows in the app with the agent’s name. The agent must only mark a false positive after checking the value is fake or unreachable, and use recheck_issue for a fixed issue. Free. Permission issues:write.
| Parameter | Type | Description | |
|---|---|---|---|
issue |
string (UUID) | required | id from list_issues |
status |
falsePositive | acceptedRisk | open |
required | open undoes a mark |
reason |
string | required | 10 to 500 characters: what was checked (file, line, why the value is fake) |
An OAuth connection allowed before 13/10/2026 lacks issues:write: set_issue_status asks it to disconnect and reconnect Rustine.
When the plan does not allow it
A used-up quota or a plan without MCP never gives a 403: the tool answers with a readable error (isError: true), in the user’s language, with the link to change plans.