Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI โ†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE โ†— (opens in a new tab)
  • llms.txt โ†— (opens in a new tab)
  • Catalog JSON โ†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub โ†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
ยฉ 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. ๐Ÿ“ Architecture & Design
  3. Opentakeoff
Opentakeoff logo
Health: ActiveRecent health check succeeded.Last checked 9/9/2026, 8:32:48 PM

Opentakeoff

User RatingsBe the first to rate and review this MCP server!
View Repository117 GitHub StarsTotal stargazers on GitHub for the source repository (117 stars).Visit Website
constructiontakeoffpdfarchitecturemcp

Measures construction plans over MCP, calculates quantities, preserves provenance, and exports reports and marked-up PDFs.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Not yet automatically verified

This server is confirmed live โ€” we successfully called its tools/list endpoint directly (see the verified badge above). We haven't yet sandbox-tested the stdio install command below specifically, which is a separate, ongoing check.

Manual Client & Custom JSON ConfigExpand JSON โ–พ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "kentucky-ai-opentakeoff": {
      "command": "npx",
      "args": [
        "-y",
        "opentakeoff-mcp"
      ]
    }
  }
}

๐Ÿ’ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Tool Schemas (40) Directory Badge Claim listing Alternatives๐Ÿ“ More in Architecture & Design

Overview

Kentucky-ai/opentakeoff MCP server lets an agent perform construction plan takeoffs from local PDF files over stdio. It loads one or more sheets, reads sheet structure and title-block scale information, and requires an explicit scale choice before producing real-world measurements. Tools cover room areas, lines, wall surfaces, counts, symbols, schedules, deductions, materials, and derived transitions. Reach for it when an agent needs auditable quantities and a marked-up planset rather than numbers without drawing evidence.

Use cases

โ€ขMeasure floor areas and perimeters from construction plan PDFs
โ€ขBatch-detect labeled rooms and assign finish conditions
โ€ขCount repeated symbols or schedule-tagged markers across plan sheets
โ€ขExport computed quantities and a marked-up planset for review
โ€ขAudit imported takeoffs with geometry and provenance

Key features

โ€ขLoads and merges multi-sheet PDF bid sets
โ€ขRequires explicit sheet scale before real-unit measurements
โ€ขMeasures areas, lines, wall surfaces, and count markers
โ€ขTracks geometry, method, scale, and review provenance
โ€ขExports reports, raw takeoff data, and marked PDFs
โ€ขSupports schedule, symbol, deduction, and transition workflows

Capabilities & Tool Schemas (40) ~17.6k tokensApproximate context cost of this serverโ€™s tool schemas (~4 chars/token), before any tool is called. Actual usage depends on your client and model.Verified live Verified liveCaptured by calling this serverโ€™s live tools/list endpoint.

Inspect callable tools, capabilities, and parameters exposed to AI agents by Opentakeoff.

load_plan

Open a plan PDF from disk. Default: replace the whole session (previous documents, scales, conditions, and shapes are cleared). merge: true ADDS the document to the working set instead (#152) โ€” a bid set is plans + schedule + addenda, not one PDF โ€” keeping every scale, condition, and shape; sheet keys carry file names so documents never collide, the sheet graph spans the whole set (resolve_tag can chain a plan tag on one file to a schedule row in another), and the marked set covers every worked sheet. Re-loading an already-merged file is refused โ€” reload = replace, deliberately. Returns file, files, page_count, and one entry per sheet. The loaded sheets also become browsable resources (takeoff://sheets). Coordinates are image px at render scale 2.0: PDF pt ร— 2, origin top-left, y down (the browser canvas's native space). Sheet payloads carry dims in both px and pt.

sheet_info

Sheet detail: dims (px and pt), vector segment count, whether the sheet has vector linework (one_click floods it when present; a scanned sheet falls back to rendered pixels, disclosed as raster_traced), scale status, the detected scale suggestion, and this sheet's committed shape count. Coordinates are image px at render scale 2.0: PDF pt ร— 2, origin top-left, y down (the browser canvas's native space). Sheet payloads carry dims in both px and pt.

set_scale

Set a sheet's scale โ€” exactly ONE of: label (a standard scale, e.g. '1/4" = 1'-0"'), upp (real feet per image px), calibrate (two points along a known dimension plus its real feet), or use_detected (adopt the drawn scale note read off the sheet). The detected scale is never applied automatically โ€” setting it is always this explicit call. Coordinates are image px at render scale 2.0: PDF pt ร— 2, origin top-left, y down (the browser canvas's native space). Sheet payloads carry dims in both px and pt.

one_click

One-Click Area: click inside a room (image px) and the plan's vector linework bounds it โ€” the sealed flood engine (RFC #60), contour trace, vertices snapped to true PDF endpoints. The engine's arguments are FEET-TRUE through the sheet's scale, exactly the canvas's: gap sealing bridges up to a door-width opening (disclosed as gap_sealed_px โ€” that much boundary is synthetic), door-swing wedges annex the swing a doorway sweeps (door_wedges), and the minimum-passage rule keeps sub-half-foot slits from conjoining two rooms (min_pass_px/min_pass_delta). Every trace carries the engine's own account of itself: confidence (0..1, with confidence_factors naming what deducted) โ€” a review PRIORITIZER, never a verification. 1.0 means every signal ran clean, not that the trace is right; a LOW confidence is a view_sheet {overlay: true} audit prompt, not a fact to bid from โ€” put eyes on the flagged edge before the total means anything. SCANNED sheets work too (#154): where vectors can't bound the room (an image-only scan, or a scan wrapper whose only linework is the title block), the flood falls back automatically to the sheet's rendered pixels โ€” same engine the canvas uses โ€” and the reply plus the committed shape's origin carry raster_traced: true so a pixel-bounded ring is never mistaken for a vector-snapped one. Vector always wins where it works; a raster ring's corners are unsnapped, so audit it with view_sheet {overlay: true} before trusting the total. With the sheet's scale set, returns area_sf / perimeter_lf; pass condition (a finish tag, e.g. "CPT-1") to commit the traced shape to the takeoff โ€” the full engine account rides the committed shape's origin, so the export tells the truth about how each shape was made. Without a scale it returns px-only quantities with a warning and commits nothing (the engine also degrades to its scale-blind fallbacks โ€” a weaker measurement, one more reason set_scale comes first). role "deduct" makes the committed shape subtract. After committing, LOOK at what landed โ€” view_sheet {overlay: true} โ€” and fix an overshot ring with edit_shape before trusting any total. Coordinates are image px at render scale 2.0: PDF pt ร— 2, origin top-left, y down (the browser canvas's native space). Sheet payloads carry dims in both px and pt.

detect_rooms

Batch room detection: reads every room-number label off the sheet's text layer (e.g. "134", "OFFICE 101") and runs One-Click at each โ€” one call instead of read_sheet_text + reasoning + N one_click calls. An OCR'd scan (text layer, no vector linework) floods the rendered pixels instead (#154), disclosed per room and on origin as raster_traced. A seed is only reported as a room once it survives three gates, and everything skipped is counted and reasoned in `withheld` โ€” never dropped silently, because a room the tool tells you it skipped is a question you can ask, while one it hides is a hole in a bid. The gates: a flood that leaked or landed in dense linework never becomes a region; two labels flooding the SAME region commit once (the extra labels ride on `merged_labels` โ€” double-counting an area is the worst failure an estimating tool has); and a flood that is enclosed and clean but smaller than min_area_sf is a room-number bubble, a door swing, or a wall cavity rather than a room. Every room floods through the SAME sealed engine a single one_click runs (RFC #60 โ€” feet-true gap sealing, door-swing wedges, the minimum-passage rule), so a batch detection and a click at the same seed measure the same square footage; each room carries the engine's account of its own trace (confidence + confidence_factors, gap_sealed_px, door_wedges, min_pass_px/min_pass_delta), and the same account rides origin on everything committed. Confidence is a review prioritizer, never a verification โ€” a low-confidence room is a view_sheet {overlay: true} audit prompt, not a fact to bid from. With the sheet's scale set, returns area_sf/perimeter_lf per room. Every committed room carries the room number it was traced from as the shape's `label`, so a sweep arrives already sliced by room โ€” that field is what the Report's per-room grouping and the workbook's floor ร— room tab read, and it is the one thing about a batch that cannot be recovered downstream if it is dropped. TO COMMIT, choose the honest source of the finish tag: assign_from_schedule: true routes every room through its OWN room-finish schedule row and commits each under the FLOOR finish that row states โ€” when a schedule exists in the set, THIS is the default move, because one agent-chosen tag across N rooms flattens real finish variety into a wrong bid; condition commits every room under that one stated tag (only right when the rooms genuinely share it; role "deduct" makes them subtract). Without a scale, returns px-only quantities per room and commits nothing โ€” the plausibility floor needs real units, so it only applies once a scale is set. A batch commit is NOT finished until you have LOOKED at it: view_sheet {overlay: true}, audit every ring against the walls, fix misses with edit_shape / delete_shape โ€” before the totals mean anything. Coordinates are image px at render scale 2.0: PDF pt ร— 2, origin top-left, y down (the browser canvas's native space). Sheet payloads carry dims in both px and pt.

measure_polygon

Measure a closed polygon you supply (min 3 vertices, image px): area_sf and perimeter_lf at the sheet's scale. Requires the scale to be set. Pass condition to commit it; role "deduct" subtracts. Coordinates are image px at render scale 2.0: PDF pt ร— 2, origin top-left, y down (the browser canvas's native space). Sheet payloads carry dims in both px and pt.

How Opentakeoff works

What Kentucky-ai/opentakeoff MCP server does

Kentucky-ai/opentakeoff MCP server turns construction-plan PDFs into an editable takeoff session. An agent can load a single plan or merge a bid set containing plans, schedules, addenda, legends, and other sheets. The server exposes sheet dimensions, vector linework, text, detected scale suggestions, sheet roles, room tags, schedule rows, and cross-sheet references so the agent can decide what to measure.

Measurements are stored as committed shapes associated with finish or condition tags. Supported quantity families include floor area, linear measurements, wall surface area, and count markers. The server also supports room detection, symbol and schedule sweeps, real holes cut from floor areas, wall-base derivation, finish transitions, materials rows, waste and multiplier settings, and condition inheritance. Each shape retains measurement method, scale, source, review state, and other provenance needed to interpret the result.

How it works

The normal workflow is to load a plan, inspect its sheets, and set each sheet's scale explicitly. Scale can come from a standard drawing label, feet per image pixel, two-point calibration, or the detected scale note. The detected value is only a suggestion; it is not applied implicitly.

Geometry uses image pixels at render scale 2.0, with the origin at the top left. Vector-backed sheets use linework for room flooding and endpoint snapping. Scanned or image-only sheets can fall back to rendered pixels, and the result identifies itself as raster-traced. One-click and batch room operations return confidence information and disclose gap sealing, door-swing handling, and other engine decisions. Confidence prioritizes review; it does not verify a boundary.

The Kentucky-ai/opentakeoff MCP server is designed around reviewable output. After batch operations, an agent should inspect an overlay, correct or remove shapes as needed, and only then rely on totals. Wall-separated transition candidates and uncertain symbol matches are withheld as review questions instead of being silently committed.

Setup and configuration

Run the server locally with:

Terminal
npx -y opentakeoff-mcp

It communicates over stdio and reads plan PDFs from paths supplied to the tools. The package does not require an API key or hosted service. One-click room tools are subject to the repository's feature gate; the server build can enable them with OPENTAKEOFF_ONE_CLICK=1. Without those tools, room areas can still be measured with supplied polygons, subject to the sheet scale.

The browser canvas is a separate client-only interface, but it shares the measurement engine and document concepts with the MCP server. This listing concerns the stdio server, not the optional capture server or other repository components.

Tools and capabilities

Kentucky-ai/opentakeoff MCP server includes tools for:

  • Loading, merging, inspecting, and indexing sheets, including schedules and room tags.
  • Setting scale and measuring polygons, lines, wall surfaces, rooms, and count points.
  • Sweeping repeated symbols or schedule-row markers with disclosed matches and withheld candidates.
  • Editing, deleting, importing, exporting, and undoing takeoff shapes and conditions.
  • Cutting holes from parent floor areas and deriving wall base or finish-transition quantities.
  • Configuring waste, multipliers, roll-goods settings, and supporting-material coverage rows.
  • Returning summaries, raw takeoff data, computed reports, and marked-up plan PDFs.

