MCP
Connect Cursor or Claude to your BlockForm account so they can read and update reports. Most inspectors can skip this.
Before you start
You need a BlockForm account. OAuth sign-in (Google, Microsoft, or email) is the usual path. You can also create a bfi_ API key in Global Settings → API if your client sends Bearer headers. The same REST API is documented on the Public API page. The MCP server runs remotely (a Cloudflare Worker) and calls that API for you.
Endpoint
Production MCP endpoint: https://mcp.blockforminspection.com/mcp
Connect
- Add the remote server — In Cursor, add a remote MCP server with the production URL. A typical
mcpServersentry looks like this:{ "mcpServers": { "blockform": { "url": "https://mcp.blockforminspection.com/mcp" } } } - Complete OAuth — Sign in on the BlockForm consent screen with Google, Microsoft, or email. After consent, the Worker stores a BlockForm API key and uses it for later tool calls.
- Claude and other clients — Use the same URL and complete browser consent. Any MCP client that supports remote OAuth can connect this way.
Authentication
OAuth consent is the preferred path. If your client supports custom headers instead of OAuth, create a key in Global Settings → API and send Authorization: Bearer bfi_… to /mcp.
Tool calls use the same account catalogs and rate limits as the public API (30 requests per minute and 600 per hour). See the Public API page for error shapes and over-limit responses.
Available tools
Clients discover full argument schemas from the server. Request and response payloads match /api/v1; see the Public API page for REST details.
Reports
Create and manage inspection reports.
list_reports— List inspection reportsget_report— Get a report by idcreate_report— Create a reportupdate_report_header— Merge report header / editorData / statusesdelete_report— Delete a report
Blocks & notes
Edit report structure, inspection notes, evaluation procedures, and AI analysis.
list_report_blocks— List report blocksupdate_report_block— Patch a report block by keyadd_report_sub_block— Add a sub-block under a parentreorder_report_blocks— Reorder report blocksdelete_report_block— Delete a report blockset_report_inspection_notes— Set inspection notes on a part blockset_evaluation_procedures— Link evaluation procedures and notes on a partgenerate_evaluation_procedure_notes— AI-generate inspection notes for a part's evaluation proceduresgenerate_part_analysis— Generate analysis for a report block
Models
List stored CAD, schematic, and BOM objects, then attach them to a report.
list_models— List stored CAD / schematic / BOM objectsattach_model_to_report— Attach uploaded model keys to a report. Upload files with POST /api/v1/models (MCP is a poor channel for multi-MB STEP files).
Parts & tags
Work with the Parts Library, photo guides, identity fields, and tags.
list_parts— List Parts Librarycreate_part— Create a library partupdate_part— Update a library part including OEM/MFR/customer identity and photo guidedelete_part— Delete a library partset_part_photo_guide— Set per-part photo guide instructionsgenerate_part_identity— AI-fill part name, OEM, manufacturer, and customer fieldslist_tags— List tagscreate_tag— Create a tagupdate_tag— Update a tagset_part_tags— Replace tag ids on a part
Catalogs
List, create, and update manufacturers, OEMs, inspection procedures, repair codes, customers, and vendors.
list_manufacturers— List manufacturerscreate_manufacturer— Create manufacturers itemupdate_manufacturer— Update manufacturers itemlist_oems— List oemscreate_oem— Create oems itemupdate_oem— Update oems itemlist_inspection_procedures— List inspection-procedurescreate_inspection_procedure— Create inspection-procedures itemupdate_inspection_procedure— Update inspection-procedures itemlist_repair_codes— List repair-codescreate_repair_code— Create repair-codes itemupdate_repair_code— Update repair-codes itemlist_customers— List customerscreate_customer— Create customers itemupdate_customer— Update customers itemlist_vendors— List vendorscreate_vendor— Create vendors itemupdate_vendor— Update vendors itemgenerate_catalog_procedure_notes— AI-draft catalog evaluation procedure notes
Settings & AI
Read and patch report settings, branding pointers, and AI helper prompts.
get_report_settings— Get report format, appearance, and company branding settingsupdate_report_settings— Patch report settingsupload_company_logo— Company logo upload is multipart REST only: POST /api/v1/report-settings/logoupload_company_badge— Company badge upload is multipart REST only: POST /api/v1/report-settings/badgeget_ai_prompts— Read AI helper promptsupdate_ai_prompt— Patch AI helper prompts
Limits & when to use REST
- Upload large STEP, GLB, and similar files with REST
POST /api/v1/models, then callattach_model_to_report. - Company logo and badge uploads are multipart REST only (
POST /api/v1/report-settings/logoandPOST /api/v1/report-settings/badge). Theupload_company_logoandupload_company_badgetools return a pointer; they do not upload files. - Prefer REST for bulk or binary work. Use MCP for conversational report, parts, and catalog tasks.
Example workflows
Inspection notes
List reports, open one, then set inspection notes on a part:
List my inspection reports, open the most recent one, and set inspection notes on the first part block: "Wear on the mating face is within reuse limits."
Library part
Create a library part, assign tags, and fill identity fields:
Create a library part for PN-4412, tag it as rotating equipment, then generate OEM, manufacturer, and customer identity for it.
Model and procedures
Attach an already-uploaded model, then generate evaluation procedure notes:
List stored models, attach the latest STEP file to report <id>, then generate evaluation procedure notes for that report.
Troubleshooting
- The URL must end with
/mcp:https://mcp.blockforminspection.com/mcp. - If tools return not authenticated, reconnect the MCP server and complete OAuth again.
- If the client cannot set Bearer headers, use OAuth instead of an API key.
401and429responses behave like the public API. Create or revoke keys in Global Settings → API; payload and rate-limit details are on the Public API page.