MCP Server: поговоріть зі своєю моделлю
Команда raps mcp запускає сервер Model Context Protocol🧠MCPProtocol for AI assistant tool integration.View in glossary (MCP), що дозволяє ШІ-помічникам взаємодіяти з Autodesk Platform Services☁️APSAutodesk Platform Services - cloud APIs for CAD/BIM automation.View in glossary природною мовою.

Нове у v3.0.0 — MCP-сервер є основним нововведенням. Розширено у v4.1.0 — Тепер з масовими операціями адміністрування, Issues, RFI та розширеними функціями ACC🏗️ACCAutodesk's construction management platform.View in glossary. Покращено у v4.1.1 — Сервер запускається без облікових даних та надає інтерактивні інструкції з налаштування. Вдосконалено у v4.4.0 — Тепер з 51 інструментом, включаючи дозволи папок, життєвий цикл операцій та повний CRUD для модулів ACC. Розширено у v4.5.0 — Тепер із 72 інструментами: спеціальні API🔌APIInterface for software components to communicate.View in glossary-запити, портфельні звіти, шаблони, вебхуки, Design Automation🤖Design AutomationRun Autodesk desktop apps in the cloud.View in glossary, Reality Capture та інше.
Від “чату з PDF” до “чату з інструментами”
Ми виходимо за межі ери “чату з PDF”. Наступний рубіж — це чат з інструментами.
Якщо ви коли-небудь пробували вставити JSON📋JSONStandard data interchange format.View in glossary-метадані на 500 МБ з моделі Revit🏠RevitAutodesk's BIM software for architecture and construction.View in glossary у ChatGPT, ви знаєте цей біль: “Message too long.” RAG (Retrieval-Augmented Generation) допомагає, але він статичний. Він не може запитати поточний стан моделі або виконати дію.
На допомогу приходить Model Context Protocol (MCP).
Що таке MCP?
Model Context Protocol — це відкритий стандарт, який дозволяє ШІ-помічникам використовувати зовнішні інструменти. Замість того, щоб завантажувати дані в контекстне вікно, LLM має доступ до набору інструментів у реальному часі.
З MCP-сервером RAPS🌼RAPSRust CLI for Autodesk Platform Services.View in glossary ви можете попросити свого ШІ-помічника:
- Знаходити конкретні BIM🏛️BIMIntelligent 3D model-based design for buildings.View in glossary-елементи за властивостями (“всі екземпляри ‘Basic Wall’ площею понад 100 м²”)
- Створювати та керувати бакетами динамічно
- Завантажувати файли та запускати трансляції
- Переглядати проєкти BIM 360🔵BIM 360Legacy Autodesk construction platform (predecessor to ACC).View in glossary/ACC у реальному часі
- Перевіряти статус трансляції та отримувати результати
- Запитувати метадані моделі у реальному часі без обмежень розміру
- Масово керувати користувачами в кількох проєктах ACC/BIM 360
- Відстежувати та керувати Issues у будівельних проєктах
- Запитувати RFI, Assets, Submittals та Checklists
- Навігувати папками та елементами з повним контролем дозволів
Це з’єднує розрив між жорсткими, складними структурами даних BIM та інтерфейсом природної мови ШІ.
Швидкий старт
# Запуск MCP-сервера
raps mcp
Сервер працює в режимі stdio, очікуючи MCP-запити від ШІ-помічників.
Облікові дані не потрібні для запуску. Сервер запускається навіть без налаштованих облікових даних APS. Коли ви запитаєте ШІ-помічника про статус автентифікації, він надасть покрокові інструкції з налаштування. Це означає, що ви можете спочатку додати RAPS до свого ШІ-помічника, а потім інтерактивно пройти процес налаштування.
Конфігурація
Claude Desktop
Додайте до файлу конфігурації Claude:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
Мінімальне налаштування (з подальшою допомогою):
{
"mcpServers": {
"raps": {
"command": "raps",
"args": ["mcp"]
}
}
}
Після додавання перезапустіть Claude та запитайте “What’s my auth status?” — RAPS проведе вас через налаштування облікових даних.
Повне налаштування (з обліковими даними):
{
"mcpServers": {
"raps": {
"command": "raps",
"args": ["mcp"],
"env": {
"APS_CLIENT_ID": "your_client_id",
"APS_CLIENT_SECRET": "your_client_secret"
}
}
}
}
Cursor IDE
Додайте до .cursor/mcp.json у вашому проєкті:
{
"mcpServers": {
"raps": {
"command": "raps",
"args": ["mcp"]
}
}
}
Примітка: Cursor використовує змінні середовища з вашої оболонки, тому переконайтеся, що
APS_CLIENT_IDтаAPS_CLIENT_SECRETвстановлені.
Доступні інструменти
MCP-сервер RAPS надає 72 інструменти, організовані за функціональністю:
Автентифікація
| Інструмент | Опис |
|---|---|
auth_test | Тестування облікових даних 2-legged OAuth🤖2-legged authServer-to-server authentication without user context.View in glossary |
auth_status | Перевірка стану автентифікації з інструкціями та доступністю інструментів |
auth_login | Отримання інструкцій для входу через 3-legged OAuth👤3-legged authUser-authorized authentication with browser login.View in glossary |
auth_logout | Очищення збережених токенів 3-legged |
OSS Buckets
| Інструмент | Опис |
|---|---|
bucket_list | Перегляд усіх доступних бакетів |
bucket_create | Створення нового бакета |
bucket_get | Отримання деталей бакета |
bucket_delete | Видалення порожнього бакета |
OSS Objects
| Інструмент | Опис |
|---|---|
object_list | Перегляд об’єктів у бакеті |
object_upload | Завантаження файлу до бакета |
object_upload_batch | Пакетне завантаження кількох файлів |
object_download | Скачування об’єкта з бакета |
object_info | Отримання метаданих та деталей об’єкта |
object_copy | Копіювання об’єкта до іншого бакета або ключа |
object_delete | Видалення об’єкта |
object_delete_batch | Пакетне видалення кількох об’єктів |
object_signed_url | Генерація попередньо підписаного URL для завантаження |
object_urn | Отримання URN🔗URNUnique identifier for objects in APS.View in glossary у кодуванні Base64 |
Model Derivative
| Інструмент | Опис |
|---|---|
translate_start | Запуск завдання трансляції |
translate_status | Перевірка статусу трансляції |
Data Management
| Інструмент | Опис |
|---|---|
hub_list | Перегляд хабів BIM 360/ACC |
hub_info | Отримання деталей хаба |
project_list | Перегляд проєктів у хабі |
project_info | Отримання деталей проєкту |
project_users_list | Перегляд користувачів проєкту |
folder_list | Перегляд вмісту папки |
folder_contents | Отримання повного вмісту папки з метаданими |
folder_create | Створення нової папки |
item_info | Отримання деталей елемента |
item_create | Створення нового елемента в папці |
item_delete | Видалення елемента |
item_rename | Перейменування існуючого елемента |
item_versions | Перегляд версій елемента |
Масові операції адміністрування
| Інструмент | Опис |
|---|---|
admin_project_list | Перегляд проєктів облікового запису з фільтрацією |
admin_user_list | Перегляд користувачів облікового запису |
admin_user_add | Масове додавання користувачів до кількох проєктів |
admin_user_remove | Масове видалення користувачів з проєктів |
admin_user_update_role | Масове оновлення ролей користувачів у проєктах |
admin_folder_rights | Масове оновлення дозволів папок у проєктах |
project_create | Створення нового проєкту в обліковому записі |
project_user_add | Додавання користувача до конкретного проєкту |
project_users_import | Імпорт користувачів до проєкту з CSV📊CSVTabular data format for spreadsheets.View in glossary |
admin_operation_list | Перегляд усіх масових операцій зі статусом |
admin_operation_status | Отримання детального статусу масової операції |
admin_operation_resume | Відновлення призупиненої масової операції |
admin_operation_cancel | Скасування запущеної масової операції |
Issues
| Інструмент | Опис |
|---|---|
issue_list | Перегляд Issues у проєкті |
issue_get | Отримання деталей конкретного Issue |
issue_create | Створення нового Issue |
issue_update | Оновлення існуючого Issue |
RFIs
| Інструмент | Опис |
|---|---|
rfi_list | Перегляд RFI у проєкті |
rfi_get | Отримання деталей конкретного RFI |
rfi_create | Створення нового RFI |
rfi_update | Оновлення існуючого RFI |
ACC Extended
| Інструмент | Опис |
|---|---|
acc_assets_list | Перегляд Assets у проєкті |
asset_get | Отримання деталей конкретного Asset |
asset_create | Створення нового Asset |
asset_update | Оновлення існуючого Asset |
asset_delete | Видалення Asset |
acc_submittals_list | Перегляд Submittals у проєкті |
submittal_create | Створення нового Submittal |
submittal_update | Оновлення існуючого Submittal |
acc_checklists_list | Перегляд Checklists у проєкті |
checklist_create | Створення нового Checklist |
checklist_update | Оновлення існуючого Checklist |
Коментарі до Issues
| Інструмент | Опис |
|---|---|
issue_comments_list | Перегляд коментарів до Issue |
issue_comment_add | Додавання коментаря до Issue |
issue_comment_delete | Видалення коментаря з Issue |
Шаблони Checklists
| Інструмент | Опис |
|---|---|
checklist_templates_list | Перегляд доступних шаблонів Checklists |
Спеціальні API-запити
| Інструмент | Опис |
|---|---|
api_request | Виконання довільних HTTP🔗HTTPProtocol for web communication.View in glossary-запитів до будь-якого ендпоінту APS |
Портфельна звітність
| Інструмент | Опис |
|---|---|
report_rfi_summary | Агрегований підсумок RFI по проєктах портфеля |
report_issues_summary | Агрегований підсумок Issues по проєктах портфеля |
Управління шаблонами
| Інструмент | Опис |
|---|---|
template_list | Перегляд шаблонів облікового запису |
template_info | Отримання деталей шаблону |
template_create | Створення нового шаблону проєкту |
template_update | Оновлення існуючого шаблону |
template_archive | Архівування шаблону |
Webhooks
| Інструмент | Опис |
|---|---|
webhook_list | Перегляд підписок на вебхуки |
webhook_create | Створення нового вебхука |
webhook_get | Отримання деталей вебхука |
webhook_update | Оновлення існуючого вебхука |
webhook_delete | Видалення вебхука |
webhook_events | Перегляд доступних типів подій вебхуків |
Design Automation
| Інструмент | Опис |
|---|---|
da_engines_list | Перегляд доступних рушіїв DA |
da_appbundles_list | Перегляд зареєстрованих пакетів застосунків |
da_activities_list | Перегляд зареєстрованих активностей |
da_workitem_create | Створення нового робочого елемента |
da_workitem_status | Перевірка статусу робочого елемента |
da_workitems_list | Перегляд робочих елементів |
Reality Capture
| Інструмент | Опис |
|---|---|
reality_list | Перегляд фотосцен |
reality_create | Створення нової фотосцени |
reality_process | Запуск обробки фотосцени |
reality_status | Перевірка статусу фотосцени |
reality_result | Отримання результатів фотосцени |
reality_delete | Видалення фотосцени |
reality_formats | Перегляд підтримуваних форматів виведення |
Як це працює: виконання інструментів у реальному часі
Замість завантаження даних у контекстне вікно, LLM має доступ до набору інструментів. Коли ви ставите запитання, процес виглядає так:
- Ви: “Знайди всі екземпляри ‘Basic Wall’ у файлі ‘Hospital.rvt📊RVTRevit's native file format.View in glossary’, які мають площу понад 100 м².”
- LLM: Думає… Мені потрібно перевірити метадані моделі.
- LLM (дія): Викликає
raps model:query --file Hospital.rvt --category Walls - RAPS: Повертає відфільтрований JSON-фрагмент.
- LLM (відповідь): “Я знайшов 12 стін, що відповідають вашим критеріям. Ось їхні ID…”
Вам не потрібно писати SQL або складні запити з фільтрами. Ви просто запитуєте. ШІ перекладає вашу природну мову у відповідні команди RAPS.
Приклади діалогів
Перше налаштування (без облікових даних)
Ви: Який мій статус автентифікації?
ШІ: Дозвольте перевірити ваш статус автентифікації.
Потрібне налаштування
Облікові дані APS ще не налаштовані. Ось як почати:
- Перейдіть на https://aps.autodesk.com та створіть безкоштовний обліковий запис
- Створіть новий застосунок, щоб отримати Client ID та Secret🔒SecretEncrypted sensitive configuration value.View in glossary
- Додайте облікові дані до конфігурації MCP:
{ "mcpServers": { "raps": { "command": "raps", "args": ["mcp"], "env": { "APS_CLIENT_ID": "your_client_id", "APS_CLIENT_SECRET": "your_client_secret" } } } }Після додавання облікових даних перезапустіть ШІ-помічника для застосування змін.
Перевірка статусу автентифікації (з обліковими даними)
Ви: Який мій поточний статус автентифікації?
ШІ: Дозвольте перевірити ваш статус автентифікації.
Статус автентифікації:
- 2-legged OAuth🔐OAuthIndustry-standard authorization protocol used by APS.View in glossary: ✓ Дійсний
- 3-legged OAuth: Не авторизовано
Доступність інструментів:
- ✓ OSS📦OSSAPS cloud storage for files and models.View in glossary (bucket_, object_) — доступні
- ✓ Derivative📤DerivativeAny output generated from model translation.View in glossary (translate_*) — доступні
- ✗ Data Management📂Data ManagementAPS service for accessing files in ACC, BIM 360, and Fusion.View in glossary (hub_, project_) — потрібна 3-legged автентифікація
Для доступу до даних BIM 360/ACC потрібно увійти з обліковим записом Autodesk. Виконайте
raps auth loginу вашому терміналі.
Створення бакета
Ви: Створи новий постійний бакет у регіоні US з назвою “my-project📁ProjectContainer for folders and files within a hub.View in glossary-files”
ШІ: Зараз створю цей бакет для вас.
✓ Створено бакет ‘my-project-files’ з постійним збереженням у регіоні US.
Перевірка бакетів
Ви: До яких бакетів я маю доступ?
ШІ: Дозвольте перевірити ваші доступні бакети.
У вас є 3 бакети:
- my-project-files (persistent, US)
- temp-uploads (transient, US)
- eu-data (persistent, EMEA)
Розширений запит до моделі
Ви: Знайди всі сталеві балки в моделі лікарні, які довші за 10 метрів, та покажи їхні властивості матеріалу
ШІ: Дозвольте запитати метадані моделі для вас.
Знайдено 47 сталевих балок довжиною понад 10 метрів:
- Балки W12x45: 12 екземплярів (сталь Grade 50)
- Балки W14x30: 23 екземпляри (сталь Grade 36)
- Балки W16x67: 12 екземплярів (сталь Grade 50)
Усі балки мають вогнестійкість 2 години. Бажаєте повні специфікації матеріалів?
Робочий процес трансляції
Ви: Почни трансляцію файлу “building.rvt” у бакеті “my-project-files” у формат SVF2🚀SVF2Current APS viewing format (improved performance).View in glossary
ШІ: Зараз запущу трансляцію. Спочатку дозвольте отримати URN для цього файлу.
✓ Трансляцію запущено. Файл конвертується у формат SVF2. Ви можете перевірити статус, запитавши мене про це.
Масове управління користувачами
Ви: Додай john.smith@company.com до всіх проєктів, що починаються з “2026-”, як Project Admin
ШІ: Зараз додам цього користувача до відповідних проєктів. Спочатку знайду всі проєкти з префіксом “2026-”.
Знайдено 8 проєктів з відповідністю “2026-*”:
- 2026-Hospital-Phase1
- 2026-Hospital-Phase2
- 2026-Office-Tower … та ще 5
✓ Запущено масову операцію додавання. Користувача буде додано до всіх 8 проєктів як Project Admin. ID операції: op_abc123. Ви можете запитати мене про оновлення статусу.
Управління Issues
Ви: Створи Issue для проєкту Hospital про відсутній графік протипожежних дверей
ШІ: Зараз створю цей Issue для вас.
✓ Створено Issue #47: “Missing fire door schedule”
- Проєкт: 2026-Hospital-Phase1
- Тип: Design
- Статус: Open
- Виконавець: Не призначено
Бажаєте, щоб я призначив його комусь?
Запит RFI
Ви: Покажи всі відкриті RFI у проєкті Office Tower
ШІ: Дозвольте запитати RFI для цього проєкту.
Знайдено 3 відкритих RFI:
- RFI-012: “Clarification on structural beam dimensions” (Термін: 20 січня)
- RFI-015: “MEP coordination at Level 5” (Термін: 22 січня)
- RFI-018: “Curtain wall detail at entrance” (Термін: 25 січня)
Бажаєте деталі щодо будь-якого з них?
Архітектура
MCP-сервер повторно використовує всі наявні API-клієнти RAPS:
┌─────────────────┐ ┌──────────────────┐
│ AI Assistant │────▶│ RAPS MCP Server │
│ (Claude, etc.) │◀────│ raps mcp │
└─────────────────┘ └────────┬─────────┘
│
┌───────────┬───────────┬───┴───┬───────────┬───────────┐
│ │ │ │ │ │
┌────▼────┐ ┌────▼────┐ ┌────▼───┐ ┌─▼──┐ ┌─────▼─────┐ ┌────▼────┐
│ Auth │ │ OSS │ │ Deriv │ │ DM │ │ Admin │ │ ACC │
│ Client │ │ Client │ │ Client │ │ │ │ Clients │ │ Clients │
└────┬────┘ └────┬────┘ └────┬───┘ └──┬─┘ └─────┬─────┘ └────┬────┘
│ │ │ │ │ │
└───────────┴───────────┴────┬───┴─────────┴────────────┘
│
┌──────▼──────┐
│ APS APIs │
└─────────────┘
Клієнти Admin та ACC створюються на вимогу для кожного запиту для підтримки масових операцій та API, специфічних для проєктів.
Обмеження
- Без завантаження файлів: MCP наразі не підтримує передачу бінарних файлів. Використовуйте CLI💻CLIText-based interface for running commands.View in glossary для завантажень.
- 3-legged автентифікація потребує CLI: Хоча MCP-інструменти можуть перевіряти статус автентифікації та надавати інструкції, фактичний вхід через 3-legged потрібно виконувати через
raps auth loginу терміналі з доступом до браузера. - Транспорт stdio: Сервер повинен бути запущений ШІ-клієнтом, а не як демон.
Налагодження
Увімкніть детальне журналювання:
RUST_LOG=debug raps mcp
Перевірте з’єднання з сервером:
echo '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}' | raps mcp