Skip to main content
This page lists 12 tools. Each tool shows only to members whose role grants its access. The descriptions are the text that the MCP server sends to AI clients.

List reports

List measurement reports. Arguments
number

Get report

Get one measurement report and its export files. For a download link to one file, call roofkit.reports.exports.download_link.get with its export_id. Arguments
string
required

Open report import

Return the report import screen URL of the app. To import files without the app, call roofkit.reports.import.upload_link.create. Arguments This tool takes no arguments.

Open report export

Return the report editor URL for export options. To export a PDF without the app, call roofkit.reports.export.create. Arguments This tool takes no arguments.

Open report approval

Return a report approval handoff URL. Approval stays in the measurement editor. Arguments This tool takes no arguments.

Open report geometry

Return a geometry editor handoff URL. Arguments This tool takes no arguments.

Start report PDF export

Start a PDF export of one roof report. Returns job_id at once. Poll roofkit.jobs.get: the result lists the files, and roofkit.reports.exports.download_link.get returns a download link. The first PDF of a revision and audience consumes workspace credits. A face without pitch holds a client or insurer PDF with CONFLICT. Requires an idempotency key. Arguments
string
required
string
required
A report id from roofkit.reports.list.
string
The revision to print. Default the current revision.
string
Who the PDF is for. It picks the sheets, as Deliver does. Allowed values: client, insurer, supplier, crew.
string
Overrides the workspace PDF profile for this export. Allowed values: client, production, custom.
string
Language of the PDF and the messages. Default en. Allowed values: en, es.
Return a download link for one export file of a report. The link works for 15 minutes without sign-in, so share it only with people who may read the file. Ask again for a new link. A technical file also needs reports.export_technical. Arguments
string
required
An export_id from roofkit.reports.get or an export job result.

Update report

Update the name, external id, or address of one report. Only the fields sent change, and the change is live in the report list and the next PDF. Send expected_updated_at from roofkit.reports.get to refuse the write over a newer change with CONFLICT. Arguments
string
required
A report id from roofkit.reports.list.
string
At most 200 characters.
string
The id of the report at its vendor. At most 200 characters.
string
The property address printed on the PDF. At most 500 characters.
string
updated_at of the report as you read it.
Create a one-time upload link for a roof report import and start its job. POST the files to upload.url as multipart field files within 8 minutes: one standalone PDF, or an XML, CSV, XLSX, DXF, or ZIP report package. The import creates the report and consumes workspace credits. Poll roofkit.jobs.get with job_id. Requires an idempotency key. Arguments
string
required
string
Name of the new report. Default the name in the file. At most 200 characters.
string
The id of the report at its vendor. At most 200 characters.
string
Language of the PDF and the messages. Default en. Allowed values: en, es.
Create the customer link of one report, or return the link that still works. Anyone with the link can view the report without sign-in. A new link delivers the approved current revision: it sends the report.delivered webhook and a JobNimbus note when JobNimbus is connected. Approval stays in the report editor. Arguments
string
required
A report id from roofkit.reports.list.
integer
Days the link works from now: 7, 30, or 90. Default 30. Allowed values: 7, 30, 90.
Move the end date of the working customer link of one report to days from now. Anyone with the link can view the report until then. A link that expired or was turned off answers NOT_FOUND: create a new one. Arguments
string
required
A report id from roofkit.reports.list.
integer
required
Days the link works from now: 7, 30, or 90. Default 30. Allowed values: 7, 30, 90.