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: Automatización MCP — Navisworks Manage 2025
⚡ Быстрый старт через ИИ-агента
Не хотите настраивать руками? Откройте чат своего агента (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
Available Tools
13 toolsadd_to_masterA
Добавить точки из src в мастер по дефолтным правилам (рекомендуемый сценарий).
- dated_copy=True: создаёт копию 'Общие точки {today}.xml' и правит её, мастер не трогает.
- folder_prefix: целевая папка по префиксу имени (по умолчанию 'ЛКП (' — нерешённые).
- конфликты имён: молча пропускаются и попадают в отчёт skipped_existing.
today — дата DD-MM-YYYY (передаёт клиент; нельзя зашивать в сервер).
master — путь к мастеру; если не задан, берётся из env.
| Name | Required | Description | Default |
|---|---|---|---|
| src | Yes | ||
| today | Yes | ||
| master | No | ||
| folder_prefix | No | ЛКП ( | |
| new_guids | No | ||
| dated_copy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description thoroughly explains behavioral traits: dated_copy creates a copy and leaves master untouched, name conflicts are silently skipped and reported in skipped_existing, folder_prefix defaults to 'ЛКП (', master path falls back to environment variable. It also clarifies that today must be provided by the client and not hardcoded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three lines plus bullet points) and front-loaded with the main purpose. Every sentence adds value, and the structure uses bullet points for clarity without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no annotations, no output schema), the description covers core behavior (conflict handling, dated_copy, folder_prefix) but lacks explanation of the return value (skipped_existing report structure), error cases, and the new_guids parameter. It is adequate for basic usage but incomplete for full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains the meaning of src (source of points), today (date format DD-MM-YYYY, client-provided), master (optional, defaults to env), folder_prefix (target folder prefix), and dated_copy (create copy). However, it does not explain new_guids, and src description is minimal. Partial coverage reduces effectiveness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Добавить точки из src в мастер по дефолтным правилам (рекомендуемый сценарий)'. It uses a specific verb ('добавить'), names the resource (src, master), and distinguishes itself as the recommended scenario among siblings like merge_viewpoints and reconcile_by_name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the recommended scenario but does not explicitly state when to use this tool versus alternatives (e.g., merge_viewpoints, reconcile_by_name). No exclusion criteria or when-not-to-use guidance is provided, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_viewpointsC
Аудит файла: папки со счётчиками, дубли GUID, конфликты имя/папка, всего view.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only lists the auditing categories without disclosing whether the tool is read-only or has side effects. It does not mention permissions, rate limits, or return behavior, leaving the agent guessing about its operational impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that conveys the core purpose without extraneous text. It is front-loaded and efficient, though it could benefit from a slightly more structured breakdown.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has one parameter with no schema description, no output schema, and no behavioral annotations, the description is inadequate. It lists what is audited but does not specify input format, output structure, or any prerequisites, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'xml' parameter beyond its type. The description adds no meaning to the parameter (e.g., whether it is a file path or content), so the agent has insufficient information to use it correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool audits a file for specific issues: folders with counters, duplicate GUIDs, name/folder conflicts, and total views. It distinguishes from siblings like dedupe_viewpoints or list_folders, but could be more explicit about the 'audit' verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as dedupe_viewpoints or reconcile_by_name. The description does not provide context for ideal usage scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dedupe_viewpointsA
Удалить дубли точек обзора в файле (оставляя первый). Мастер не нужен.
by="name" — дубли по имени в пределах одной папки; by="guid" — дубли по GUID глобально по всему файлу. Возвращает список удалённых; счётчики (N) пересчитываются. backup — сделать xml.bak.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes | ||
| by | No | name | |
| backup | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses destructive behavior (removes duplicates), backup option, recalculated counters, and that no master file is needed. Does not discuss error handling or auth, but covers key behavioral traits adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five lines, each serving a purpose: core action, parameter details, return value, backup behavior. No filler; front-loaded with main verb. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no output schema, and no annotations, the description gives good coverage: parameters explained, return type (list of removed), side effects (counter recalc, backup). Could mention error cases or file format, but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage; description explains the 'by' parameter with two options and their scopes, and the 'backup' parameter. The 'xml' parameter is left implicit but understandable. Adds meaningful detail beyond the minimal schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb (dedupe) and resource (viewpoints in a file), with specific modes (by name or by guid). It distinguishes from sibling tools like merge_viewpoints or sort_viewpoints by focusing solely on removal of duplicates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides internal usage guidance for by and backup parameters, but lacks explicit when-to-use vs alternative tools. Does not mention prerequisites or exclusions, though the context of removing duplicates is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_configB
Показать текущую настройку путей (env, разрешённый мастер и каталог выгрузок).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only implies the tool is read-only by saying 'show'. It does not disclose behavioral details such as side effects, authentication requirements, or error handling, which are important for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence, which is efficient. However, it could be structured slightly better (e.g., listing items explicitly), but it is not verbose or wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no annotations, the description adequately states the purpose but lacks details about the output format or behavior such as what 'env' means or if any prerequisites exist. It is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. The description adds value by explaining what the tool returns (current path settings with specific fields), which is beyond what the schema provides. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows current path settings and lists specific items (env, allowed master, export directory). It uses a specific verb 'show' and resource 'path settings', but does not explicitly distinguish from siblings, though it seems unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description merely states what it does, leaving the agent to infer usage context from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_foldersA
Список папок (viewfolder) в файле: путь, число прямых view и view в поддереве.
xml — путь к любому .xml точек обзора. Если не задан, берётся мастер из env
(NAVISWORKS_MASTER / ROOT+FILENAME) — как удобный дефолт, не требование.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It explains the output and parameter default, but does not explicitly state that the tool is read-only or mention any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short and front-loaded with the main action, though the last sentence about defaults is somewhat lengthy but necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description covers the purpose, parameter, and output format (path, counts), making it sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides minimal info (type, default), but the description adds meaning by explaining the parameter's purpose (path to .xml) and its fallback behavior, which compensates for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists folders in a file and provides specific details (path, number of direct views and views in subtree), which distinguishes it from sibling tools like list_views.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied (for listing folders in a file), but there is no explicit guidance on when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_viewsA
Прямые (имя, guid) в указанной папке.
folder — путь папки под <viewpoints>, например 'ЛКП (33)' или 'A/B' (пусто = корень).
xml — путь к файлу; если не задан, берётся мастер из env.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | ||
| xml | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses that the tool lists views and explains the xml default behavior, but does not explicitly state whether the operation is read-only, what permissions are required, or any other behavioral traits beyond listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with one introductory sentence and two bullet points for parameters. Every sentence adds value without redundancy, making it efficient for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions that return fields include name and guid, which provides a basic understanding. However, it does not specify the full structure (e.g., list of objects) or how many results. Still, it is mostly complete for a simple listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does so effectively: folder is described as a path under viewpoints with examples, and xml is described as an optional file path with a default behavior (master from env). This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists views (name, guid) in a specified folder. The verb 'list' is implied and the resource 'views' is specified. This distinguishes it from sibling tools like list_folders, which list folders instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the parameters and default behavior (if xml not given, master from env is used), but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. Usage context is implied but not fully guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_viewpointsA
Добавить все из выгрузки src в папку folder файла base.
Конфликт имени в целевой папке = ошибка (используйте add_to_master для «пропускать молча»).
new_guids — выдать новые GUID переносимым точкам (по умолчанию да).
backup — сделать base.bak перед записью.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | ||
| src | Yes | ||
| folder | Yes | ||
| new_guids | No | ||
| backup | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses conflict behavior, new_guids and backup options, but lacks description of output or side effects on base file. With no annotations, this is good but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences, front-loaded with main action, each sentence adds essential information. No wordiness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main behavior, conflict handling, and boolean options. Missing output/return description and clarity on base/src format, but adequate for moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds meaning to all 5 parameters: explains new_guids generates new GUIDs, backup creates .bak file. Base and src type (string) is ambiguous but schema coverage is 0% so description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds views from src to a folder in base, using specific verbs and resources. It distinguishes from sibling add_to_master by describing conflict behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (error on name conflict) and when to use add_to_master (silent skip), providing clear alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_viewsB
Перенести по точным именам между папками одного файла.
from_folder / to_folder — пути папок под <viewpoints> (через '/').
names — список точных имён точек.
dry_run — только показать, что было бы перенесено.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes | ||
| from_folder | Yes | ||
| to_folder | Yes | ||
| names | Yes | ||
| backup | No | ||
| dry_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavioral traits. It reveals that the tool moves views (implying mutation) and that dry_run shows intended changes without execution. However, it does not disclose whether views are copied or cut, whether original views are deleted, any side effects, permissions required, or the backup behavior despite a backup parameter existing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and concise: four short lines covering the action and key parameters. No redundant or irrelevant sentences. Every element adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description should fully equip an agent to invoke the tool. It fails to define the 'xml' parameter and does not clarify the backup behavior. Essential context like file scope and move semantics is missing, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It explains from_folder, to_folder, names, and dry_run adequately. However, it omits explanations for the 'xml' parameter (likely the file identifier) and the 'backup' parameter, leaving ambiguity for critical fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (переместить 'move'), the resource (view), and the constraint (по точным именам между папками одного файла – 'by exact names between folders of one file'). It distinguishes from sibling tools that handle deduplication, merging, or sorting, as this is specifically about moving views between folders within a file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not indicate when to use this tool versus alternatives like rename_folder, sort_viewpoints, or sync_lists. No prerequisites or exclusions are mentioned. The only usage hint is the dry_run parameter, but it lacks explicit when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_by_nameB
Сверка «числовых» имён точек: есть в выгрузках, но нет в мастере (и наоборот).
root — каталог выгрузок (по умолчанию из env), master — мастер (по умолчанию из env).
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | ||
| master | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose whether the tool is read-only or destructive, or any side effects. It only states the operation without behavioral traits, leaving ambiguity for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with two clear sentences: the first stating purpose, the second explaining parameters. Every sentence adds value with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool with two parameters and no output schema, the description covers the inputs but omits the output/result format (e.g., a list of discrepancies). It also doesn't specify the default env variable names, leaving some context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains that 'root' is the dumps directory and 'master' is the master directory, with defaults from env, compensating for the 0% schema coverage. However, it lacks details on directory formats or file types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reconciles 'numeric' point names, comparing dumps and master. It uses a specific verb and resource, and the mention of 'numeric' distinguishes it from general reconciliation tools among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'sync_lists' or 'merge_viewpoints'. The description implies usage for numeric names but lacks explicit when-to or when-not-to instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_folderB
Переименовать папку (viewfolder) в файле; счётчик (N) пересчитывается автоматически.
folder — путь к существующей папке ('ЛКП (2)' или 'A/B').
new_name — новое имя (можно без '(N)' — суффикс добавится сам).
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes | ||
| folder | Yes | ||
| new_name | Yes | ||
| backup | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It reveals automatic counter recalculation, which is a behavioral trait. However, it omits side effects, permissions, or error conditions applicable to a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main action. However, it is incomplete for a 4-parameter tool, which slightly reduces conciseness value due to missing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description must compensate. It fails to explain the critical 'xml' parameter and the 'backup' flag, and does not describe the return value or side effects, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 4 parameters with 0% description coverage. The description explains 'folder' and 'new_name' but omits 'xml' (a required param) and 'backup', leaving the agent without guidance on their meaning or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (rename folder in a file) and includes specific behavior (auto-recalculation of counter). It differentiates from siblings because there is no other rename tool, but no explicit distinction is made.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage tips for the 'folder' and 'new_name' parameters, such as path format and the optional suffix for the counter. However, it does not specify when to use this tool over alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sort_viewpointsA
Отсортировать точки обзора в файле и пересчитать счётчики (N) у папок.
Базовый ad-hoc сценарий: «открой файл, отсортируй точки» — мастер не нужен.
folder — путь папки под <viewpoints>; если не задан, сортируются ВСЕ папки
(и плоские view в корне). Сортировка по ведущему числу имени, затем по суффиксу
(1552, 1552.1, 1552_2); нечисловые имена — по алфавиту в конце.
backup — сделать xml.bak перед записью.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes | ||
| folder | No | ||
| backup | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It covers sorting, counter recalculation, and the optional backup flag. It does not mention error conditions or stability of sorting, but the core behavior is adequately described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: purpose first, then parameter details in bullet format. Every sentence adds value, and the information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description provides sufficient information about behavior, sorting logic, and parameter usage. It does not discuss return values, but for a modification tool this is acceptable. Minor omissions (error handling) prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Context reports 0% schema description coverage, but the description explains two of three parameters ('folder' and 'backup') with clear semantics. The 'xml' parameter is not described, but being required and named suggests its purpose. This compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sorts viewpoints in a file and recalculates counters. It explains the sorting order (leading number, suffix, non-numeric alphabetically) and distinguishes itself from sibling tools by noting it's an ad-hoc scenario without needing a master.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use this tool (ad-hoc sorting, no master needed) and explains the effect of the 'folder' parameter (if set, sorts that folder; if not, sorts all). However, it does not explicitly compare with sibling tools to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
split_fileC
Вытащить точки по именам в новый файл (отдельная выгрузка nw-exchange).
names — список точных имён. folder — искать только в этой папке; иначе по всему файлу. out — путь нового файла. move=False — копировать (исходник не трогать); move=True — также удалить из исходника (с backup и пересчётом (N)).
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes | ||
| names | Yes | ||
| out | Yes | ||
| folder | No | ||
| move | No | ||
| backup | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that move=False copies and move=True removes from source with backup and recalculation, but omits details on the 'xml' and 'backup' parameters, side effects, or whether the tool modifies files. The lack of annotation support and incomplete behavioral disclosure reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences: one for purpose and one for parameter behavior. It is front-loaded but includes a parenthetical ('отдельная выгрузка nw-exchange') that may be unclear. Overall, it is appropriately sized with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters (3 required), no output schema, and no annotations, the description leaves major gaps: 'xml' is unexplained, 'backup' is unclear, return values are unspecified, and the nature of 'points' (likely viewpoints) is not clarified. The tool is mutating with multiple options, yet the description is insufficiently comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains names, folder, out, and move, but fails to describe the required 'xml' parameter and the 'backup' parameter (only indirectly mentioned). With 2 out of 6 parameters undocumented, the description does not adequately add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts points by names to a new file ('Вытащить точки по именам в новый файл'). It gives a specific verb and resource, and the mention of 'отдельная выгрузка nw-exchange' provides context. However, it does not explicitly differentiate from siblings like 'move_views' or 'merge_viewpoints', slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains parameter usage (names, folder, out, move) but provides no guidance on when to use this tool versus alternatives like 'move_views' or 'merge_viewpoints'. There are no when-to-use or when-not-to-use instructions, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_listsC
Синхронизировать два списка ID (решённые/открытые) с каталогом выгрузок.
Импортирует недостающие имена и переносит точки в мастере между ЛКП-Решено и ЛКП.
open_only — работать только со списком open_ids (папка ЛКП), ЛКП-Решено не трогать.
Перед записью делает .bak мастера. ЛКП-ВН.ОСН не трогается.
| Name | Required | Description | Default |
|---|---|---|---|
| resolved_ids | Yes | ||
| open_ids | Yes | ||
| open_only | No | ||
| root | No | ||
| master | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description provides some behavioral context: it backs up the master, imports missing names, and avoids touching LKP-VN.OSN. However, it fails to clarify direction of sync (one-way vs two-way), error handling, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the purpose front-loaded. It uses bullet-like structure for details, but the Russian text and jargon reduce accessibility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and no output schema, the description fails to explain root and master, and omits output or side effects beyond backup. This leaves significant gaps for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; description explains only the open_only parameter. Key parameters like root and master are unexplained, and resolved_ids/open_ids lack format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool syncs two ID lists with a catalog, using specific verbs like 'import' and 'move'. It clearly indicates the resource (lists) and action (sync), though domain jargon (LKP, master) may reduce clarity. It does not differentiate from siblings like reconcile_by_name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description only explains the open_only flag but does not specify prerequisites, contexts, or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
13 tool updates
v0.1.0- First observed
add_to_master - First observed
audit_viewpoints - First observed
dedupe_viewpoints - First observed
get_config - First observed
list_folders - First observed
list_views - First observed
merge_viewpoints - First observed
move_views - First observed
reconcile_by_name - First observed
rename_folder - First observed
sort_viewpoints - First observed
split_file - First observed
sync_lists
TDQS
Scored across 13 tools
Each tool targets a distinct operation: adding, auditing, deduplicating, listing folders/views, merging, moving, reconciling, renaming, sorting, splitting, and syncing. Overlap is minimal and clearly differentiated by descriptions.
All 13 tools use a consistent snake_case naming convention with a clear verb_noun pattern (e.g., add_to_master, list_folders, dedupe_viewpoints). No mixed styles or vague verbs.
13 tools is well-scoped for the domain of Navisworks viewpoints management. Each tool serves a clear purpose without redundancy, covering both common operations and specialized tasks like auditing and syncing.
The tool set covers most lifecycle operations: creation (add/merge), reading (list, audit), updating (rename, move, sort, split, sync), and deletion (dedupe). Missing explicit single-view deletion, but the core workflows are well-supported.
Maintenance
Related MCP Connectors
Autopilot MCP server for GEO analyses, reports, content, audits, memories and agents.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for Support & Service Management
MCP server for Product Management
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for Autodesk Revit (BIM) with 705+ API endpoints. Enables AI agents to create walls, place doors/windows, generate sheets, manage views, and produce construction documents via the Model Context Protocol. Uses named pipes for zero-crash Revit integration.22MIT
- FlicenseNot gradedqualityCmaintenanceMCP server to control Autodesk Navisworks Manage 2025 from Claude via natural language, enabling model inspection, property search, selection sets, and clash detection.-
- AlicenseNot gradedqualityBmaintenanceMCP server for TenderTool, enabling AI assistants to manage references and vault documents.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Autodesk Revit 2024/2025/2026/2027 via pyRevit — 48 tools for building design, editing, analysis, clash detection, MEP, interop, documentation, and model persistence.MIT