npm package: @istiqlal/revit-agentic
Description: MCP server for interacting with Autodesk Revit through AI assistants like Claude
Author: Istiqlal
Latest version: 1.0.6

# @istiqlal/revit-agentic

[![npm version](https://img.shields.io/npm/v/@istiqlal/revit-agentic)](https://www.npmjs.com/package/@istiqlal/revit-agentic)

MCP server for interacting with Autodesk Revit through AI assistants like Claude.

Created by **Istiqlal**

This package is the MCP server component of [revit-agentic](https://github.com/IstiqlalBhat/revit-agentic). It exposes Revit operations as MCP tools that AI clients can call. The server communicates with the Revit plugin over WebSocket to execute commands inside Revit.

> [!NOTE]
> This server requires the revit-agentic Revit plugin to be installed and running inside Revit. See the [full project README](https://github.com/IstiqlalBhat/revit-agentic) for setup instructions.

## Setup

**Claude Code**

```bash
# Windows
claude mcp add revit-agentic -- cmd /c npx @istiqlal/revit-agentic

# macOS / Linux
claude mcp add revit-agentic -- npx @istiqlal/revit-agentic
```

**Claude Desktop**

Claude Desktop → Settings → Developer → Edit Config → `claude_desktop_config.json`:

```json
{
    "mcpServers": {
        "revit-agentic": {
            "command": "npx",
            "args": ["@istiqlal/revit-agentic"]
        }
    }
}
```

Restart Claude Desktop. When you see the hammer icon, the MCP server is connected.

## Supported Tools

| Tool | Description |
| ---- | ----------- |
| `get_current_view_info` | Get current active view info |
| `get_current_view_elements` | Get elements from the current active view |
| `get_available_family_types` | Get available family types in current project |
| `get_selected_elements` | Get currently selected elements |
| `get_material_quantities` | Calculate material quantities and takeoffs |
| `ai_element_filter` | Intelligent element querying tool for AI assistants |
| `analyze_model_statistics` | Analyze model complexity with element counts |
| `create_point_based_element` | Create point-based elements (door, window, furniture) |
| `create_line_based_element` | Create line-based elements (wall, beam, pipe) |
| `create_surface_based_element` | Create surface-based elements (floor, ceiling, roof) |
| `create_grid` | Create a grid system with smart spacing generation |
| `create_level` | Create levels at specified elevations |
| `create_room` | Create and place rooms at specified locations |
| `create_dimensions` | Create dimension annotations in the current view |
| `create_structural_framing_system` | Create a structural beam framing system |
| `delete_element` | Delete elements by ID |
| `operate_element` | Operate on elements (select, setColor, hide, etc.) |
| `color_elements` | Color elements based on a parameter value |
| `tag_all_walls` | Tag all walls in the current view |
| `tag_all_rooms` | Tag all rooms in the current view |
| `export_room_data` | Export all room data from the project |
| `store_project_data` | Store project metadata in local database |
| `store_room_data` | Store room metadata in local database |
| `query_stored_data` | Query stored project and room data |
| `send_code_to_revit` | Send C# code to Revit to execute |
| `say_hello` | Display a greeting dialog in Revit (connection test) |

## Development

```bash
npm install
npm run build
```

## License

[MIT](https://github.com/IstiqlalBhat/revit-agentic/blob/main/LICENSE)