Skip to main content
Glama
ViranjPatel

Construction MCP Server

by ViranjPatel
README.md
# Construction MCP Server

Ultra-lightweight MCP server for construction calculations and material estimation.

## Features
- **Material Calculator**: Calculate concrete, steel, brick requirements
- **Cost Estimator**: Quick material cost calculations
- **Structure Types**: Foundation, walls, slabs, beams

## Quick Start

```bash
npm install
npm start
```

## Tools Available

### calculate_materials
Calculate materials for construction elements:
```json
{
  "structure": "foundation",
  "dimensions": {
    "length": 10,
    "width": 8,
    "height": 0.5
  }
}
```

### estimate_cost
Estimate material costs:
```json
{
  "material": "concrete",
  "quantity": 40,
  "unit": "m³"
}
```

## Architecture

- **Zero dependencies** beyond MCP SDK
- **In-memory calculations** - no database overhead
- **Stateless design** for maximum performance
- **JSON-based** material database

## Material Database

| Material | Density | Cost/Unit |
|----------|---------|-----------|
| Concrete | 2400 kg/m³ | $120/m³ |
| Steel | 7850 kg/m³ | $800/m³ |
| Brick | 1800 kg/m³ | $0.5/piece |
| Cement | 1440 kg/m³ | $180/m³ |

## Performance Notes

- **Sub-millisecond** calculation responses
- **Minimal memory footprint** (~10MB)
- **No external API calls**
- **Pure computation** - no I/O blocking

## Usage Example

Connect to Claude Desktop by adding to your config:

```json
{
  "mcpServers": {
    "construction": {
      "command": "node",
      "args": ["path/to/construction-mcp-server/server.js"]
    }
  }
}
```

TDQS

B3.2/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct purpose: calculate_materials and estimate_cost are clearly separate construction functions, while read_group_messages and send_group_message are distinct messaging operations. There is no overlap or ambiguity between any of the four tools.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (calculate_materials, estimate_cost, read_group_messages, send_group_message). The naming is uniform and predictable.

Tool Count4/5

Four tools is within the typical well-scoped range, but the mix of construction and messaging tools suggests a lack of focus. The count itself is reasonable, though the server's purpose is diluted across two unrelated domains.

Completeness2/5

For a construction server, the surface is severely incomplete—only material calculation and cost estimation are covered, with no project management, scheduling, or lifecycle operations. The messaging tools are unrelated and appear bolted on, leaving the overall domain coverage fragmented.

Maintenance

ActivityInactive
ResponsivenessNo issues