CAST Imaging MCP Server
Overview
CAST Imaging MCP Server устраняет разрыв между агентами ИИ и реальной архитектурой ПО, обеспечивая полноценный интеллектуальный контекст через Model Context Protocol (MCP). Он позволяет получать инсайты по вашим приложениям, транзакциям, зависимостям, паттернам качества и архитектурным структурам, запрашивая данные у агентов ИИ.
Этот сервис предоставляет AI Agents понимание ваших приложений — от портфельных инвентарей до гранулярных отношений объектов. Независимо от того, исследуете ли вы схемы баз данных, анализируете потоки транзакций, расследуете вопросы качества, MCP-сервер обеспечивает точные, постраничные данные для информированных архитектурных решений.
Use Cases
-
Обзор на уровне портфолио: перечисляйте доступные в CAST Imaging приложения и предоставляйте подробную информацию о них.
-
Анализ архитектуры приложения: исследуйте графы архитектуры на разных уровнях и визуализируйте структуру системы.
-
Картирование транзакций и потоков данных: анализируйте транзакции, отслеживайте сети взаимодействия объектов, исследуйте сложные объекты и последовательность их действий.
-
Insights по качеству и безопасности: выявляйте уязвимости, блоки готовности к облаку и структурные дефекты в приложениях.
-
Обзор схем баз данных: просматривайте таблицы, столбцы, связи и ограничения между приложениями.
-
Расследование на уровне объектов: ищите объекты и их свойства, анализируйте отношения caller/callee.
Table of Contents
Prerequisites
Required
-
Linux система с установленным и запущенным Docker.
-
CAST Imaging‑APIs сервис доступен с этого хоста
-
MCP‑aware client (например, GitHub Copilot в VS Code, Claude Desktop)
-
CAST Imaging API Key (создать в вашем профиле Imaging)
Download
- Скачайте установщик для CAST Imaging MCP server
MCP server должен работать на Linux-системе. CAST Imaging‑APIs могут запускаться на той же или на другой Linux-машине.
Quick Start
- Проверьте, что Imaging‑APIs онлайн:
" http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready
expected: true">```
curl -H "x-api-key: <your-imaging-api-key>" http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready
expected: true
- **Извлеките** Zip‑архив установщика.
- **Настройте** `config/app.config` и `.env`.
- **Запустите** сервер командой `./run.sh --install`.
- **Настройте клиента** (VS Code Copilot или Claude) с URL вашего сервера.
- **Протестируйте запросы** (см. примеры ниже).
---
## Installation of CAST Imaging MCP server
### 1) Extract the installer
com.castsoftware.imaging.mcpserver.docker.1.0.2-funcrel/
├─ config/
│ └─ app.config
├─ .env # скрыт; используйте ls -a
├─ docker-compose.yml
├─ run.sh
├─ README.md
└─ copilot-instructions.md
### 2) Verify CAST Imaging‑APIs
Убедитесь, что Control Panel/registry доступен и Imaging‑APIs готов (смотрите Quick Start шаг #1).
### 3) Configure server
Редактируйте `config/app.config`:
HOST_CONTROL_PANEL="your-control-panel-host" # REQUIRED: Control Panel service registry host/IP PORT_CONTROL_PANEL=8098 # Default Control Panel registry port IMAGING_PAGE_SIZE=1000 # Internal fetch batch size IMAGING_DISPLAY_PAGE_SIZE=20 # Page size in responses IMAGING_CODE=False # Source code access via MCP (security sensitive) DEBUG_MODE=false # Debug mode to see the activity in logs IMAGING_DOMAIN="default" # Imaging domain/tenant CONTROL_PANEL_SSL_ENABLED=false # Set true only if Control Panel config/eureka is on HTTPS MCP_TOOL_SURFACE_PROFILE="full" # MCP tool exposure profile: "intents" or "full" MCP_INTENTS_HIDDEN_FUNCTIONS="" # Comma-separated structural functions hidden from intents mode SERVICE_HOST="your-service-host" # REQUIRED: The IP/hostname of the machine on which the MCP Server is running SSL_CA_BUNDLE="" # Optional PEM bundle for private/self-signed CAs
Укажите expose‑порт в `.env` (скрытый файл):
MCP_SERVER_PORT=8282
> **Tip:** В Linux файлы, начинающиеся с точки (например, `.env`), скрыты. Используйте `ls -a` для просмотра.
### 4) Start
chmod +x run.sh ./run.sh --install
Это запускает стек Docker Compose и MCP server.
Если вы используете `SSL_CA_BUNDLE`, поместите PEM‑файл в папку `certificates/` рядом с `docker-compose.yml`. В файле docker-compose этот каталог монтируется в контейнер по пути `/app/certificates`.
---
## Configuration Reference
### `HOST_CONTROL_PANEL` (Required)
**Default:** None (нужно указать значение)
**Description:** IP или имя хоста машины, на которой запущен Control Panel Service.
Это реестр сервисов, используемый Imaging для регистрации и обнаружения внутренних сервисов. Он автоматически разворачивается при установке Imaging. Введите IP‑адрес Linux‑машины, на которой запущен Imaging Control Panel.
### `PORT_CONTROL_PANEL`
**Default:** `8098`
**Description:** Порт реестра Control Panel.
### `IMAGING_PAGE_SIZE`
**Default:** `1000`
**Description:** Устанавливает количество записей, которое MCP server вытягивает за запрос (внутренний батчинг). Настройте для пропускной способности.
### `IMAGING_DISPLAY_PAGE_SIZE`
**Default:** `20`
**Description:** Определяет, сколько записей показывается на странице во внешнем ответе. Настройте под UX.
### `IMAGING_CODE`
**Default:** `False`
**Description:** Контролирует доступ агента к исходному коду через MCP-сервер.
По умолчанию стоит `False`, так как агенты обычно работают с открытыми репозиториями. Включение может открыть исходный код любому, кто имеет доступ к MCP, что создает потенциальный риск безопасности, особенно для клиентов вроде Claude Desktop без прямого доступа к репозиторию.
### `DEBUG_MODE`
**Default:** `false`
**Description:** Режим отладки выводит активность в логах. При включении отображается выбранный инструмент, вызванный API и результат для каждого запроса пользователя. При отключении показывается только выбранный инструмент и соответствующий вызванный API.
### `IMAGING_DOMAIN`
**Default:** `default`
**Description:** Домен/арендатель Imaging, используемый при получении данных в мультиарендной среде.
### `CONTROL_PANEL_SSL_ENABLED`
**Default:** `false`
**Description:** Установите `true`, если конфигурации/eureka‑конечные точки Control Panel работают на HTTPS.
### `MCP_TOOL_SURFACE_PROFILE`
**Default:** `full`
**Description:** Выбирает профиль экспозиции инструментария MCP. Используйте `full`, чтобы открыть полный набор инструментов, или `intents` для поверхностного уровня.
### `MCP_INTENTS_HIDDEN_FUNCTIONS`
**Default:** empty
**Description:** Список функций структурных функций через запятую, скрываемый при режиме `intents`.
### `SERVICE_HOST` (Required)
**Default:** None (нужно указать значение)
**Description:** IP/hostname машины, на которой запущен MCP Server.
### `SSL_CA_BUNDLE`
**Default:** empty
**Description:** Необязательный путь к PEM‑пакету CA для частных/самоподписанных цепочек сертификатов. С Docker‑установщиком поместите PEM в `./certificates/` и ссылайтесь как `/app/certificates/<file>.pem`.
---
## Running (HTTP)
Запустите сервер:
chmod +x run.sh ./run.sh --install
---
## Windows Installation
> Этот раздел содержит детальные шаги по установке и настройке CAST Imaging MCP Server на системах Windows.
### Prerequisites for Windows
- **Windows** система
- **CAST Imaging‑APIs** сервис запущен и доступен
- **MCP‑aware client** (например, GitHub Copilot в VS Code, Claude Desktop)
- **CAST Imaging API Key** (создать в вашем профиле Imaging)
### 1) Download and Extract
- Скачайте пакет установщика для Windows.
- Распакуйте zip‑файл в желаемое место
- Перейдите в распакованную директорию
**Package contents:**
com.castsoftware.imaging.mcpserver.MCP_VERSION*/ ├─ mcpserver/ ├─ tools/ ├─ configuration.conf ├─ mcp-server-installer.bat └─ README.md
### 2) Verify CAST Imaging‑APIs
Убедитесь, что Control Panel/registry доступен и Imaging‑APIs готов:
"
http://{HOSTNAME_CONTROL_PANEL}:8090/rest/ready
# expected: true">```
curl -H "x-api-key: <your-imaging-api-key>"
http://{HOSTNAME_CONTROL_PANEL}:8090/rest/ready
# expected: true
3) Configure Server
Измените configuration.conf в соответствии с вашей средой:
HOSTNAME_CONTROL_PANEL="your-control-panel-host" # Required: IP or hostname of Control Panel server
SERVICE_HOST="your-service-host" # Required: IP/hostname of the MCP Server machine
PORT_CONTROL_PANEL=8098 # Default Control Panel registry port
MCP_SERVER_PORT=8282 # Default MCP server port
INSTALL_DIR=C:\Program Files\Cast\Imaging-MCP-Server # Default installation location
CONFIG_DIR=C:\ProgramData\CAST\Imaging-MCP-Server # Default config files location
IMAGING_PAGE_SIZE=1000 # Records per internal request
IMAGING_DISPLAY_PAGE_SIZE=20 # Records per response page
IMAGING_CODE=False # Enable source code access (security consideration)
DEBUG_MODE=false # Debug mode to see the activity in logs
IMAGING_DOMAIN=default # Imaging domain/tenant
CONTROL_PANEL_SSL_ENABLED=false # Set true only if Control Panel config/eureka is on HTTPS
MCP_TOOL_SURFACE_PROFILE=full # MCP tool exposure profile: full or intents
MCP_INTENTS_HIDDEN_FUNCTIONS= # Comma-separated structural functions hidden from intents mode
SSL_CA_BUNDLE= # Optional PEM bundle for private/self-signed CAs
4) Install as Windows Service
Запустите установку с помощью пакетного скрипта:
mcp-server-installer.bat --install configuration.conf
Это установит MCP server как службу Windows. После успешной установки в списке служб Windows появится служба под названием "CAST Imaging MCP Server".
5) Verify Installation
Проверьте, что служба запущена:
-
Откройте Сервисы (services.msc)
-
Найдите "CAST Imaging MCP Server"
-
Убедитесь, что статус "Running"
Windows-Specific Operations
Update MCP Server
Чтобы обновить существующую установку:
mcp-server-installer.bat --update
Для обновления не требуются изменения конфигурации.
Uninstall MCP Server
Чтобы полностью удалить MCP server:
mcp-server-installer.bat --uninstall
Это удаляет Windows‑слугу и очищает все файлы MCP.
Get Help
Для доступных команд:
mcp-server-installer.bat --help
Available commands:
mcp-server-installer.bat --install configuration.conf : Install CAST Imaging MCP server
mcp-server-installer.bat --update : Update CAST Imaging MCP server
mcp-server-installer.bat --uninstall : Uninstall CAST Imaging MCP server
mcp-server-installer.bat --help : Display help message
Windows Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Service won't start | Configuration error | Check %CONFIG_DIR%/setup-config/app.config |
| Connection refused | Service not running | Restart "CAST Imaging MCP Server" service |
| Installation fails | Insufficient permissions | Run installer as Administrator |
VS Code + GitHub Copilot Setup
Этот раздел описывает шаги по подключению CAST Imaging MCP Server к Github Copilot.
1) Install GitHub Copilot on your VS code
-
Откройте раздел Extensions (Ctrl+Shift+X или Cmd+Shift+X).
-
Найдите "GitHub Copilot" и нажмите Install.
-
Войдите в GitHub, когда будет запрошено
2) Generate CAST Imaging API Key
-
Войдите в ваш CAST Imaging
-
Перейдите в раздел профиля.
-
Сгенерируйте новый API key (скопируйте и сохраните ключ безопасно, он понадобится в следующих шагах)
3) Create MCP configuration (.vscode/mcp.json)
- Откройте любую папку в VS Code и создайте папку .vscode в корне. В ней создайте файл mcp.json.
/mcp/", "headers": { "x-api-key": "${input:imaging-key}", "x-user-tenant": "${input:imaging-tenant}" } } } }">``` { "inputs": [ { "id": "imaging-key", "type": "promptString", "description": "CAST Imaging API Key" }, { "id": "imaging-tenant", "type": "promptString", "description": "Imaging tenant" } ], "servers": { "imaging": { "type": "http", "url": "http://your-mcp-server-host:port/mcp/", "headers": { "x-api-key": "${input:imaging-key}", "x-user-tenant": "${input:imaging-tenant}" } } } }
### 4) (Alternative) Manual registration flow
Если VS Code не обнаруживает сервер автоматически:
- Откройте Copilot Chat → значок шестерёнки → **Select tools that are available to chat**
- **+ Add More Tools…** → **+ Add MCP Server…** → выберите **HTTP**
- Введите `http(s)://<your-mcp-server-host:port>/mcp/` и подтвердите
- VS Code запишет файл `.vscode/copilot/mcp.json` → добавьте блок headers:
/mcp/",
"headers": {
"x-api-key": "${input:imaging-key}",
"x-user-tenant": "${input:imaging-tenant}"
}
}">```
"my-mcp-server-xxxx": {
"url": "http://<your-mcp-server-host:port>/mcp/",
"headers": {
"x-api-key": "${input:imaging-key}",
"x-user-tenant": "${input:imaging-tenant}"
}
}
5) Project instructions for Copilot
Скопируйте copilot-instructions.md из установщика в VScode, создав папку .github и вставив туда файл copilot-instructions.md. Это поможет агенту давать более качественные ответы.
Verification & Test Queries
Connectivity checks
" http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready">```
MCP container running
docker ps | grep mcp-server
Imaging‑APIs health
curl -H "x-api-key: <your-key>" http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready
### Try in Copilot/Claude
List available applications datagraphs
List applications insights">```
List all applications
List 5 transactions for application <YourApp>
List available applications datagraphs
List applications insights
Toolsets & Tools
Сервер группирует функциональность в Toolsets.
Available Toolsets
| Toolset | Description |
|---|---|
| Portfolio Tools | Обзор на портфельном уровне: перечисление приложений, сравнение метрик, поиск hotspots по системам. |
| Applications Tools | Анализ на уровне приложений: транзакции, вопросы качества, datagraphs, архитектура. |
| Objects Tools | Исследование элементов объектов: поиск объектов, ссылок, вызывающих/вызываемых. |
Tools
Portfolio
-
applications — Перечень доступных приложений в CAST Imaging
-
all_applications — Перечень всех приложений (cloud build)
-
my_applications — Перечень приложений, принадлежащих текущему пользователю (cloud build)
-
applications_transactions — Получение транзакций из всех приложений с поддержкой фильтрации
-
applications_data_graphs — Сети взаимодействия сущностей данных (data graphs) из всех приложений
-
applications_dependencies — Взаимозависимости между всеми приложениями
-
applications_quality_insights — Инсайты по качеству, включая CVE, паттерны обнаружения облака и «зелёные» паттерны
-
get_mcp_info — Получить информацию о версии/окружении MCP сервера и Imaging
Applications
-
application_database_explorer — Исследование таблиц и столбцов базы данных в приложении
-
stats — Получить базовую статистику по приложению
-
architectural_graph — Получить данные архитектурного графа (узлы/ссылки) на определённых уровнях (уровень, компонент, подкомпонент, категория технологии, тип элемента)
-
architectural_graph_focus — Получить фокусированные данные архитектурного графа для конкретных зон
-
quality_insights — Получить инсайты по качеству (CVE, облачные паттерны, зелёные паттерны, структурные дефекты, ISO-5055)
-
quality_insight_violations — Получить конкретные нарушения инсайтов по качеству по ID, с опциональными локациями
-
packages — Получить информацию о пакетах и зависимостях
-
package_interactions — Получить взаимодействия с конкретными пакетами по компоненту и версии
-
transaction_profiles — Получить доступные профили транзакций
-
transactions — Получить транзакции с опциональной фильтрацией по имени, полному имени или типу
-
transaction_details — Получить подробную информацию о транзакции по ID
-
add_view_document — Добавить документацию к транзакции или графу данных
-
data_graphs — Получить сети взаимодействия сущностей данных (data graphs) с опциональной фильтрацией
-
data_graph_profiles — Получить доступные профили графов данных
-
data_graph_details — Получить фокусированную информацию о графе данных по ID
-
inter_applications_dependencies — Получить внутренние и внешние зависимости между приложениями
-
inter_app_detailed_dependencies — Получить детальные зависимости между двумя конкретными приложениями
-
advisor_occurrences — Получить появления, поддерживающие выбранного советника
-
application_iso_5055_explorer — Исследовать характеристики ISO 5055 и их слабости
-
api_inventory — Получить инвентарь API для приложения
-
advisors — Получить миграционных/модернизационных советников, правила и нарушения
-
dynamic_views — Перечень пользовательских агрегированных представлений
-
dynamic_view_details — Получить граф определённого представления или объекты внутри кастомного узла
-
manage_dynamic_view — Создать, удалить, переименовать, опубликовать или опубликовать обратно пользовательские представления
-
configure_dynamic_view — Добавить или удалить пользовательские узлы в представлении
-
views — Перечень сохранённых представлений
-
view_details — Получить детали сохранённых представлений
-
manage_view — Создать, обновить или удалить сохранённые представления
-
tags — Перечень тегов, доступных в приложении
Objects
-
objects — Получить объекты в приложении, подходящие под критерии идентификации (name, fullname, mangling, type, filepath)
-
object_profiles — Получить доступные профили объектов
-
object_details — Получить исчерпывающие сведения об объектах: свойства, отношения, фрагменты кода и статистику использования
-
add_object_document — Добавить текстовую документацию к конкретному объекту по его ID
-
manage_object_tags — Добавлять или удалять теги на явно идентифицированных объектах
-
bulk_manage_object_tags — Добавлять или удалять теги на объектах, отобранных сервером
-
objects_relationships — Найти связи между несколькими объектами
-
pathfinder_hierarchy_details — Найти пути выполнения, цепочки вызовов и детали иерархии
-
source_files — Найти исходные файлы, определяющие кодовые объекты по критериям пути к файлу
-
source_file_details — Получить детальную информацию об исходниках и их элементах кода (инвентарь, внутри/внетренний, внешний, тестирование)
-
transactions_using_object — Получить транзакции, использующие объекты, соответствующие заданным критериям
-
data_graphs_involving_object — Найти сети взаимодействия сущностей данных, затрагивающих конкретные объекты
Structural Search (intents profile)
-
get_structural_search_function_syntax — Получить синтаксис и детали использования функций структурного поиска
-
run_structural_search_function — Выполнить структурный поиск через общий диспетчер
Troubleshooting
| Признак | Вероятная причина | Что сделать |
|---|---|---|
| ECONNREFUSED от клиента | Сервис не запущен | выполните docker ps, затем ./run.sh --install для запуска |
| Ошибки аутентификации | Неправильный/истекший Imaging API key | Сгенерируйте новый ключ в Imaging профиле |
| Пустые ответы | Imaging‑APIs недоступны | Повторно проверьте HOST_CONTROL_PANEL / PORT_CONTROL_PANEL, здоровье эндпойнта |
| HTTPS рукопожатие/ошибка | Частный/самоподписанный сертификат Control Panel | Установите CONTROL_PANEL_SSL_ENABLED=true и сконфигурируйте SSL_CA_BUNDLE |
| VS Code не просит ключ | Отсутствуют входные данные в mcp.json | Добавьте блок inputs (см. setup) |
Logs & Checks
Re‑verify Imaging‑APIs
curl -H "x-api-key: " http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready">```
Server logs
docker logs <mcp-container-id>
Re‑verify Imaging‑APIs
curl -H "x-api-key: <your-key>" http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready
---
## Security Notes
- **`IMAGING_CODE` = False by default**: включение позволяет MCP client‑ам доступ к исходному коду → ограничивайте политику, сеть и учетные данные.
- **`SSL_CA_BUNDLE` for private CAs**: предпочтительно использовать CA bundle вместо отключения TLS‑проверки.
- **Principle of least privilege**: ограничивайте количество лиц, которым выдаются/которые вводят Imaging API keys на MCP hosts.
---
## Package Contents
com.castsoftware.imaging.mcpserver.docker.MCP_VERSION/ ├─ config/app.config ├─ docker-compose.yml ├─ run.sh ├─ .env # скрыт ├─ README.md # оригинальная документация └─ copilot-instructions.md # необязательно, копируйте в .github/
---
## Support
- Проверяйте логи контейнеров и health‑эндпойнт Imaging‑APIs
- Валидируйте пути и значения в `app.config`, `.env`, `mcp.json`
- Обеспечьте сетевую доступность между клиентом ↔ сервером ↔ Imaging‑APIs
---
## License
This repository contains documentation only.
The project’s source code is **proprietary** and is **not** published under an open-source license.
- The source code is licensed separately under a **commercial license** and is not included in this repository.
- No rights are granted to the source code through this repository.
- You may view and share this documentation freely, but it may not be used to infer or imply rights to the proprietary software.
For commercial licensing inquiries, please contact your local CAST representative ([https://www.castsoftware.com/overview](https://www.castsoftware.com/overview)).
---