Metadata-Version: 2.4
Name: bamroc-mcp
Version: 1.3.0
Summary: BAMROC MCP server: MEP clash detection and BAMROC Move/Bend resolution in Autodesk Revit, for any MCP client.
Author: VAVETEK AI PRIVATE LIMITED
License-Expression: LicenseRef-Proprietary
Project-URL: Repository, https://github.com/Deepansu180102/BAMROC_MCP_Server
Keywords: mcp,revit,bim,mep,clash detection,bamroc
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Other Audience
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.27
Requires-Dist: mcp<2,>=1.2.0
Dynamic: license-file

# BAMROC MCP server

> **Working on this repository?** Start with [DEVELOPER_GUIDE.md](DEVELOPER_GUIDE.md): what exists, where it lives,
> how to build, test and release, and what is still open.

<!-- mcp-name: io.github.Deepansu180102/bamroc -->

Resolve MEP clashes in Revit with BAMROC, from any AI app (Claude, Cursor, VS Code...), and let that AI build agents,
scripts or Revit buttons on top of it from a plain-language request.

The server is self-describing: when an AI connects, it receives the workflow and safety rules (BAMROC runs cost tokens,
applies change the model, ask the user first), and it can read guides with tested templates through the `BamrocGuide`
tool or the `bamroc://guide/<topic>` resources. Nobody needs to read this code to use or build on it.

## What you need on the PC

- Revit 2024, 2026 or 2027 with the model open, and the **BAMROC Revit connector**, installed by the
  BAMROC AI Connector setup (`copilot/bundle`) or by the `InstallRevitConnector` tool.
- A Vavetek account with BAMROC tokens. The first BAMROC run opens the browser to sign in.
- An AI app. The setup connects Claude Desktop; **Start menu > BAMROC AI Connector > Connect ...** adds this server to
  Claude Code, Cursor or VS Code. By hand: command = full path of python.exe, args `-m bamroc_mcp` (the `bamroc-mcp` script works too
  when pip's Scripts folder is on PATH), stdio.

Then ask the AI, for example: *"Check my BAMROC setup and find the clashes in my model"*, *"Resolve only the pipe vs
duct clashes with Move"*, *"Build me an agent that fixes MEP clashes"*, *"Make me a Revit button that..."*.

## Tools

| Tool | What it does | Cost / effect |
|---|---|---|
| `CheckSetup` | Says what is ready and what to fix (Revit link, add-in, sign-in, BAMROC cloud) | free |
| `BamrocGuide` | Guides: `workflow`, `build-an-agent`, `build-a-revit-button`, `call-from-code`, `tool-results` | free |
| `ClashDetection`, `ListClashes` | Detect clashes; list them with index numbers and filters | free |
| `RunBamrocAnalysis` (Move), `RunBamrocBending` (Bend) | BAMROC prediction for chosen clashes (filters or `clashIndexes`); saved to Downloads | **BAMROC tokens** (~1 per clash) |
| `ApplyBamrocMove`, `ApplyBamrocBend` | Apply the last prediction in one Revit transaction (one Ctrl+Z) | **changes the model** |
| `MoveElement` | Move one element by a distance | **changes the model** |
| `GetModelData`, `*WithProjectData`, `Logout` | Raw export, advanced runs, sign-out | |

Prompts: `resolve_clashes`, `build_bamroc_agent`, `build_revit_button`.

## Calling BAMROC from code without an MCP client

`bamroc-call` runs one tool and prints JSON (see `BamrocGuide` topic `call-from-code`):

```powershell
bamroc-call CheckSetup
bamroc-call ListClashes "{\"scope\": \"mep_vs_mep\", \"limit\": 10}"
bamroc-call RunBamrocAnalysis "{\"scope\": \"mep_vs_mep\"}" --yes   # --yes only after the user agreed
```

## Develop

```powershell
python -m venv .venv
.\.venv\Scripts\pip install -e .
.\.venv\Scripts\python -m unittest discover -s tests -v
```

Code: `src/bamroc_mcp/` (`server.py` tools, `guides.py` instructions and guides, `cli.py` bamroc-call,
`converter.py` Revit data to BAMROC payload, `API.py` BAMROC cloud and listener, `auth.py` Vavetek sign-in).
The Revit add-in, chat agent, installer and pilot kit are in `copilot/` (see `copilot/README.md`).
`BAMROC_API_BASE_URL` points at another BAMROC backend (default: the BAMROC cloud).

License: proprietary, Copyright (c) 2026 VAVETEK AI PRIVATE LIMITED (see `LICENSE`).
