关于 cadlens-mcp
cadlens-mcp 将 MCP 客户端连接到 Cadlens CAD 解析 API,可将支持的图纸转换为结构化数据,无需桌面 CAD 软件。它提供提交文件、检查解析任务和按不同模式获取结果的工具。
主要功能
- 01解析本地 CAD 文件和 URL 文件
- 02支持 DWG、DXF、DWF、DWFX、DGN V7 和 PDF
- 03获取摘要或筛选后的实体数据
- 04检查、列出和删除解析任务
- 05刷新预签名图像 URL
适用场景
- 01提取 CAD 图纸中的实体和元数据
- 02按类型或图层检查图纸实体
- 03查询解析任务状态并获取输出
MCP 相关
它将 Cadlens REST API 封装为 MCP 客户端可用的工具,包括文件解析、任务管理和结果获取。使用时需要 CADLENS_API_KEY。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @cadlens/mcp-serverCADLENS_API_KEY密钥Your CADLens API keyCADLENS_API_BASEAPI base URL (default: https://api.cadlens.co/v1)WEBHOOK_PUBLIC_URLPublic URL for webhook auto-registration (optional)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
7收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 本地文件系统中文件的绝对路径。 |
| webhook_url | string | 否 | 可选的外部 webhook URL,用于接收状态变更通知。独立于自动注册的本地接收器。 |
| notify_email | string | 否 | 可选的电子邮件地址;无人值守解析完成后,CADLens 会向该地址发送作业链接。 |
详细介绍
cadlens-mcp
一个 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 | 否 | 30000 | CADLens 请求的每次 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。