Exports distinguish the raw canvas payload from the computed report. The report includes quantities, waste and multiplier results, material purchase calculations, sheet subtotals, scale provenance, and annotations. The marked PDF provides the drawing evidence: legends, colored or hatched shapes, quantity labels, annotations, and approval marks. Machine-generated shapes remain identifiable as unreviewed until reviewed through the supported workflow.

Read the full README โ†’View source on GitHub โ†’

Related MCP Servers

View all in Architecture & Design View all alternatives
  • Figma Context MCP logoFigma Context MCP

    Provide coding agents direct access to Figma data to help them one-shot design implementation.

    ๐Ÿ“ Architecture & Design3 views
    Compare vs Figma Context MCP โ†’
  • Figwright logoFigwright

    Bidirectional Figma server over a local WebSocket relay: turn a selection into framework-aware code (reusing your components and tokens), or author frames, text, styles, variables, and whole screens back onto the canvas. 92 tools, any MCP client, no Dev Mode seat or paid tier.

    ๐Ÿ“ Architecture & Design5 views
    Compare vs Figwright โ†’
  • Genable logoGenable

    Write-side MCP for Figma โ€” complements Figma's official read-only MCP. 41 tools for building and editing Figma designs from Claude Code, Cursor, Cline: JSX-like tree creation, variables/tokens, components, cross-page navigation, and visual verification via screenshots. Install: npx -y genable-mcp.

    ๐Ÿ“ Architecture & Design4 views
    Compare vs Genable โ†’
  • Saglitzdesign MCP logoSaglitzdesign MCP

    Expert design & marketing knowledge for web / iOS / Android / macOS UI/UX: 83 sourced, prescriptive docs plus deterministic generators (design tokens, color systems, type scales, WCAG a11y) and a one-call createdesignsystem. Offline, no API key, reads only local files. Install via NPM: npx -y saglitzdesign-mcp.

    ๐Ÿ“ Architecture & Design4 views
    Compare vs Saglitzdesign MCP โ†’

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks โ€” not a rating.

GitHub stars
117
Stargazers on the source repository.
npm downloads
5.8k
Package downloads in the last 30 days.
Last commit
6d ago
Most recent push to the default branch.
Tools exposed
40
Callable tools this server registers over MCP.
Directory activity
3 views
Config copies, upvotes, and views on AllMCPs.

Reviews

No reviews yet โ€” be the first to share how this listing worked for you.

Frequently Asked Questions about Opentakeoff

Run `npx -y opentakeoff-mcp`. The server runs locally over stdio.

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>

Technical Specs & Signals

Category๐Ÿ“Architecture & Design
PricingFree
More technical detailsExpand โ–พ
TransportSTDIO
RuntimeNode.js
AuthNo auth required
LicenseApache-2.0
Last updatedSep 7, 2026
11/11 checks healthy over the last 33d
Views3
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars117
GitHub Star CountTotal stargazers on GitHub representing community popularity (117 stars).
Last commit6d ago
Last Repository CommitThe most recent commit or push recorded for this server's GitHub repository.Last commit on Sep 5, 2026
npm downloads5,812/mo
Monthly npm DownloadsAverage monthly package installs recorded from npm registry statistics.
69Quality signal: Great ยท 69/100How this signal is calculated โ–พ
Server availabilityNot measured

Not scored for repo-hosted servers โ€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership10/20
Documentation & tools30/30
Adoption & activity12/15
Community engagement0/10

A guidance signal from public completeness & health data โ€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 20d ago via OSV.dev ยท opentakeoff-mcp (npm)

โ˜… FeaturedAllMCPs Server logo

AllMCPs Server

The official MCP server for AllMCPs.com - submit and manage tools directly from your AI. The open directory for MCP servers. Connect Claude, Cursor, Windsurf, and AI agents to databases, tools, files, and APIs. Explore 10,000+ servers. AllMCPs is the premier, open directory for discovering, evaluating, and installing Model Context Protocol (MCP) servers to equip AI agents and LLMs with real-world superpowers.

Explore Server โ†’

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge โ€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it โ€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in ๐Ÿ“ Architecture & Design โ†’Alternatives to Opentakeoff โ†’Install in Claude DesktopInstall in CursorInstall in VS Code