Engineering Drawing Estimator
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Engineering Drawing EstimatorCount the socket outlets and data outlets in this engineering drawing."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TakeoffLens
AI drawing intelligence for reviewed, traceable quantity takeoff
TakeoffLens turns engineering drawings into quantities that remain connected to their source evidence. It combines PDF inspection, vector and layer analysis, symbol detection, assisted review, markup, and accuracy measurement in one local MCP-powered workflow.
Electrical and ELV are the first active disciplines. The shared Core + Discipline architecture is designed to expand to HVAC, Plumbing, Fire Protection, Architectural, Structural, and other building systems.
TakeoffLens is an assisted-review product. Automatic detections are candidates, not final quantities, until they have been reviewed.
Download v0.2.1 · Installation guide · Architecture · Development · Roadmap
Why TakeoffLens
Most PDF tools can display a drawing or extract text. TakeoffLens focuses on the engineering meaning around that content:
identifies supported systems and symbol classes;
uses native vector geometry and PDF/CAD layer evidence when available;
keeps every counted item tied to page coordinates and review status;
exports candidate crops, markup, CSV, JSON, and audit evidence;
records source, template, and candidate hashes for reproducibility;
measures precision, recall, F1, and where detector misses occurred;
preserves uncertain items instead of silently converting them into quantities.
Related MCP server: PDF2MD MCP Server
Product capabilities
Capability | What TakeoffLens provides |
Read | Inspect vector, hybrid, and raster PDF pages and render them for review |
Understand | Read project legends, layer signatures, text context, and discipline rules |
Quantify | Detect supported symbols and group reviewed quantities by page, floor, or region |
Audit | Keep accepted, rejected, uncertain, unresolved, and manually added locations |
Trace | Bind results to the PDF, page, template, candidates, and detector settings |
Measure | Evaluate reviewed detector output with precision, recall, F1, and miss attribution |
Supported disciplines
Discipline | Systems | v0.2.x status |
Electrical | Power, Lighting | Active |
ELV | Fire Alarm, Data/Voice, CCTV/Security | Active |
Mechanical | Air Conditioning, Ventilation | Planned |
Plumbing | Water Supply, Drainage, Sanitary | Planned |
Fire Protection | Sprinkler, Hydrant, Fire Pump | Planned |
Architectural | Door, Window, Room, Finish | Planned |
Structural | Column, Beam, Foundation | Planned |
get_discipline_catalog is the machine-readable source of truth. Planned packs
must not be presented as supported until their rules, templates, and reviewed
benchmarks are available.
How it works
flowchart LR
A["Engineering PDF"] --> B["Inspect page and layers"]
B --> C["Apply discipline rules and templates"]
C --> D["Generate candidates and evidence"]
D --> E["Accept, reject, or mark uncertain"]
E --> F["Export reviewed quantities and markup"]
F --> G["Benchmark and audit provenance"]The engine prefers CAD metadata when available, native vector geometry for vector PDFs, and high-resolution visual review for raster scans. OCR is text context only; it is not treated as proof that a symbol exists.
Quick start
Install as a Codex Plugin
Download
takeoff-lens-plugin-v0.2.1.zipfrom the latest release.Verify the accompanying
.sha256file.Extract the archive.
Add the extracted
plugin-marketplacedirectory to Codex.Install
takeoff-lens, then start a new task so the Skill and MCP tools load.
The first MCP launch creates a private per-user Python environment and installs the pinned headless dependencies. Drawing files are processed locally.
See Installation for exact commands, migration from the legacy plugin, manual MCP setup, managed Python environments, and troubleshooting.
Example prompt
Use TakeoffLens to inspect this engineering PDF.
Prepare a FIRE_ALARM audit, create markup, and review every candidate.
Keep uncertain locations unresolved and show their crop or coordinates before
reporting a final quantity.Review contract
A result is final only when all of the following are true:
every detector candidate has an accepted, rejected, or uncertain decision;
no unresolved or uncertain item affects the subtotal;
the independent wall and door sweep is confirmed where relevant;
review_completeistrue;clarification_requiredisfalse;provenance_verifiedistrue.
Visually confirmed misses are recorded as manual_points; they are never added
silently. A zero result remains provisional until the candidate set and relevant
plan regions have been reviewed.
Output artifacts
TakeoffLens can produce:
candidates.jsonand candidate crops;candidate_pool.jsonwith shortlisted, filtered, and ranked-out records;detection_manifest.jsonwith SHA-256 provenance;an HTML candidate review page;
confirmed CSV and JSON quantities;
marked-up page images with stable detection IDs;
accuracy reports containing TP, FP, FN, precision, recall, and F1.
Accuracy status
The current benchmark foundation rejects incomplete ground truth and verifies the
source PDF hash before evaluation. The first private reviewed Fire Alarm baseline
covers eight symbol classes and ten confirmed locations on one vector sheet.
Layer-aware filtering reduced false positives from 83 to 25 while preserving
recall at 1.000; shortlist precision is 0.286 and F1 is 0.444.
This is a regression baseline for one sheet, not a general production-accuracy claim. Broader multi-project benchmark coverage is part of the roadmap.
MCP tools
Tool | Purpose |
| Report active and planned disciplines |
| Profile PDF pages before analysis |
| Render a page for visual review |
| Return supported symbol and context rules |
| Build a project template from a clean legend ROI |
| Analyze rotation-normalized vector signatures |
| Generate candidates and review artifacts |
| Record decisions and export audited quantities |
| Prepare one supported system in a shared-context pass |
| Evaluate reviewed detector output |
Privacy and project data
Drawings are processed locally by the bundled MCP server.
The repository and public release do not include customer PDFs, DWG/DXF files, marked-up plans, private ground truth, test outputs, or machine-specific paths.
Private benchmark suites should remain under ignored directories such as
test-runs/.Network access is needed only for first-run dependency installation unless a managed Python environment is supplied.
Platform and limitations
The packaged launcher currently targets Windows and PowerShell.
The vector matcher is intended mainly for vector and hybrid PDFs.
Raster scans require high-resolution tiling and a separate vision/object detection workflow; this is not yet a production feature.
Symbol geometry varies by company and project, so project legend confirmation remains essential.
The optional Windows Desktop App is experimental. Product development currently prioritizes the MCP + Skill workflow.
Development
TakeoffLens is implemented in Python with PyMuPDF, OpenCV, NumPy, and Pillow. Start with Development for setup, tests, validation, benchmarking, packaging, and repository safety rules. See Architecture for the Core, MCP, Discipline Pack, and host-adapter boundaries.
Release history
See CHANGELOG.md. The current public release is TakeoffLens v0.2.1.
License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anekhirun/Takeoff-Lens-Plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server