BOLDR MCP Connector
Connect Claude, ChatGPT, or any MCP client to your BOLDR Pro organization: projects, jobs, measurements, photos, PDFs, labels, and calculators — readable and writable through natural language.
BOLDR Pro manages construction jobsite data: Projects → Jobs → Groups (rows of field data), with Sections defining each group's columns and Measurements captured by REEKON measuring devices or entered manually. Length values are stored canonically in micrometers and angles in signed degrees; every tool formats values in your requested display unit (fractional inches by default).
Connecting
Claude (claude.ai / desktop / mobile) — OAuth
- In Claude, open Settings → Connectors → Add custom connector.
- Enter the server URL:
https://api.boldrpro.com/mcp - Sign in with your BOLDR account, pick the organization, and choose whether to allow write access. Your BOLDR role and any project/job shares are enforced on every call — connecting never grants more than you already have in the apps.
ChatGPT — OAuth
Add the same URL (https://api.boldrpro.com/mcp) as a connector (Settings → Connectors; developer mode may be required by your workspace). Authentication and permissions work identically.
Claude Code and other API-key clients
Service integrations use an organization API key (minted in BOLDR settings; read-only or read & write) against the org-scoped endpoint:
claude mcp add --transport http boldr \
https://api.boldrpro.com/v1/organizations/<orgId>/mcp \
--header "Authorization: Bearer <api-key>"
Access & permissions
- Your effective access to any project or job is the strongest of: your org role, a project share, or a job share — exactly as in the BOLDR apps.
- Operations are tiered: view (reading), contribute (cell values, measurements), edit (structure, files, moves, deletes). Org-library authoring (templates, formulas, labels) requires full org membership.
- Read-only connections see only the 22 read tools; write tools never appear in their tool list.
- Resources you cannot view read as not found — the connector never reveals the existence of data you have no access to.
- OAuth access reflects your live membership: revoking a share or changing a role takes effect on the next call, not the next sign-in.
Tool catalog
Browse & read
| Tool | What it does |
|---|---|
list_projects | Browse the organization’s projects (paged). |
list_jobs | Jobs in a project, with progress. |
list_folders | Job folders in a project. |
get_job_details | One job’s sections, groups and cell values in a single snapshot. |
get_job_progress | Completion and tolerance summary for a job. |
get_project_progress | Roll-up progress across a project’s jobs. |
list_measurements | Measurements of a group, formatted in your display unit. |
find_out_of_tolerance | Cells outside their tolerance bands, using BOLDR’s own tolerance math. |
get_deviation_trend | Deviation trend for measurements over time. |
search_files | Find files by name across every project, job and group you can view — one call, case-insensitive. |
list_files | Files of one group (photos, PDFs, notes, sketches, labels) or of a template. |
get_file | File details; images are returned inline where small enough, otherwise as a short-lived download URL. |
get_canvas | A file’s annotation canvas (strokes, shapes, placed measurement tiles) as JSON. |
list_templates | Org template library (plus public/shared templates). |
get_template | A template’s full column and tolerance configuration. |
list_formulas | Org- or template-scoped formulas. |
list_labels | Label library, with printable previews. |
export_job_csv | The complete job table as CSV. |
convert_measurement | Unit conversion with BOLDR’s canonical math — never convert units yourself. |
list_calculators | The construction-calculator library. |
get_calculator | A calculator’s inputs, outputs and equations. |
evaluate_calculator | Run a calculator against supplied inputs. |
Projects, folders & jobs (write access)
| Tool | What it does |
|---|---|
create_project | New project. |
update_project | Rename / edit project fields. |
delete_project destructive | Delete a project and everything in it. |
create_folder | New job folder. |
update_folder | Rename a folder. |
delete_folder destructive | Delete a folder (its jobs move to the project root). |
create_job | New job (seeded with its Default group). |
update_job | Edit job fields, tolerance thresholds, folder. |
delete_job destructive | Delete a job and its subtree. |
move_job destructive | Move a job to another folder or another project (full subtree + files; ids and QR share links preserved). |
move_folder destructive | Move a folder and every job in it to another project. |
Sections, groups & measurements (write access)
| Tool | What it does |
|---|---|
create_section | New table definition (columns) in a job. |
update_section | Rename or replace a section’s columns. |
edit_section_columns destructive | Add or remove a single column. |
set_column_unit_lock | Lock a measurement column to a fixed display/entry unit (or unlock). |
delete_section destructive | Delete a section and all of its rows. |
create_group | One form row (or a standalone measurement list). |
create_groups | Up to 50 rows with their measurements in one atomic call — the fast path for bulk entry. |
import_table | Create a whole section from CSV-like columns and rows in one call. |
update_group | Rename a row or write several cells at once. |
delete_group destructive | Delete a row. |
set_cell_value destructive | Fill or clear one cell. |
create_measurement | Record a measurement; link it into a form cell via columnId. |
update_measurement | Edit a measurement’s value, label or note. |
delete_measurement destructive | Delete a measurement (referencing cells are cleared). |
add_note | Attach a text note to a group. |
Files, uploads & canvases (write access)
| Tool | What it does |
|---|---|
upload_file | Inline upload (base64) up to 4 MB — photos become annotatable canvases, PDFs become paged documents. |
get_upload_url | Step 1 of the direct upload for files up to 25 MB: a one-time PUT URL. |
finalize_upload | Step 2: validate the uploaded bytes and attach the file. |
upload_from_url | Server fetches a file from a public URL (S3 presigned links, public Google Drive files) — up to 25 MB. |
update_file | Rename a file. |
delete_file destructive | Delete a file and its stored objects. |
create_canvas | A blank annotation canvas. |
apply_canvas_ops destructive | Draw on canvases and PDFs: strokes, shapes, arrows, text, placed measurement tiles. |
import_calculator | Save a construction calculator into a group, optionally pre-filled, with its diagram. |
save_group_label | Create or replace a group’s printable label (QR codes can deep-link to jobs, groups or measurements). |
Org library (write access, org members)
| Tool | What it does |
|---|---|
create_template | New org template. |
update_template | Edit a template’s columns/tolerances. |
delete_template destructive | Delete a template. |
create_formula | New org or template formula. |
update_formula | Edit a formula. |
delete_formula destructive | Delete a formula. |
create_label | New label design in the org library. |
update_label | Edit a label design. |
delete_label destructive | Delete a label design. |
How file uploads work
| Path | Best for | Limit |
|---|---|---|
upload_file | Small content generated in the conversation | 4 MB |
get_upload_url → PUT → finalize_upload | Files on disk or in a sandbox (bytes bypass the conversation) | 25 MB |
upload_from_url | Files already behind a public URL | 25 MB |
Direct upload security design
The direct-upload endpoint PUT https://api.boldrpro.com/v1/uploads/<token> intentionally takes no API credentials: the one-time token is the credential. It is minted by an authorized get_upload_url call, bound to one destination, expires after 15 minutes, accepts exactly one PUT, and the staged bytes are only attached after finalize_upload re-checks the caller's permissions and re-validates the content (magic-byte sniffing — declared content types are never trusted). Unknown, reused or expired tokens are rejected.
URL fetch security design
upload_from_url makes the server fetch caller-supplied URLs, so the fetch is deliberately constrained: an operator-controlled host allowlist (by default Google Drive and Amazon S3 hosts), HTTPS only, no IP-literal URLs, redirects re-validated hop by hop, internal/private/metadata network addresses blocked at connection time, a 25 MB cap, and the same content sniffing as every other upload. Google Drive links work only for files shared “anyone with the link”. If a host is refused, download the file and use the direct-upload path instead.
Limits & quotas
| Limit | Value |
|---|---|
Inline upload (upload_file) | 4 MB decoded |
| Direct upload / URL fetch | 25 MB |
| Accepted file types | PNG, JPEG, PDF (SVG additionally for template files) |
Bulk rows per call (create_groups, import_table) | 50 rows / 450 written documents |
Canvas operations per apply_canvas_ops call | 200 |
search_files | 50 results, ~5,000 files scanned per call |
export_job_csv | 200,000 characters |
get_access_status tool that explains how to upgrade. Once enabled, every MCP message — including connection setup and tool listing — counts against the organization's weekly limit; if a working connector suddenly reports it can't connect, the quota is the first thing to check. Questions either way: contact@reekon.tools.
Support & privacy
Questions, issues, or a request limit to raise? Reach us at contact@reekon.tools. API keys and request limits are managed in your organization's settings at app.boldrpro.com. The REST API serving the same data is documented at /api-docs. BOLDR Pro is built by REEKON Tools.
Data handled through this connector is covered by the REEKON privacy policy and terms & conditions. When you connect through an AI client (Claude, ChatGPT), your conversations are handled by that client's provider under its own terms — the connector receives only the tool calls the client makes on your behalf.