# Natural Light Estimator MCP

> Natural Light Estimator calculates minimum window and opening dimensions needed for a room, ensuring your design meets international building codes and provides adequate cross-ventilation. It moves beyond basic square footage requirements by giving you actionable measurements that are structurally feasible in US and EU markets.

## Overview
- **Category:** architecture
- **Price:** Free
- **Tags:** natural-light, ventilation, nbs, architectural-design, passive-cooling

## Description

Designing a space means more than just hitting required square footage; it demands natural light and proper airflow. Traditional building code calculations often give minimum area ratios, but they don't tell an architect how to build those openings into a wall. This MCP bridges that gap by connecting abstract code requirements directly to physical window dimensions.

Your agent first estimates the theoretical lux level using your room and window sizes. Next, it determines precise width and height measurements needed to meet minimum area standards for different regions. The system then classifies that light level—telling you if the space is adequate or dim—and finally compiles everything into a single report with dimensioned specifications ready for construction plans. Because this process combines multiple complex steps (like estimating light and then recommending changes), your agent can manage these multi-step calculations using Vinkius's ability to chain different MCPs together, ensuring every calculation flows logically from one step to the next.

## Tools

### classify_lighting
Takes an estimated lux level and tells you if the natural light is dark, dim, adequate, or bright.

### estimate_light_level
Calculates how much natural light a room receives based on its size, window area, and geographic location.

### recommend_improvements
Provides concrete suggestions for increasing light or improving ventilation when the current conditions fall below code standards.

## Prompt Examples

**Prompt:** 
```
Generate a specification report for a house with three rooms: Living Room (50 sqm), Kitchen (25 sqm), and Master Bedroom (30 sqm).
```

**Response:** 
```
The system will first call `generateRoomSpecificationReport`, which internally uses `calculateRoomMinimums` to find the minimum areas, then determines specific dimensions using `normalizeAreaToWindowDimensions` for all rooms and openings. The final report provides actionable measurements.
```

**Prompt:** 
```
I have a 40 sqm living room and want to know the natural light level if I use a 3m x 1.5m window.
```

**Response:** 
```
The system will first run `estimate_light_level` with the specified dimensions (Window Area: 4.5 sqm, Room Area: 40 sqm) and latitude to give a lux estimate. Then, you can use `classify_lighting` on that result for immediate feedback.
```

**Prompt:** 
```
What improvements should I make to a room where the light level is classified as 'dim'?
```

**Response:** 
```
You can use the `recommend_improvements` tool, passing in 'dim' as the category. This will return concrete suggestions for increasing natural light or improving window placement.
```

## Capabilities

### Calculate theoretical illumination levels
The system estimates the natural light intensity (lux) in a room based on window and room dimensions.

### Determine code-compliant window sizing
It calculates specific width and height measurements required to meet minimum building standards for your area.

### Assess light quality status
The MCP categorizes the calculated lux level into simple terms like 'adequate' or 'dim'.

### Generate actionable design reports
You get a single report containing concrete, dimensioned window specifications for building plans.

## Use Cases

### Designing a new commercial office space
An architect needs to design a large open floor plan. They run an initial calculation using `estimate_light_level` for various window sizes. If the result is 'dim,' they pass that output to the `recommend_improvements` tool, which suggests specific placement changes to hit code compliance.

### Retrofitting an old residential home
A homeowner wants to add a new bay window. They use the MCP to calculate if the proposed size meets minimum area requirements for their state. The system then uses `classify_lighting` on the results, confirming that the addition will bring the room up to 'adequate' light.

### Checking compliance for a multi-story apartment complex
The project manager needs to check 50 units. They feed the unit dimensions and window specs into the MCP, which runs multiple checks and generates a single report, flagging every unit that falls below code minimums.

### Optimizing natural ventilation in a classroom
A school designer needs to balance light and air flow. They use `estimate_light_level` first, then feed the resulting data into the MCP's ability to chain together checks, ensuring that both illumination and cross-ventilation rules are met simultaneously.

## Benefits

- You stop guessing if a space is lit enough. The `estimate_light_level` tool calculates the exact lux level using room size and window area, giving you immediate data.
- The system prevents costly redesigns by ensuring your proposed windows are physically possible. It translates abstract code areas into precise width/height dimensions.
- You get instant feedback on compliance status with `classify_lighting`. Instead of manually cross-referencing codes, the MCP tells you if the light is 'adequate' or needs work.
- If things aren't right, you don't start over. The `recommend_improvements` tool immediately suggests actionable ways to increase natural light or adjust placement.
- The final report combines all these checks, giving builders a single document with dimensioned specs that satisfy the law and reality.

## How It Works

The bottom line is you get concrete dimensions that satisfy complex building codes without having to manually cross-reference multiple standards.

1. Start by providing the room dimensions and any existing opening sizes to estimate the current light level.
2. The MCP uses those inputs to calculate optimal width and height measurements that meet local minimum area requirements.
3. It then generates a single report listing the final, buildable window specifications for every space.

## Frequently Asked Questions

**How does Natural Light Estimator use `estimate_light_level`?**
It uses your room area, window area, and latitude to calculate the theoretical lux level of natural light. This gives you a raw measurement that tells you if the current openings are sufficient.

**What is the difference between `classify_lighting` and simply checking code?**
`classify_lighting` takes the calculated lux number and assigns it an easily understandable category, like 'adequate' or 'dim.' It simplifies complex rules into immediate status feedback.

**Can I use Natural Light Estimator to check multiple rooms at once?**
Yes. You can feed the MCP a list of room sizes and window openings, letting it cycle through all necessary calculations and generating a single report for your entire build.

**What if my light level is 'dim'? How do I fix it using Natural Light Estimator?**
Run the assessment first. If the result is 'dim,' pass that output to `recommend_improvements`. The tool will then provide specific, actionable suggestions for increasing natural light or adjusting window placement.

**How does the Natural Light Estimator secure my architectural data when running `estimate_light_level`?**
Your input measurements are never stored. Vinkius uses a zero-trust proxy for all credentials, meaning your keys pass through in transit but never sit on disk. Every tool call generates a cryptographically signed audit trail for full security.

**Is the Natural Light Estimator compatible with my existing AI clients when using `classify_lighting`?**
Yes, this MCP connects through the Model Context Protocol (MCP) standard. You connect once from any client like Claude, Cursor, Windsurf, or VS Code, and you can access all tools in the catalog.

**What happens if I provide impossible dimensions when calling `estimate_light_level`?**
The system checks for physical plausibility first. If your inputs are contradictory (e.g., a negative area), it won't run the calculation and will return an explicit error code, telling you exactly what needs correction.

**Can I use `recommend_improvements` to plan improvements across multiple zones simultaneously?**
You can certainly chain calls together. You provide data for several areas in sequence, and the MCP handles passing that context through all related tool calls to give you a holistic recommendation.

**What is the difference between minimum area and window dimensions?**
The system first calculates a 'minimum area' (e.g., 1/6 of floor space). The `normalizeAreaToWindowDimensions` tool then takes this abstract minimum and determines the most structurally sound width and height that achieves or exceeds that required area.

**Can I use these tools for a whole building, not just one room?**
Yes. The `generateRoomSpecificationReport` tool accepts an array of multiple rooms and processes them sequentially. This allows you to generate a full specification report for every space in your floor plan.

**What if the required minimum area is too large for standard windows?**
The `normalizeAreaToWindowDimensions` tool includes checks against physical feasibility. If a calculation results in dimensions that are structurally questionable or too large for typical openings, it will issue a warning flag within the final report.