nwd-mcp
MCP gateway for Autodesk Navisworks Manage - query, inspect, navigate, and script Navisworks desktop sessions over MCP.
Install / Use
claude mcp add bimwright -- npx -y github:bimwright/nwd-mcpIf the server publishes to npm under a different name, use that package instead โ check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of nwd-mcp
nwd-mcp scores 80/100 on our quality scale, 2502nd of 2,864 Automation skills we index.
Its MCP Server is 19 KB long, well organised into 24 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 26 days ago, so nwd-mcp is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit โ read the skill file before letting an agent act on it.
nwd-mcp compared with similar skills
All 4 of these similar skills score higher than nwd-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| nwd-mcp (this skill)by bimwright | 80 | 10 | 26d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 109.0k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.9k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 97.5k | today | MCP Server |
Frequently asked questions
- How do I install nwd-mcp?
- Run
claude mcp add bimwright -- npx -y github:bimwright/nwd-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does nwd-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is nwd-mcp safe to use?
- It is Apache-2.0-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is nwd-mcp still maintained?
- The repository was last updated 26 days ago, so nwd-mcp is actively maintained.
Skill content
View source on GitHubnwd-mcp is a professional-grade Model Context Protocol (MCP) gateway for Autodesk Navisworks Manage automation. It enables AI agents to query, inspect, navigate, and script Autodesk Navisworks Manage desktop sessions locally over stdin/stdout.
Capabilities & Architecture
- Supported Host: Autodesk Navisworks Manage only. (Freedom and Simulate are not supported).
- Supported Versions: 2022, 2023, 2024, 2025, 2026, and 2027.
- Two-Process Model: Lightweight
.NET 8console server communicating with a version-specific in-process plug-in. Wire transport is TCP NDJSON over loopback for every supported year (2022โ2027); all six plug-in shells target.NET Framework 4.8/net48. (Unlike the rest of the bimwright family, nwd-mcp does not use Named Pipe transport โ the loopback-TCP convention applies uniformly across all versions.) - Security First: Per-session random cryptographic token validation, loopback-only binding for the TCP transport, and absolute file path sanitization in error messages returned to the model.
- Multi-Instance Routing: Automatically detects multiple running Navisworks Manage instances and supports switching targets dynamically.
Navisworks shows one activity card for MCP commands. Toasts are on by default and stay up for 20 seconds after the latest result (10, 20, 30, or 60). Hover pauses the card; leaving it starts the selected interval again. A deliberate hover smoothly expands a compact three-row view of the current card's individually bordered outcomes (tool, result, success/failure and local completion time in 24-hour HH:mm:ss). Every outcome in that card is retained, oldest above newest; the view starts at the latest three, and scrolling up reaches earlier calls through a thin RVT-style scrollbar. Leaving smoothly collapses it. Incoming outcomes appear immediately: at the bottom, the view follows the newest calls; while reading older calls, it preserves your scroll position. Returning to the bottom resumes following. The preview works with branding off and respects reduced motion. These length-limited summaries live only in memory and are discarded when the card closes or resets; they do not enable Record or retain raw requests, response JSON or script source. The BIMwright wordmark stays off unless Show branding is turned on. nwd_health_check does not appear on the card. The Bimwright ribbon tab has Toasts, Toast Brand, Record, and Status. Record is off until you turn it on; it then appends every tool call to %LOCALAPPDATA%\Bimwright\nwd-mcp\mcp-calls.jsonl. send_code is stored as a length and SHA-256, not the script. Settings live in %LOCALAPPDATA%\Bimwright\nwd-mcp\nwdmcp.config.json. BIMWRIGHT_NWD_ENABLE_TOAST and BIMWRIGHT_NWD_RECORD_CALLS override those switches at the next launch.
Status โ toast position: choose horizontal Left/Right and vertical Top/Bottom independently (default: top-left). Changes apply and save immediately; changing the corner clears any saved drag offset. Enable Allow dragging the toast to drag its title row; a normal click still dismisses the card. Disabling drag returns to the selected corner without deleting the saved position; re-enabling restores it. Reset position removes the offset. Positions are stored relative to the Navisworks window in DIP and clamped to its monitor's work area. Bottom anchors expand upward; if space is insufficient, expansion uses the opposite side. Motion respects the Windows animation setting. A save failure is reported inline in Status while the new preference remains active for this session. Latest-tool and outcome tooltips include the sanitized result, status, completion time and measured duration when available. This does not coordinate overlapping toasts from different apps.
Current Status
| Component | Status | |---|---| | MCP gateway server (.NET 8) | โ Builds warning-clean (Debug + Release) | | Unit tests (155 xUnit) | โ All passing | | Plug-in handler implementations | โ Verified against a live Navisworks Manage session | | Plug-in projects (net48) | โ Compile against the Navisworks Manage SDK |
Note: The plug-in handler layer uses real Navisworks .NET API calls (not stubs or fabricated data) and has been exercised against a live Navisworks Manage instance. The first-run checklist is docs/testing/manual-smoke.md.
Install
Download the client setup ZIP from GitHub Releases. It includes a self-contained MCP server and the Navisworks Manage plugin years compiled for that release (see manifest.json). The v1.0.0 ZIP ships 2025 only. Other years: build from source against that yearโs Manage SDK.
$tag = (Invoke-RestMethod https://api.github.com/repos/bimwright/nwd-mcp/releases/latest).tag_name
$zip = "$env:TEMP\NwdMcp.Setup-$tag-win-x64.zip"
$dir = "$env:TEMP\NwdMcp.Setup-$tag-win-x64"
Invoke-WebRequest "https://github.com/bimwright/nwd-mcp/releases/download/$tag/NwdMcp.Setup-$tag-win-x64.zip" -OutFile $zip
Expand-Archive $zip -DestinationPath $dir -Force
powershell -ExecutionPolicy Bypass -File "$dir\install.ps1" -WhatIf
powershell -ExecutionPolicy Bypass -File "$dir\install.ps1"
Deploys %APPDATA%\Autodesk\ApplicationPlugins\Bimwright.Nwd.bundle\ and nwd-mcp.exe at the fixed path %LOCALAPPDATA%\Bimwright\nwd-mcp\server\current\. Restart Navisworks Manage. Point your MCP client at that nwd-mcp.exe path. Pin a year with --target 2025 or BIMWRIGHT_NWD_TARGET=2025 when multiple instances may run.
The NuGet package Bimwright.Nwd.Server is server-only: it has no Navisworks plug-in. Install from the setup ZIP; use dotnet tool install -g Bimwright.Nwd.Server only if the plug-in is already installed from the ZIP and you want the server as a global .NET tool (command bimwright-nwd).
Developer: dotnet build a plugin-navisNN project, then pwsh scripts\install-bundle.ps1 -Year 2025 -Configuration Release.
Useful flags after wiring: --read-only / BIMWRIGHT_NWD_READ_ONLY=1.
Tool Surface
A default launch registers every toolset: 33 tools. --read-only leaves 21. Every tool uses the nwd_* prefix.
1. Target/Meta Tools (3)
nwd_list_available_targetsโ List all active discovered Navisworks sessions.nwd_get_current_targetโ Report which session the server is currently pointed at.nwd_switch_targetโ Point the gateway at a different active session.
2. File Tools (3)
nwd_list_recent_filesโ List recent files for the running Manage year, in File menu order.nwd_open_file(Write) โ Open a file. Refuses while the current file has unsaved changes unlessdiscard_changesis true.nwd_import_model(Write) โ Bring a model into the open document.append(default) adds it;mergecombines it.
3. Query/Read Tools (8)
nwd_health_checkโ Probe host/document state and loaded server/plugin versions, build ids and alignment. Offline by default; optionalcheck_updates=truecompares both components with the latest official stable release and tag revision. No host still returns server identity withok:false,host_connected:false.nwd_get_document_infoโ Retrieve active document name, file path, and model count.nwd_get_model_statisticsโ Retrieve counts of elements, models, and selections.nwd_get_model_treeโ Retrieve a bounded model tree node hierarchy.nwd_get_item_propertiesโ Retrieve property categories and property lists for an element.nwd_batch_get_propertiesโ Retrieve properties for multiple elements at once.nwd_find_itemsโ Query elements using advanced property/category filters.nwd_find_items_by_nameโ Search elements by display name.
4. Selection Tools (3)
nwd_get_current_selectionโ Retrieve element IDs of the active user selection.nwd_clear_selection(Write) โ Clear the active selection.nwd_select_items_by_search(Write) โ Select items matching property/name filters.
5. Selection Sets Tools (3)
nwd_list_setsโ Retrieve selection and search sets, recursing folders.nwd_get_selection_set_itemsโ Retrieve elements inside a set.nwd_execute_search_set(Mixed) โ Execute a search set; optionally select matches.
6. Viewpoint/Navigation Tools (4)
nwd_list_viewpointsโ Enumerate saved viewpoints and folders.nwd_get_current_viewpointโ Retrieve current camera and view state.nwd_goto_viewpoint(Write) โ Navigate the viewport camera to a saved viewpoint.nwd_save_viewpoint(Write) โ Save the active view as a named viewpoint.
7. Visibility Tools (2)
nwd_hide_items(Write) โ Hide/show specified elements.nwd_unhide_all(Write) โ Reset all hidden elements to visible.
8. Escape Hatch Scripting (1)
nwd_send_code(Write) โ Run a C# script on the Navisworks UI thread withdocas the active document. Returns the last expression asresultand Console output asstdout; Navisworks waits while it runs.
9. ToolBaker Governed Tools (6)
nwd_list_baked_toolsโ List all verified compiled reusable tools.nwd_run_baked_tool(Write) โ Run an accepted baked tool by name with parameters.nwd_list_bake_suggestionsโ List adaptive workflow suggestions.nwd_accept_bake_suggestion(Write) โ Validate, compile, and deploy a suggested tool.nwd_dismiss_bake_suggestion(Write) โ Dismiss/snooze an active suggestion.nwd_create_bake_issue_draftโ Generate a draft GitHub issue for requested tools.
Runtime health and updates
Start each Navisworks session with one nwd_health_check(check_updates=true) call after selecting the target, so the agent discovers newer stable releases. If network access is unavailable or disallowed, use the offline default and leave update status not checked/unknown. Later routine probes stay offline. setup_gateway/setup_plugin describe loaded assemblies; their SHA-256 observes the disk file at capture time, not loaded memory. Version/revision alignment is not proof of compatibility or publisher trust. Legacy plugins without identity report unknown version/build evidence. The host probe uses the UI thread and can time out while Navisworks is busy.
check_updates=true uses one official release baseline and a shared 5-second network budget. Inspect both update.components.server and .plugin: matching versions alone are insufficient, and unavailable evidence remains unknown. checked confirms release lookup, not that both components are current. Per-component update_available compares semantic versions; the overall flag is false only when both versions/revisions match, true when a newer stable version exists for either component, and null otherwise. Source-revision comparison does not verify artifact bytes.
Inspect update.notification and follow agent_action. Codes distinguish NEW_RELEASE_AVAILABLE, RELEASE_REVIEW_REQUIRED, RELEASE_IDENTITY_UNVERIFIED,
Truncated for display โ read the full file on GitHub.
Related Skills
Agent-Reach
109.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu โ one CLI, zero API fees.
headroom
78.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
97.5k๐ท๏ธ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit โ see the Safety scan above for what the skill file itself contains.
