GR

graphbim/revitmcpgraphql

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

20 stars 7 forks 质量 67 趋势 14

Revit MCP GraphQL,就是周末的项目黑客松。

概览

在Autodesk Revit中暴露了一个轻量级的GraphQL API,支持读写操作。你可以查询模型数据,检查选择/上下文,并运行安全编辑命令(变异)——所有这些都可以通过GraphQL或Python客户端实现。 - 在 Revit 内运行正在进行的 HTTP GraphQL 服务器 - 模块化查询 + 变异架构(贡献者) - 广泛查询覆盖:文档、类别、元素、房间、层级、视图、族/实例、项目信息、材料、工作集、阶段、设计选项、链接、工作表、网格、计划、项目位置、警告、元素类型、单元、坐标、类别元素、边界框中的元素、活动视图和选择、元素关系、模型健康 - 实用变异:设置参数(单/批)、更改类型、移动、旋转、删除、创建家族实例、复制视图、创建表格、导出/导入 Excel 的计划 - 简单的健康端点和原生 JSON 变量 - 可选的 Python MCP 客户端/服务器,用于自动化和人工智能......

概述(AI 翻译)

在Autodesk Revit中暴露了一个轻量级的GraphQL API,支持读写操作。你可以查询模型数据,检查选择/上下文,并运行安全编辑命令(变异)——所有这些都可以通过GraphQL或Python客户端实现。

演示

精彩片段

  • 在Revit中运行正在进行的HTTP GraphQL服务器
  • 模块化查询 + 变异架构(贡献者)
  • 广泛查询覆盖:文档、类别、元素、房间、关卡、视图、族/实例、项目信息、材料、工作集、阶段、设计选项、链接、表格、网格、计划、项目位置、警告、元素类型、单元、坐标、按类别的元素、边界框中的元素、活动视图和选择、元素关系、模型健康
  • 实用变更:设置参数(单件/批处理)、更改类型、移动、旋转、删除、创建家族实例、复制视图、创建表格、导出/导入 Excel 排程
  • 简单的健康端点和原生 JSON 变量
  • 可选的 Python MCP 客户端/服务器,用于自动化和 AI 工具

要求

  • Autodesk Revit 2021–2027(多目标版本)。大部分功能于2024/2025年验证。
  • .NET Framework 4.8 用于 Revit 2021–2024;.NET 8 用于 Revit 2025–2026;

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

RevitMCPGraphQL

Exposes a lightweight GraphQL API inside Autodesk Revit for both read and write operations. You can query model data, inspect selection/context, and run safe editing commands (mutations) — all from GraphQL or a Python client.

Demo

Highlights

  • Runs an in-process HTTP GraphQL server inside Revit
  • Modular query + mutation architecture (contributors)
  • Broad query coverage: document, categories, elements, rooms, levels, views, families/instances, project info, materials, worksets, phases, design options, links, sheets, grids, schedules, project location, warnings, element types, units, coordinates, elements by category, elements in bounding box, active view and selection, element relationships, model health
  • Practical mutations: set parameters (single/batch), change type, move, rotate, delete, create family instance, duplicate view, create sheet, export/import schedules to/from Excel
  • Simple health endpoint and native JSON variables
  • Optional Python MCP client/server for automation and AI tooling

Requirements

  • Autodesk Revit 2021–2027 (multi-targeted). Most features validated on 2024/2025.
  • .NET Framework 4.8 for Revit 2021–2024; .NET 8 for Revit 2025–2026; .NET 10 for Revit 2027 (handled by csproj configurations)
  • Windows 10/11
  • Python 3.8+ (only if using the Python client / MCP server)

Install and Build

  1. Clone

  2. Open the solution in Rider or Visual Studio

  3. Restore and build

    • dotnet restore
    • Select the Revit configuration matching your version (e.g., “Debug R24”, “Debug R25”, “Debug R26”, or “Debug R27”) and build
  4. Deploy

    • The project uses Nice3point.Revit.Build.Tasks to copy the .addin and binaries to your Revit Addins folder on Debug builds automatically

Run in Revit

  • Start Revit and open a model
  • In the Add-Ins tab, use the Start button to launch the server (Stop to shut it down)
  • A free port between 5000–6000 is chosen automatically; a dialog shows the exact URL

Tip: If you rely on a fixed port (e.g., tests), set REVIT_GRAPHQL_URL to the shown URL when launching tools.

GraphQL usage

Send HTTP POST to /graphql with JSON body: { “query”: “{ health }” }

Variables are supported via the standard { query, variables } payload.

Queries (selection)

  • health: String
  • document
  • categories(limit)
  • elements(limit)
  • familyTypes(limit)
  • rooms(limit)
  • levels(limit)
  • views(limit)
  • families(limit)
  • familyInstances(limit)
  • projectInfo
  • elementsById(ids: [ID!]!)
  • materials(limit)
  • worksets(limit)
  • phases(limit)
  • designOptions(limit)
  • links(limit)
  • sheets(limit)
  • grids(limit)
  • projectLocation
  • warnings
  • elementTypes(limit)
  • elementsByCategory(category: BuiltInCategoryEnum!, limit)
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →