Construction MCP

Construction MCP

Documentation

Construction reference MCP server

A small, offline Model Context Protocol server that gives an AI assistant construction reference data and calculators it would otherwise guess at: cost codes, construction terms, waste factors, pay units, the typical trade sequence, cost and schedule metrics, unit conversions, and calculators for concrete, rebar, masonry, asphalt, earthwork, earned value, retainage and markup versus margin.

It is one Python file tree with no dependencies, no network access and no accounts. The data ships with it.

tools datasets dependencies network licence

Tools

Reference lookups

ToolAsk it things likeReturns
lookup_cost_code"What cost code for slab on grade?" "List division 09"Code, description, CSI division, cost type, unit, notes
define_term"What is retainage?" "What does AHJ mean?"Glossary definitions from contract, cost control, field, safety and finance
waste_factor"What waste should I carry on tile?"Planning low and high percent, basis, and what drives it
pay_unit"How is bulk excavation paid?"Pay unit, measurement basis and usual exclusions
trade_sequence"What comes before drywall?"Trade, activity, predecessor, duration driver and the constraint that usually bites
metric_formula"How is TCPI calculated?"Formula, inputs, interpretation and caveats
convert_units"Convert 2 M3 to CY" "450 PSF in KSF"The result, factor and notes. Refuses conversions that need more information, such as LF to SF

Calculators

ToolAsk it things likeReturns
concrete_volume"40 by 30 slab, 6 inches thick"Neat CF and CY, and order CY with a given waste or the planning range
rebar_weight"100 #5 bars at 20 feet"Pounds and tons, with the waste range
masonry_units"1,000 SF of CMU wall with 80 SF of openings"Units neat and with waste
asphalt_tonnage"9,000 SF paved at 3 inches"Tons neat and with waste
earthwork_volume"1,000 bank yards of clay: how much to haul?"Loose and compacted volume ranges
earned_value"BAC 1M, EV 400k, AC 450k, PV 500k"CV, SV, CPI, SPI, two EACs, ETC, VAC and TCPI, with warnings when it is too early to trust them
retainage"10% retainage on 500k billed, 380k already paid"Retainage held and outstanding, and the amount due
markup_margin"Cost 100,000 at 20% markup: what's my margin?"Price, profit, markup and margin

Every tool is read-only and tells the model its results are planning values to be checked against your own data.

Resources

The eight datasets behind the tools are also exposed as read-only MCP resources (construction-reference://data/<name>.csv), so a client can attach a whole table to a conversation: cost codes, glossary, waste factors, earthwork factors, unit conversions, pay units, trade sequence and metric formulas. Only these bundled files can be read.

What it does not do

  • No network. It never opens a port or makes a request. It talks only to the application that launched it, over standard input and output.
  • No connections. It does not connect to any accounting, project management or scheduling system, to any Constructelligence product or server, or to anything else.
  • No files, no memory. It reads only its own bundled data. It does not read your files, write anything, or keep anything between calls.
  • No advice. Waste factors, swell factors and unit weights are planning ranges. Your own history, your suppliers and your engineers beat any table.

Install

Clone the repository anywhere. Python 3.9 or later is all it needs.

git clone https://github.com/constructelligence-lab/construction-mcp.git

Then add it to your MCP client. Replace the path with where you cloned it.

Claude Code

claude mcp add construction-reference -- python3 /path/to/construction-mcp/server.py

Claude Desktop and other clients that take a JSON configuration:

{
  "mcpServers": {
    "construction-reference": {
      "command": "python3",
      "args": ["/path/to/construction-mcp/server.py"]
    }
  }
}

Nothing is installed system-wide, and removing it is deleting the folder and that entry.

Check it works

python3 -m unittest discover -s tests

The tests start the real server the way a client does and call every tool. To poke at it by hand:

printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"markup_margin","arguments":{"cost":100000,"markup_percent":20}}}' | python3 server.py

Protocol

JSON-RPC 2.0 over stdio, one message per line. Implements initialize, ping, tools/list, tools/call, resources/list and resources/read, and accepts MCP protocol versions 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05. Tool results carry both a JSON text block and structuredContent. Input problems come back as tool results with isError: true, so the model can correct its call. Logging goes to stderr.

Data

The reference data is copied from construction-data, which is where corrections belong. See construction_mcp/data/SOURCE.md. The cost codes use an independent numbering mapped to CSI division titles only; they are a starting point, not a standard.

More from Constructelligence

Open construction resources from the same team, all maintained alongside this one:

RepositoryWhat it is
AI in constructionA practical guide to AI in construction: what works today, what the data has to look like, the risks, and a 90-day plan.
Construction data migrationA guide and toolkit for moving a contractor between systems, and proving nothing was lost.
Construction project recordsOpen schemas, templates and a checker for RFIs, submittals, change events, daily reports and punch lists.
Construction reference dataCost codes, units, waste factors, pay units, trade sequence, glossary and metric formulas in CSV.
Construction prompts28 prompts for ChatGPT, Claude and Gemini, from bid go/no-go to notice letters.
Construction agent skills28 installable agent skills for Claude Code and any agent that reads SKILL.md.
Open source construction toolsOpen source software for BIM, CAD, scheduling and site work, verified against the GitHub API.

Licence

Code: MIT. Data and documentation: CC BY 4.0. See LICENSE.


Maintained by Constructelligence — building the AI infrastructure for construction.