mcpField
C
cadlens-mcp

cadlens-mcp

本地服务
github.com/cadlens-co媒体与设计111 周前更新

关于 cadlens-mcp

cadlens-mcp 将 MCP 客户端连接到 Cadlens CAD 解析 API,可将支持的图纸转换为结构化数据,无需桌面 CAD 软件。它提供提交文件、检查解析任务和按不同模式获取结果的工具。

主要功能

  1. 01解析本地 CAD 文件和 URL 文件
  2. 02支持 DWG、DXF、DWF、DWFX、DGN V7 和 PDF
  3. 03获取摘要或筛选后的实体数据
  4. 04检查、列出和删除解析任务
  5. 05刷新预签名图像 URL

适用场景

  1. 01提取 CAD 图纸中的实体和元数据
  2. 02按类型或图层检查图纸实体
  3. 03查询解析任务状态并获取输出

MCP 相关

它将 Cadlens REST API 封装为 MCP 客户端可用的工具,包括文件解析、任务管理和结果获取。使用时需要 CADLENS_API_KEY。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cadlens-co-cadlens": {
"command": "npx",
"args": [
"-y",
"@cadlens/mcp-server"
],
"env": {
"CADLENS_API_KEY": "<CADLENS_API_KEY>",
"CADLENS_API_BASE": "<CADLENS_API_BASE>",
"WEBHOOK_PUBLIC_URL": "<WEBHOOK_PUBLIC_URL>"
}
}
}
}
启动命令npx -y @cadlens/mcp-server
需要配置的环境变量
CADLENS_API_KEY密钥Your CADLens API key
CADLENS_API_BASEAPI base URL (default: https://api.cadlens.co/v1)
WEBHOOK_PUBLIC_URLPublic URL for webhook auto-registration (optional)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@cadlens/mcp-server0.6.0

工具

7

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pathstring是本地文件系统中文件的绝对路径。
webhook_urlstring否可选的外部 webhook URL,用于接收状态变更通知。独立于自动注册的本地接收器。
notify_emailstring否可选的电子邮件地址;无人值守解析完成后,CADLens 会向该地址发送作业链接。

详细介绍

cadlens-mcp

npm version GitHub

一个 Model Context Protocol 服务,用于封装 Cadlens CAD parsing API,让支持 MCP 的大模型客户端(Claude Desktop、Claude Code、Cursor、Zed、Windsurf)能够解析 CAD 文件(.dwg、.dxf、.dwf、.dwfx、V7 版 .dgn、.pdf,最大 100 MB),并基于提取出的实体、图层和元数据内容进行推理。

Cadlens 无需 AutoCAD 或任何桌面软件,即可将 CAD 图纸转换为结构化 JSON — 详见 cadlens.co。

安装

请先从 Cadlens 控制面板获取 API 密钥 — 密钥以 cadl_ 开头,可在控制面板中免费创建。

Claude Desktop / Cursor / Windsurf

将以下内容添加到 MCP 客户端配置中(例如 macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "cadlens": {
      "command": "npx",
      "args": ["-y", "@cadlens/mcp-server"],
      "env": {
        "CADLENS_API_KEY": "cadl_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}
Claude Code CLI
claude mcp add cadlens \
  --env CADLENS_API_KEY=cadl_xxx \
  -- npx -y @cadlens/mcp-server

开发(从源代码构建)

npm install
npm run build

export CADLENS_API_KEY="cadl_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
node dist/index.js

工具

工具功能
cadlens_parse_file上传本地 CAD 文件,轮询直至解析完成(最长 5 分钟),并返回摘要。
cadlens_parse_url从 URL 下载 CAD 文件,然后像 parse_file 一样解析。
cadlens_get_job快速检查状态(PENDING / PROCESSING / COMPLETED / FAILED)。
cadlens_get_result获取解析后的内容。mode:summary(默认)、entities_by_type、entities_on_layer、full。
cadlens_refresh_image_url重新获取有效期为 1 小时的预签名 PNG URL,无需重新下载完整结果。
cadlens_list_jobs列出当前配置的 API 密钥最近创建的 100 个任务。
cadlens_delete_job删除任务及其 S3 产物。此操作不可撤销。

配置

环境变量必需默认值说明
CADLENS_API_KEY是—在 CADLens 控制面板中创建。
CADLENS_API_BASE否https://api.cadlens.co/v1本地开发时设置为 http://localhost:3001/v1。
WEBHOOK_PORT否0(随机)进程内 webhook 接收器使用的端口。
WEBHOOK_PUBLIC_URL否未设置设置为隧道 URL(ngrok/cloudflared),以便 CADLens 访问本地接收器。设置后,解析调用会自动注册 webhook,轮询器收到通知后会提前结束。
REQUEST_TIMEOUT_MS否30000CADLens 请求的每次 HTTP 请求超时时间。

Webhook 提前结束(可选)

如果设置了 WEBHOOK_PUBLIC_URL,parse_file / parse_url 会在上传时一并注册每个进程专用的 webhook URL。Webhook 处理器会更新内存中的任务状态缓存;轮询器会在每次 HTTP GET 前检查该缓存,并在收到 COMPLETED / FAILED 状态时提前返回。这样无需改变工具接口,即可将最坏情况下的延迟缩短最多一个完整轮询间隔(约 1 秒)。

隧道设置示例:

cloudflared tunnel --url http://localhost:8787 &
export WEBHOOK_PORT=8787
export WEBHOOK_PUBLIC_URL="https://<your-tunnel>.trycloudflare.com"

开发

npm run typecheck
npm run lint
npm test
npm run smoke   # tools/list smoke test against built binary

项目级 Claude Agent

此仓库在 .claude/agents/ 下提供五个 Agent:

  • cadlens-api-debugger — 使用 mcp-server-reference.md 诊断原因不明的 CADLens 4xx/5xx 错误。
  • mcp-tool-tester — 向构建好的服务发送 JSON-RPC 请求,以验证工具响应。
  • mcp-tool-implementer — 按照现有的 src/tools/* 模式搭建新工具。
  • cad-drawing-summarizer — 使用 MCP 工具以自然语言总结 CAD 文件。
  • cad-layer-inspector — 深入检查已解析图纸中的单个图层。

链接


GitHub 主题

为便于发现,请为此仓库添加以下主题: mcp mcp-server model-context-protocol ai-agents claude cad dwg dxf cad-api llm-tools engineering-api


许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。