navisworks-viewpoints-mcp
This MCP server provides tools to manage Navisworks viewpoint XML files (nw-exchange-12.0 format), enabling sorting, deduplication, auditing, merging, splitting, and synchronization of viewpoints — usable ad-hoc on any file or within a master-file workflow for larger coordination.
View & Inspect
export_tree– Export the viewpoint tree to a collapsible HTML file for browsing without Navisworkslist_folders– List all folders with view countslist_views– List viewpoints (name, GUID) in a specific folderaudit_viewpoints– Audit for duplicate GUIDs, name/folder conflicts, and total view countsget_config– Show current environment path configuration
Organize & Edit
sort_viewpoints– Sort viewpoints and recalculate(N)folder countersdedupe_viewpoints– Remove duplicates by name (per folder) or by GUID (globally)rename_folder– Rename a folder with automatic counter recalculationaffix_view_names– Bulk add a prefix or suffix to viewpoint namesmove_views– Move viewpoints between folders in the same file (supportsdry_run)split_file– Extract named viewpoints into a new file (copy or move)
Merge & Combine
merge_viewpoints– Add all views from one file into a folder in another (name conflict = error)add_to_master– Add viewpoints from a source file into a master file with dated copy creation, silent duplicate skipping, and a conflict report
Sync & Reconcile (Master-file workflow)
sync_lists– Synchronize resolved/open ID lists with a directory of export files, moving viewpoints between folders in the masterreconcile_by_name– Compare numeric viewpoint names between export files and the master to find missing entries in either direction
navisworks-viewpoints-mcp
Русский · English
MCP-сервер для работы с XML точек обзора Navisworks (nw-exchange-12.0) из любого MCP-совместимого ИИ-клиента.
Работает с любым файлом точек обзора: открыть и отсортировать точки, проверить на дубли, перенести между папками, слить два файла. Сборка нескольких выгрузок в один мастер-файл и синхронизация списков «решено / не решено» — это отдельные сценарии поверх той же логики, а не обязательный режим. Мастер-файл нигде не требуется по умолчанию — почти все инструменты принимают путь к файлу аргументом.
Это портативная версия логики, которая раньше жила скриптами внутри проекта navisworks-external-viewpoint-manage. Теперь её можно поставить на любой машине одной строкой и подключить к Claude, Codex, Kimi, Cursor, Opencode и др.
Установка в один клик
После клика клиент добавит сервер автоматически. Требуется установленный uv. Для обычной работы (открыть файл и отсортировать/проверить точки) больше ничего настраивать не нужно — путь к файлу передаётся прямо в запросе. Поле
NAVISWORKS_MASTER(placeholderREPLACE_WITH_FULL_PATH_TO_MASTER.xml) заполняйте, только если работаете по схеме с мастер-файлом — можно сделать это позже в Settings → MCP, либо удалить, если мастер не используете.
Related MCP server: RevitMCPBridge2026
⚡ Быстрый старт через ИИ-агента
Не хотите настраивать руками? Откройте чат своего агента (Cursor, Claude Code, Codex…) и дайте одну фразу:
Прочитай https://raw.githubusercontent.com/mikhalchankasm/navisworks-viewpoints-mcp/main/SETUP_PROMPT.md
и выполни инструкцию по установке MCP-сервера navisworks-viewpoints для моего клиента.Агент сам определит клиент, пропишет конфиг (не трогая другие серверы), запустит и проверит сервер. Если агент не умеет открывать ссылки — скопируйте готовый промт из SETUP_PROMPT.md. Ручная настройка — ниже.
Возможности (инструменты MCP)
Работают с любым файлом (путь — аргументом); там, где путь опционален, как дефолт берётся мастер из env.
Инструмент | Что делает | Файл |
| Сохранить дерево точек в HTML (сворачиваемое) / текст для просмотра без Navisworks | любой |
| Отсортировать точки в файле, пересчитать | любой |
| Удалить дубли по имени (в папке) или GUID (глобально) | любой |
| Дубли GUID, конфликты имя/папка, счётчики | любой |
| Папки файла со счётчиками view | любой |
| Точки (имя, guid) в конкретной папке | любой |
| Переименовать папку (с пересчётом | любой |
| Добавить префикс/суффикс к именам точек (массово) | любой |
| Перенести точки по именам между папками одного файла (есть | любой |
| Вытащить точки по именам в новый файл (копировать или перенести) | любой |
| Добавить view из одного файла в папку другого (конфликт имени = ошибка) | любой |
| Сверка по именам: что есть в выгрузках, но нет в целевом файле (и наоборот) | каталог + цель |
| Показать текущие пути из env (нужно только для схемы с мастером) | — |
| Схема «мастер»: синхронизировать два списка ID (решено/открыто) с каталогом выгрузок | мастер + каталог |
| Схема «мастер»: датированная копия мастера + добавление в | мастер |
Сценарии работы
Сервер не навязывает один процесс — это набор операций. Типичные схемы:
A. Ad-hoc с одним файлом (мастер не нужен)
Самый частый случай: открыли произвольную выгрузку и привели в порядок.
«Покажи дерево точек, чтобы листать без Navisworks» →
export_tree(HTML со сворачиванием; открой возвращённый файл в браузере)«Отсортируй точки в
D:\…\выгрузка.xml» →sort_viewpoints«Убери дубли точек» →
dedupe_viewpoints«Проверь файл на дубли GUID и одинаковые имена» →
audit_viewpoints«Покажи папки и сколько в каждой точек» →
list_folders/list_views«Переименуй папку
Папка 1вЭтаж 1» →rename_folder«Добавь префикс
AX-ко всем именам точек» →affix_view_names«Перенеси точки 92, 95 из папки A в папку B» →
move_views«Вытащи точки 100–105 в отдельный файл» →
split_file
B. Слить два файла
«Добавь все точки из
выгрузка.xmlв папкуЭтаж 1файласводный.xml» →merge_viewpoints(по умолчанию новые GUID, конфликт имени останавливает — для «пропускать молча» см. схему C).
C. Сборка в мастер-файл (одна из схем, не обязательная)
Когда есть единый накопительный файл «Общие точки», куда стекаются выгрузки:
«Добавь точки из выгрузки в мастер» →
add_to_master(создаёт датированную копию, кладёт вЛКП (…), существующие имена молча пропускает и собирает в отчёт).«Синхронизируй списки решённых/открытых с каталогом выгрузок» →
sync_lists.«Сверь, чего в мастере не хватает относительно выгрузок» →
reconcile_by_name.
Для схемы C удобно один раз прописать путь к мастеру в env (см. ниже) — тогда его не нужно указывать в каждом вызове. Для схем A и B достаточно передавать путь к файлу прямо в запросе.
Требования
uv (ставит Python сам).
Git (для установки из репозитория).
Установка / запуск
Запуск сервера у всех клиентов одинаковый — команда uvx тянет пакет прямо из git и держит его в изолированном окружении:
uvx --from git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp navisworks-viewpoints-mcpЛокальная разработка:
git clone https://github.com/mikhalchankasm/navisworks-viewpoints-mcp
cd navisworks-viewpoints-mcp
uv sync --extra dev
uv run pytest
uv run navisworks-viewpoints-mcp # запустить сервер по stdio
uv run navisworks-viewpoints-mcp --check # проверить, что пути из env подхватились
uv run navisworks-viewpoints-mcp --versionПути к данным
По умолчанию ничего настраивать не нужно — передавайте путь к файлу прямо в запросе
(«отсортируй D:\…\выгрузка.xml»). Это покрывает схемы A и B.
Переменные окружения нужны только для удобства схемы «мастер» (C): задайте их один раз
в конфиге клиента, и инструменты add_to_master / sync_lists / reconcile_by_name будут
брать пути по умолчанию, без указания в каждом вызове.
Переменная | Назначение |
| Полный путь к мастер-файлу (высший приоритет) |
| Каталог с |
| Только имя файла мастера (внутри ROOT) |
Явный путь в аргументе инструмента (xml=..., master=..., root=...) всегда важнее env.
Если переменные не заданы и путь не передан — инструмент вернёт понятную ошибку.
Подключение к клиентам
Во всех примерах подставьте реальные пути к вашим файлам. Готовые файлы — в examples/configs/.
Claude Code
.mcp.json в корне проекта (или claude mcp add):
{
"mcpServers": {
"navisworks-viewpoints": {
"command": "uvx",
"args": ["--from", "git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp", "navisworks-viewpoints-mcp"],
"env": {
"NAVISWORKS_VIEWPOINTS_ROOT": "D:\\\\Path\\\\To\\\\Точки_обзора",
"NAVISWORKS_MASTER_FILENAME": "Общие точки 16-04-2026.xml"
}
}
}
}Claude Desktop
claude_desktop_config.json (Settings → Developer → Edit Config) — та же структура mcpServers, что и выше.
Cursor
.cursor/mcp.json:
{
"mcpServers": {
"navisworks-viewpoints": {
"command": "uvx",
"args": ["--from", "git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp", "navisworks-viewpoints-mcp"],
"env": { "NAVISWORKS_MASTER": "D:\\\\...\\\\Общие точки 16-04-2026.xml" }
}
}
}Codex
~/.codex/config.toml:
[mcp_servers.navisworks-viewpoints]
command = "uvx"
args = ["--from", "git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp", "navisworks-viewpoints-mcp"]
env = { NAVISWORKS_MASTER = "D:\\\\...\\\\Общие точки 16-04-2026.xml" }Opencode
opencode.json:
{
"mcp": {
"navisworks-viewpoints": {
"type": "local",
"command": ["uvx", "--from", "git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp", "navisworks-viewpoints-mcp"],
"environment": { "NAVISWORKS_MASTER": "D:\\\\...\\\\Общие точки 16-04-2026.xml" }
}
}
}Kimi и прочие stdio-клиенты
Любой клиент, поддерживающий MCP по stdio: command = uvx, args = ["--from", "git+...","navisworks-viewpoints-mcp"], переменные окружения с путями. См. examples/configs/generic-stdio.md.
Формат XML
Корень
<exchange ... xsi:noNamespaceSchemaLocation="...nw-exchange-12.0.xsd">.<viewpoints>→<viewfolder name="..." guid="...">и/или плоские<view>.Счётчик
(N)в имени папки = число прямых дочерних<view>; пересчитывается автоматически после правок.Запись: UTF-8, XML-декларация, namespace
xsi. Поляfilename/filepathу<exchange>не трогаются.
Лицензия
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikhalchankasm/navisworks-viewpoints-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server