OpenTakeoff MCP
MCP server for construction takeoff: the agent opens a PDF plan, sets the scale, measures areas and returns a marked-up plan set
- 716 ★ on the repository
- Last commit
- AGPL-3.0
Extended access
Why this level
- The server reads PDF drawings from paths on disk and writes marked-up PDFs and exports
- Agent measurements affect the bid price: a person should confirm the scale and outlines
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/opentakeoffDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server reads PDF drawings from paths on disk and writes marked-up PDFs and exports
- Agent measurements affect the bid price: a person should confirm the scale and outlines
This is third-party code. Review the repository files before installing.
What it does
OpenTakeoff handles takeoff: it measures a construction drawing to work out how much floor, wall and how many fixtures it specifies. In its default build the MCP server gives an agent 53 tools. The load_plan command opens a PDF plan from disk, sheet_info reports the sheet size and the scale found on it, and set_scale sets the scale from a label, from two points at a known distance, or from the detected one. The scale stays unconfirmed until a person confirms it in the browser editor. The agent then traces rooms with measure_polygon along the inner wall faces and checks its own work on a rendered sheet through view_sheet. At the end it hands back a marked-up PDF of the plan set. Every shape remembers its scale, how it was measured (by hand, traced, proposed by the agent) and whether a person corrected it, so every figure in the estimate carries a history. The same calculations are available in the browser editor at opentakeoff.kentucky-ai.com. It needs no account and uploads no drawings. The agent and a person work on one takeoff document with shared quantity formulas. One-Click room detection is switched off for now while it is re-validated on a wider set of plans.
Who it is for. For estimators and bid preparers who measure quantities off PDF drawings, and for people who connect Claude Code, Cursor or Claude Desktop to that work.
Good fit when
- You are preparing a flooring bid and want room areas taken off a drawing sheet
- A sheet's scale must be set or checked: set_scale accepts a label, a two-point calibration or the value detected on the sheet
- Measurements must leave an audit trail: shapes store scale, method and any human correction, and the set goes out as a marked-up PDF
- Plans, a finish schedule and addenda have to become one takeoff: load_plan with merge: true adds a document to the working set
- The agent must check its result visually: view_sheet with an overlay shows the sheet with the drawn outlines
Not a fit when
- Your drawings are DWG rather than PDF, or you need a Revit model: the server opens PDF sheets
- You want every room traced in one click: One-Click and detect_rooms are switched off in the default build, rooms are traced through measure_polygon
- You need a final client document without specialist review: the scale stays unconfirmed until a person confirms it
- The machine has neither Node.js 20 or newer nor Docker, and you cannot install them
Example request
Open demo/sample-plan.pdf, check the scale of the first sheet, trace the rooms and show an area table: what a person confirmed and what notMCP
- Transport
- stdio
- Authentication
- not required
Environment variables
OPENTAKEOFF_MCP_STAGED_TOOLS- The value 1 enables staged tool exposure instead of the full list at once.
OPENTAKEOFF_ONE_CLICK- The value 1 registers the disabled one_click and detect_rooms tools.
OPENTAKEOFF_MCP_TRACE- The value 1 writes one JSON line per call to stderr: tool name, duration and result size, with no document text.
Limitations
The two-point calibration is specified in feet in the description, and the public sample plans come from the US. Test metric drawings on your own sheet before relying on a result.
One-Click and detect_rooms are not registered in the default build (53 tools instead of 55). The browser and MCP room-detection paths still differ, so identical boundaries on every plan are not guaranteed.
The project is released under AGPL-3.0, and its terms apply to your own copy hosted as a network service.
How to disable. Remove the opentakeoff block from your MCP client configuration. In Claude Code the command is claude mcp remove opentakeoff. Marked-up PDFs and exports stay where you saved them, so delete them by hand.
FAQ
How do I connect OpenTakeoff to Claude Code or Cursor?
In Claude Code run claude mcp add opentakeoff -- npx -y opentakeoff-mcp. In Cursor and other stdio clients add the npx command with the arguments -y and opentakeoff-mcp to the configuration. For Claude Desktop there is an opentakeoff-mcp.mcpb bundle on the releases page: double-click to install, no Node.js needed.
Do I need an account or to upload drawings to a cloud?
The browser editor works without an account and uploads no drawings. The MCP server runs over stdio on your machine and reads a PDF from a path on disk. In Docker you mount the local folder with plans read-only.
Why must agent measurements be confirmed?
Agent measurements get an explicit review status, and a scale set through set_scale stays unconfirmed until a person confirms it in the editor. That way an agent's output cannot pass for reviewed work.
Why are One-Click and detect_rooms missing from the tool list?
Those two tools are switched off while the flood engine is re-validated on a wider set of plans. The environment variable OPENTAKEOFF_ONE_CLICK=1 registers them, and the count becomes 55.
How do I cut the number of tools in the agent's context?
Set OPENTAKEOFF_MCP_STAGED_TOOLS=1. Only eleven setup-stage tools and the opener open_tool_stage start enabled, the rest appear on the agent's request. The client must support tool list updates.
Discussion
No questions or reviews yet.
Related
MCP serversThe official remote MCP server for the WebAsk survey builder plus 25 skills: surveys from a brief, pre-launch checks, answers and reports
Trello MCP server with 57 tools: cards, lists, checklists, attachments, comments, custom fields and workspaces, plus acceptance-criteria extraction
An MCP server that lets an agent work on your computer: terminal and long-running processes, file search and edits, Excel, PDF and DOCX
A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI
Planfix MCP
planfix-mcp
Planfix MCP server: tasks, projects, contacts, comments and employees through the REST API
A CLI and MCP server that tally token spend across 41 tools and agents, break it down by project and model, and help cut wasted tokens
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| OpenTakeoff (this entry) | no | not required | 716 | |
| DDC Skills for Construction | no | 375 | a skill set for construction companies: BIM-to-Excel export, price lookup and estimates | |
| rvt-mcp (Bimwright) | no | not required | 106 | works inside Revit with a building model |
README in short
The documentation describes one takeoff engine with two entry points: an MCP server for the agent and a browser editor for a person, sharing geometry and quantity modules. There are separate manuals for agents and users, a draft protocol for exchanging takeoff data, and public plan sets with reference outlines for blind agent runs. A section on running your own copy explains how to stand up an instance. Recent changes cover the room-tracing rules and the full human review loop for a takeoff imported from an agent.