# Magicplan MCP

> Magicplan connects your AI agent directly to professional architectural data, financial estimates, and spatial plans. It lets you query project metadata, retrieve precise measurements (area, perimeter), audit detailed costs, and pull survey forms—all from natural language commands. Stop switching between plan viewers and spreadsheets.

## Overview
- **Category:** real-estate
- **Price:** Free
- **Tags:** floor-plans, spatial-data, architectural-design, estimation, room-scanning, project-oversight

## Description

**Magicplan** connects your AI agent directly to architectural data, financial ledgers, and spatial plans. You stop switching between plan viewers and spreadsheets because your agent handles it all in natural language. It reads floor plans and hands you concrete numbers on area, perimeter, project status, and costs. 

To start, **list_magicplan_projects** gives your agent a complete roster of every architectural project set up in the workspace. For any specific job ID, **get_project_details** pulls core metadata, giving you immediate access to the client name or the current project status.

When you need to know what's physically built, **get_project_floor_plan** provides a complete spatial data map for a project, detailing every room and object placement. You can then run **get_plan_measurements**, which calculates metrics like total area, perimeter, or volume using any plan ID you provide. The agent uses this same mechanism to calculate precise measurements for defined rooms within the structure. 

For financials, you first use **list_project_estimates** to see every financial estimate created for a specific project. You then call **get_estimate_details**, and the server gives you the full breakdown of that estimate: it separates costs into labor, materials, taxes, and all other line items so you can audit exactly where the money's going.

Compliance and documentation are handled by two key tools. First, **list_available_forms** shows your agent every type of data collection form or checklist attached to the workspace. When you need specific historical data from a plan, **get_plan_form_data** retrieves structured information directly from inspection forms or checklists linked to that single floor plan. 

For managing the team and environment itself, **list_workspace_users** shows every user account and collaborator within your Magicplan workspace. **get_workspace_info** gets you configuration details for the entire current workspace setup. You've got all the mechanisms—from listing projects and getting metadata to calculating precise measurements, auditing costs, and managing team forms—all in one place.

## Tools

### list_project_estimates
Lists every financial estimate created for a specific project ID.

### list_available_forms
Lists every type of data collection form or checklist available in your workspace.

### get_estimate_details
Fetches the complete financial breakdown for a specific project estimate ID.

### get_project_floor_plan
Pulls the complete spatial data map, detailing all rooms and object placements within a project.

### get_project_details
Retrieves core metadata (client name, status) for a specified Magicplan project ID.

### get_plan_form_data
Retrieves structured data from inspection forms or checklists linked to a single floor plan.

### get_plan_measurements
Calculates and returns numeric metrics like area, perimeter, and volume for any given plan ID.

### list_magicplan_projects
Retrieves a list of all projects currently set up in the Magicplan account.

### list_workspace_users
Shows all user accounts and collaborators within the Magicplan workspace.

### get_workspace_info
Gets configuration details for the current Magicplan workspace environment.

## Prompt Examples

**Prompt:** 
```
List all architectural projects in my Magicplan workspace.
```

**Response:** 
```
I've retrieved your projects. You have 3 active projects: 'Beach House Renovation (ID: 123)', 'Downtown Office (ID: 456)', and 'Modern Loft (ID: 789)'.
```

**Prompt:** 
```
Show the floor plan measurements for project ID '123'.
```

**Response:** 
```
I've retrieved the measurements. For Project 123, the total area is 120.5 sqm, with a perimeter of 45.2 m. The Master Bedroom (Room ID: abc) has an area of 18.2 sqm.
```

**Prompt:** 
```
Get the financial breakdown for estimate 'est-987' in project '456'.
```

**Response:** 
```
I've fetched the breakdown for estimate est-987. The total is $5,450.00, including $2,100.00 for labor and $3,350.00 for materials. There are 12 individual line items listed.
```

## Capabilities

### List all projects
Retrieves a list of every architectural project available in your Magicplan workspace.

### Get project metadata and status
Fetches detailed information, including the current status and general details for a specific project ID.

### Retrieve full floor plan spatial data
Pulls all structural data for a project, listing rooms, floors, and object placements.

### Get numeric measurements from plans
Calculates specific metrics like total area, perimeter, or volume for a plan or a defined room.

### Audit financial estimate details
Provides a granular breakdown of an estimate, separating costs into labor, materials, taxes, and other line items.

### Manage workspace users and forms
Lists all users in your team or retrieves structured data from attached inspection checklists.

## Use Cases

