# OpenTakeoff

OpenTakeoff lets AI agents read building plans, verify scale, and compute material takeoff quantities. It connects directly to the shared estimation canvas.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 667
- Author: Kentucky-ai
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Kentucky-ai/opentakeoff
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/opentakeoff

## What it does

The server exposes 58 tools for interacting with plan sheets. OpenTakeoff bridges the agent and the human estimator around the same document. Every recorded measurement stores scale, coordinates, calculation method, and review state. If someone recalibrates a sheet, the engine recalculates associated quantities at once.

Automatic room flood detection is gated in the default build. Agents trace areas via `measure_polygon` unless you pass `OPENTAKEOFF_ONE_CLICK=1` when running the server. The canvas runs entirely in the browser, while optional background screen captures rely on the Python 3 standard library.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add opentakeoff -- npx -y opentakeoff-mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add opentakeoff -- npx -y opentakeoff-mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "opentakeoff": {
            "command": "npx",
            "args": [
                "-y",
                "opentakeoff-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "opentakeoff": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "opentakeoff-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add opentakeoff npx -y opentakeoff-mcp
```

## When to use it
- calculate room floor areas and wall lengths from architectural PDFs
- update material quantities when a plan sheet is recalibrated
- assign review statuses to AI-generated takeoffs
- track geometry, authorship, and scale provenance for every measurement

## Example prompts
- Load `floor_plan.pdf`, set sheet scale from the reference dimension, and calculate room areas using `measure_polygon`.
- Inspect `level1_plan.pdf` and check if any imported sheets have scale conflicts.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
