An open API service indexing awesome lists of open source software.

https://github.com/samllpigyandong/revit_mcp

Revit MCP. A Model Context Protocol server for Revit integration, enabling seamless communication between Claude AI and Autodesk Revit.
https://github.com/samllpigyandong/revit_mcp

Last synced: 3 months ago
JSON representation

Revit MCP. A Model Context Protocol server for Revit integration, enabling seamless communication between Claude AI and Autodesk Revit.

Awesome Lists containing this project

README

          

# πŸ—οΈ Revit MCP Server

A Model Context Protocol server for Revit integration, enabling seamless communication between Claude AI and Autodesk Revit.

[English](./README.md) | [δΈ­ζ–‡](./README.zh-CN.md)

## 🎯 Overview

This TypeScript-based MCP server provides a bridge between Claude AI and Revit, allowing direct interaction with Revit models through a WebSocket connection. It implements the Model Context Protocol to enable:

- ⚑ Real-time access to Revit model information
- πŸ” Element querying and filtering
- πŸ‘€ View and level management
- πŸ›‘οΈ Robust error handling with fallback mock data

## ✨ Features

### πŸ”Œ Revit Integration
- πŸ“‘ WebSocket-based communication with Revit plugin
- πŸ”„ Real-time model data access
- πŸ” Graceful fallback to mock data when connection fails
- βš™οΈ Configurable connection settings via environment variables

### πŸš€ Core Functionalities
- **πŸ“Š Model Information**
- Access basic model metadata (name, path, version)
- Get element counts and last modification date
- Real-time model state synchronization

- **πŸ—οΈ Element Management**
- Query elements with flexible filtering
- Access element properties and geometry
- Batch element operations

- **πŸŽͺ View & Level Control**
- List all available views
- Access level information
- Navigate through model hierarchy

## πŸ’» Development

### πŸ“‹ Prerequisites
- Node.js (v14 or higher)
- npm
- Autodesk Revit (2023 or later)
- Revit WebSocket Plugin (companion plugin)

### πŸ”§ Installation

Install dependencies:
```bash
npm install
```
Build the server:

```bash
npm run build
```

For development with auto-rebuild:

```bash
npm run watch
```

### βš™οΈ Configuration
The server can be configured using environment variables:

```plaintext
REVIT_HOST=127.0.0.1 # Revit plugin WebSocket host
REVIT_PORT=8080 # Revit plugin WebSocket port
```

## πŸ”— Integration with Claude Desktop
Add the server configuration to Claude Desktop:

Windows:

```bash
%APPDATA%/Claude/claude_desktop_config.json
```

Configuration format:

```json
{
"mcpServers": {
"revit-mcp-server": {
"command": "D:/path/to/revit-mcp-server/build/index.js"
}
}
}
```

### πŸ› Debugging

For debugging the MCP communication:

1. Use the built-in MCP Inspector:
```bash
npm run inspector
```

2. Monitor WebSocket communication with Revit plugin
3. Check server logs for connection and operation status
## ⚠️ Error Handling
The server implements robust error handling:

- Automatic fallback to mock data when Revit connection fails
- Detailed error logging
- Graceful connection recovery
## πŸ“„ License
MIT License

## 🀝 Contributing
Contributions are welcome! Please feel free to submit pull requests.

## πŸ“¬ Contact

If you have any questions or suggestions, feel free to reach out:

- πŸ“§ Email: 353554036@qq.com
- πŸ’¬ WeChat Account: modian4500