### Auditing Budget vs. Plan
A Construction Manager needs to know if the budgeted materials for Project 456 are adequate. They ask their agent: 'What is the required area, and what's the cost?' The agent runs `get_project_floor_plan` (for total area) and then uses that data point with `get_estimate_details`. It returns the actual spatial requirements alongside the full financial line-item breakdown, flagging discrepancies immediately.

### Verifying Survey Data
A Surveyor has just completed an inspection on a new building. Instead of emailing photos and paper checklists, they ask their agent to pull data for Project 123. The agent runs `list_available_forms` to identify the correct checklist type, then uses `get_plan_form_data` to retrieve all structured metrics—like utility readings or structural notes—directly into the conversation.

### Quick Project Status Check
A Real Estate Professional needs a list of all active properties for due diligence. They ask their agent to 'List projects and their status.' The agent runs `list_magicplan_projects` followed by `get_project_details`, providing the full roster of IDs, names, and current project statuses in one clean response.

### Calculating Room Area on the Fly
An Architect is revising a layout and needs to know the exact area of the Master Bedroom (Room ID: abc) without opening the dedicated plan tool. They ask their agent: 'What is the area of room abc in project 123?' The agent executes `get_plan_measurements` and gets the precise square footage instantly.

## Benefits

- **Automate Measurement Checks:** Don't rely on manual scaling or PDF measurement tools. Use `get_plan_measurements` to get precise square meterage and perimeters for any room or entire plan in a single query.
- **Instant Financial Audits:** Instead of opening multiple spreadsheets, call `get_estimate_details`. You immediately see the full breakdown—labor costs versus material costs—allowing you to audit budgets on the fly.
- **Centralized Project View:** Need to know what's happening across 10 projects? Use `list_magicplan_projects` and then `get_project_details` to pull status updates for every single one, all without leaving your dev environment.
- **Structured Data Retrieval:** Forget digging through image-based reports. The server uses `get_plan_form_data` to extract structured data from inspection checklists and survey forms attached to plans.
- **User Management at Scale:** Use `list_workspace_users` and `list_magicplan_projects` together to get a full picture of who has access, what projects exist, and how the team is organized.

## How It Works

The bottom line is, your AI client runs the query through the server, gets the number back, and then talks to you like a human did.

1. Subscribe to the server and input your Magicplan Customer ID and API Key.
2. Your AI client sends a request (e.g., 'What is the area of Project 123?').
3. The agent calls the appropriate tool (`get_plan_measurements`), which queries Magicplan's backend and returns the raw measurement data to your agent.

## Frequently Asked Questions

**How do I list all projects using list_magicplan_projects?**
Run `list_magicplan_projects` to get a full roster of every project ID in your workspace. This is the first step before you can query details for any specific project.

**What if I need measurements for multiple rooms? Can get_plan_measurements handle it?**
Yes. You don't have to run the tool repeatedly. Give the agent a list of Room IDs and ask for 'the area and perimeter of these three specific rooms,' and `get_plan_measurements` handles the batch query.

**Can I check project status using get_project_details?**
Yes. After you use `list_magicplan_projects` to find a Project ID, running `get_project_details` pulls the current metadata and operational status for that exact project.

**How do I see if the budget is correct for a plan?**
You need two tools: first, use `get_plan_measurements` to confirm the required area. Then, pass that data point into `get_estimate_details` so the agent can cross-reference the size with the budgeted materials.

**What specific data fields does `get_plan_form_data` retrieve for a plan?**
It retrieves structured data from attached forms. You get key-value pairs, including checklist answers and survey notes, ensuring the output is always usable JSON.

**Does `list_workspace_users` provide detailed security roles or just user names?**
It lists all active users within your workspace. While it confirms membership, you must use the Magicplan UI to manage specific permission levels and roles for compliance.

**What information is required before I can successfully run `list_project_estimates`?**
You need the Project ID first. The function uses this identifier to pull a complete list of all financial estimate records tied specifically to that project.

**When I call `get_project_floor_plan`, what kind of geometry data does it return?**
It returns comprehensive spatial JSON. This includes coordinates for floors, rooms, and object boundaries, making the data ready for immediate CAD or measurement calculations.

**How do I get my Customer ID and API Key?**
Log in to the magicplan Cloud dashboard as an admin, navigate to Workspace Settings > API to generate your credentials.

**Can I see the measurements of a specific room?**
Yes, the `get_plan_measurements` tool returns numeric data for the entire plan, individual floors, and every room within those floors.

**What is included in the financial estimate details?**
The `get_estimate_details` tool retrieves customer contact info, financial totals (labor, material, tax), and a full list of itemized positions/tasks.