Token导航 LogoToken导航TokenDH.com
Dwg MCP Server logo
AI代理未说明官方级别未说明来源级核验

Dwg MCP Server

MCP Server

DWG MCP Server 是一个用于通过AI代理和助手检查AutoCAD DWG文件的服务器,提供对绘图内容的只读访问作为可查询对象。

工具数

7

提示词数

0

GitHub Stars

4

资源数

0
RustClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dimitrovakulenko

提供方

dimitrovakulenko

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

DWG MCP服务器

DWG MCP Server是一个MCP服务器,用于使用AI代理和助手检查AutoCAD DWG文件。 它提供对作为可查询对象的图形内容的只读访问。 代理可以打开DWG、检查可用类型、按句柄获取对象以及查询属性、范围和引用。

快速开始

从您选择的MCP客户端使用DWG MCP服务器。 npm包启动已发布的Docker镜像。

法典

codex mcp add dwg-mcp \
  --env DWG_MCP_HOST_FOLDERS=/absolute/path/to/your/dwg/folder \
  -- npx -y @dmytro-prototypes/dwg-mcp-server

或者简单地说

codex mcp add dwg-mcp -- npx -y @dmytro-prototypes/dwg-mcp-server

克劳德

claude mcp add --scope user --transport stdio --env DWG_MCP_HOST_FOLDERS=/absolute/path/to/your/dwg/folder dwg-mcp -- npx -y @dmytro-prototypes/dwg-mcp-server

光标

{
  "mcpServers": {
    "dwg-mcp": {
      "command": "npx",
      "args": ["-y", "@dmytro-prototypes/dwg-mcp-server"],
      "env": {
        "DWG_MCP_HOST_FOLDERS": "${workspaceFolder}"
      }
    }
  }
}

DWG文件只能从允许的文件夹中打开。 集 DWG_MCP_HOST_FOLDERS 到一个或多个由以下内容分隔的绝对主机文件夹 ;.

外露工具

工具目的
dwg.open_file从绝对路径打开DWG或 file:// URI并返回 documentId.
dwg.close_file关闭打开的文档并释放其工作进程。
dwg.list_types列出后端已知的全局支持的DWG类型。
dwg.list_file_types仅列出特定打开的DWG中存在的类型。
dwg.describe_type描述支持的类型,包括其属性和默认投影。
dwg.get_objects按句柄获取特定对象,保留请求的顺序并报告丢失的句柄。
dwg.query_objects使用过滤器、作用域、关系遍历、排序、投影和分页查询对象。

典型的流程是:

  1. 打开一个文件 dwg.open_file.
  2. 检查支持的或文件本地类型 dwg.list_types, dwg.list_file_types,或 dwg.describe_type.
  3. 使用以下命令获取已知句柄 dwg.get_objects 或使用以下命令搜索图形 dwg.query_objects.
  4. 结束会话 dwg.close_file.

建筑

运行期模型

在打包部署中,DWG MCP Server是一个用Python实现的stdio MCP服务器,通常在Linux容器内运行。 Python主机公开MCP工具,验证文件访问,并管理文档会话。

dwg.open_file 调用启动一个专用的Rust dwg-worker 处理该DWG并返回主机端 documentId. 所有后续的文件范围调用都使用该文档id。 dwg.close_file 终止该会话的工作进程。

Worker和查询模型

Rust worker在stdin和stdout上使用换行符分隔的JSON。 当它通过LibreDWG打开DWG时,它首先构建一个内存中的索引文档。 前期索引步骤是设计的核心:服务器在打开文件时支付一次费用,然后根据索引回答后续请求,而不是每次重新扫描DWG。

索引模型存储对象句柄、种类、类型名称、泛型类型、摘要和完整属性,以及派生块、布局和空间成员资格。 它还存储支持的类型元数据,如别名、默认投影和属性定义。

当您请求完整的对象记录时,响应还包括以下项下的派生成员资格 extendedData,包括容器块、布局以及已知的模型或图纸空间。

dwg.get_objects 是通过句柄直接查找。 dwg.query_objects 运行句柄、类型、泛型类型、种类、精确属性值、块、布局和空间的索引,然后应用过滤器、作用域、关系遍历、排序、投影和分页。 这就是在打开的图形上对块、图层、布局、参照和相关对象进行查询的原因。

通道和包装

服务器接受绝对本地路径或 file:// 仅限URI。 如果MCP客户端公开根,则打开的DWG必须留在这些根中。 如果 DWG_MCP_HOST_FOLDERS 如果已配置,打开的DWG也必须位于其中一个允许的文件夹中。

Docker包装器以只读方式将这些主机文件夹挂载到容器中,并将相同的文件夹列表转发给Python主机。 Docker镜像本身分三个阶段构建:LibreDWG、Rust worker和最终的Python运行时镜像。

从源代码构建和测试

本地来源构建使用供应商 third_party/libredwg 默认情况下为子模块。

先决条件

  • 防锈工具链
  • Python 3.11或更新版本
  • Docker,如果你想构建或运行容器镜像
  • 基于macOS或Linux的本地LibreDWG自动工具(autoreconf, aclocal, automake, autoconf, make)

独自创立

git submodule update --init --recursive
bash scripts/build-libredwg.sh

构建和测试

cargo test --workspace
bash scripts/run-e2e-tests.sh

在本地运行MCP主机

Python主机查找 dwg-worker 在...之下 target/releasetarget/debug. 如果您希望明确发布版本:

cargo build -p dwg-worker --release

然后运行MCP主机:

PYTHONPATH=server/src python3 -m dwg_mcp_server

如果worker二进制文件位于其他地方,则设置 DWG_WORKER_BIN 对于该可执行文件。

使用Docker构建和运行

塑造形象:

bash scripts/build-docker-mcp-server.sh

运行服务器并以只读方式公开特定的主机文件夹:

DWG_MCP_HOST_FOLDERS="$HOME/Documents;$HOME/Desktop/dwg" \
bash scripts/run-docker-mcp-server.sh

默认情况下,Docker启动器公开 ~/Documents.

清洁重建

删除本地构建工件、Python缓存和本地Docker映像:

bash scripts/clean-build-artifacts.sh

还要擦除LibreDWG构建下的主机 third_party/libredwg:

bash scripts/clean-build-artifacts.sh --with-libredwg

许可证

此项目根据GNU通用公共许可证v3.0获得许可。 看 LICENSE 获取完整的许可证文本。

目录标签

目录标签

RustClaudeAI代理AutoCAD本地部署DWG文件处理建筑信息模型CAD工具

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP