Opentakeoff logo

Opentakeoff

by Kentucky-ai

Measure construction plans over MCP, preserve scale and provenance, and export quantities, reports, CAD, and marked-up PDFs.

Install Opentakeoff

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "kentucky-ai-opentakeoff": {
      "command": "npx",
      "args": [
        "-y",
        "opentakeoff-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

Kentucky-ai/opentakeoff MCP server turns construction plan PDFs into reviewable takeoffs over stdio. It loads plan sets, reads sheet structure and scale information, records explicit measurements, counts symbols and schedule marks, and derives quantities such as square feet, linear feet, and eaches. Measurements retain geometry, scale, method, and review state, while proposal batches, undo, overlays, and duplicate checks support controlled agent workflows. Reach for it when an agent needs to produce both priced quantities and marked drawing evidence from one or more plan documents.

Use cases

  • Load a multi-file bid set and preserve sheet-level scales
  • Trace floor areas, wall surfaces, base, transitions, and deductions
  • Count repeated symbols and schedule-annotated devices
  • Export quantities with provenance for pricing review
  • Generate marked-up PDFs and CAD-ready DXF drawings

Key features

  • Multi-document plan-set loading with cross-sheet references
  • Explicit scale calibration and measurement provenance
  • Area, linear, surface-area, and count takeoff tools
  • Deterministic symbol and schedule-row counting
  • Proposal batching, review state, undo, and duplicate checks
  • Report, JSON, DXF, and marked-up PDF exports

Tools53

What Opentakeoff lets your agent do. Expand a tool for its parameters.

Verified live~24.9k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

21/21 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 8d ago via OSV.dev · opentakeoff-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars700Stargazers on the source repository.
npm downloads5.7kPackage downloads in the last 30 days.
Last commitTodayMost recent push to the default branch.
Tools exposed53Callable tools this server registers over MCP.
Directory activity10 viewsConfig copies, upvotes, and views on AllMCPs.

How Opentakeoff works

What Kentucky-ai/opentakeoff MCP server does

Kentucky-ai/opentakeoff provides a stdio MCP interface for construction plan takeoff. It works with plan PDFs loaded from disk and maintains a working set that can contain plans, schedules, and addenda. Sheets become addressable resources, with dimensions, vector information, detected scale suggestions, and committed-shape counts.

The server supports the main quantity families used in finish and construction takeoff: floor and deduction areas, open linear runs, wall surface area, and scale-free count markers. It also records conditions such as finish tags, room labels, heights, waste, and material information used by reporting.

Its output is designed for review rather than numbers alone. Agents can inspect rendered overlays, retain provenance for each shape, group proposed work into named batches, and distinguish agent-created geometry from estimator-approved work.

How it works

A typical workflow loads a plan, inspects sheets and title-block information, explicitly sets or calibrates each sheet’s scale, then traces or detects quantities. The detected scale is only a suggestion; it is never applied without a set_scale call. Coordinates use rendered image pixels with a top-left origin and downward Y axis.

Shapes can be created directly with measure_polygon, measure_line, measure_surface, and place_count. Higher-level operations find repeated symbols, schedule-row marks, annotated devices, wall base, or finish transitions. These automated operations disclose withheld, rejected, or scale-assumed results instead of silently treating uncertain matches as confirmed quantities.

Proposals group pending shapes into one estimator decision. Shapes can later be revised, withdrawn, deleted, or inspected through the shape inventory. Undo is journal-based, so multi-shape operations such as imports, sweeps, derivations, and proposal changes can be reversed as a unit.

Setup and configuration

Run the server with:

Terminal
npx -y opentakeoff-mcp

It runs as a stdio MCP server on Windows, macOS, and Linux. Plan PDFs remain local to the workflow; the browser canvas is also described as client-only, with no account or upload requirement.

An optional One-Click room-detection build can be enabled with OPENTAKEOFF_ONE_CLICK=1, but the default build does not register the related MCP verbs. Manual room tracing with measure_polygon remains available.

Tools and capabilities

  • Load, merge, inspect, and browse multi-file plan sets with load_plan, sheet_info, and sheet resources.
  • Set standard-label, calibrated, or feet-per-pixel scales with explicit scale provenance.
  • Measure floor areas, deductions, wall surfaces, linear runs, and count markers.
  • Search vector linework for repeated symbols, schedule marks, and annotated device counts.
  • Derive wall base and transitions from committed room and finish geometry.
  • Inspect vectors, text, hatches, overlays, shapes, duplicate floor claims, and proposal state.
  • Import and export takeoff data, computed reports, DXF drawings, and marked-up plan PDFs.

Limitations and notes

Dimensional measurements require a valid sheet scale, while count markers do not. Curved geometry must be represented using the supported arc-point inputs rather than manually chorded approximations. Automated matching can return withheld or incomplete results and should be audited with rendered overlays.

The server refuses ambiguous or unsafe operations such as invalid cutouts, incompatible dimensional imports, uncertain schedule anchors, and transitions that could confuse a shared wall with an actual threshold. Encrypted PDFs cannot be used for marked-up PDF export. The One-Click room-detection MCP verbs are disabled in the default build while the flood engine is being revalidated.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Opentakeoff

Kentucky-ai/opentakeoff is an MCP server that connects AI agents to construction plan PDFs and exposes tools for loading sheets, setting scale, measuring areas and lines, counting symbols, deriving quantities, and exporting reports, DXF files, JSON takeoffs, and marked-up plan PDFs with provenance.

Run `npx -y opentakeoff-mcp` as the server command in an MCP client. It uses stdio and runs on Windows, macOS, and Linux. The package loads plan PDFs from disk during the takeoff workflow.

Yes. Kentucky-ai/opentakeoff uses the standard stdio MCP transport, so it can be configured in Cursor as an MCP server. Start it with `npx -y opentakeoff-mcp` and provide the plan PDF path through its tools.

Scale is set explicitly per sheet with a standard label, feet-per-pixel value, two-point calibration, or the detected scale suggestion. Detected scales are never applied automatically, and changing a scale recomputes dimensional quantities.

Use `export_report` for computed quantities and material buy-list data, `export_takeoff` for the canvas annotation payload, `export_dxf` for CAD geometry, and `export_marked_pdf` for a marked-up planset with legends, quantities, and review indicators.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOpentakeoff AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/kentucky-ai-opentakeoff?style=directory)](https://allmcps.com/mcp/kentucky-ai-opentakeoff)
HTML Embed
<a href="https://allmcps.com/mcp/kentucky-ai-opentakeoff"><img src="https://allmcps.com/api/badge/kentucky-ai-opentakeoff?style=directory" alt="Opentakeoff on AllMCPs" /></a>