软件架构分析服务器

CAST Imaging MCP Server通过Model Context Protocol (MCP)为AI代理提供全面的软件架构智能分析,支持应用组合探索、架构分析、事务流映射、质量安全洞察等功能。

  • by CAST-Extend
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 CAST-Extend/CAST-Imaging-Mcp

使用说明

CAST成像MCP服务器

概述

CAST成像MCP服务器通过模型上下文协议(MCP)公开全面的软件智能,弥合了AI代理和真实软件架构之间的差距。它允许用户通过提示AI代理来了解他们的应用程序、事务、依赖关系、质量模式和架构结构。

此服务为AI代理提供了对应用程序的理解,从投资组合级库存到粒度对象关系。无论您是在探索数据库模式、分析事务流、调查质量问题,MCP服务器都能提供精确的分页数据,从而做出明智的架构决策。

用例

  • 投资组合层面的探索:列出CAST Imaging中可用的应用程序,并提供有关它们的详细信息。
  • 应用架构分析:探索不同层次的架构图,并可视化系统结构。
  • 事务和数据流映射:分析交易,跟踪数据实体交互网络,探索复杂对象和排序。
  • 质量和安全见解:识别应用程序中的漏洞、云就绪障碍和结构性缺陷。
  • 数据库模式探索:跨应用程序浏览数据库表、列、关系和约束。
  • 对象级调查:搜索对象及其属性并分析调用者/被调用者关系。

目录


先决条件

必需的

  • Linux 系统与 码头工人 安装并运行。
  • CAST成像API 可从此主机访问的服务
  • MCP感知客户端 (例如,VS Code中的GitHub Copilot、Claude Desktop)
  • CAST成像API密钥 (根据您的成像用户配置文件生成)

下载

  • 下载CAST Imaging MCP服务器的安装程序

MCP服务器应在Linux系统上运行。CAST Imaging‑API可以在相同或不同的Linux机器上运行。


快速开始

  1. 验证成像API 直播:
    curl -H "x-api-key: <your-imaging-api-key>"         http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready
    # expected: true
    
  2. 提取 安装程序压缩。
  3. 配置 config/app.config 和 .env.
  4. 开始 服务器与 ./run.sh --install.
  5. 配置客户端 (VS Code Copilot或Claude)与您的服务器URL。
  6. 测试 查询(见下面的示例)。

CAST成像MCP服务器的安装

1) 解压缩安装程序

com.castsoftware.imaging.mcpserver.docker.1.0.2-funcrel/
├─ config/
│  └─ app.config
├─ .env                      # hidden; use `ls -a`
├─ docker-compose.yml
├─ run.sh
├─ README.md
└─ copilot-instructions.md

2) 验证CAST成像API

确保控制面板/注册表可访问,并且Imaging‑API已准备就绪(请参阅快速入门步骤#1)。

3) 配置服务器

编辑 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

将暴露的端口设置为 .env (隐藏文件):

MCP_SERVER_PORT=8282

提示: 在Linux上,以点开头的文件(如 .env)隐藏。使用 ls -a 查看。

4) 开始

chmod +x run.sh
./run.sh --install

这将启动Docker Compose堆栈和MCP服务器。

如果你使用 SSL_CA_BUNDLE,将PEM文件放置在 certificates/ 旁边的文件夹 docker-compose.yml。compose文件将该文件夹装载到位于的容器中 /app/certificates.


配置参考

HOST_CONTROL_PANEL (必填)

违约: 无(用户需要提供值)
说明: 运行控制面板服务的计算机的IP或主机名。

这是Imaging用来注册和发现其内部服务的服务注册表。安装Imaging时,它会自动部署。您应该输入运行映像控制面板服务的Linux机器的IP地址。

PORT_CONTROL_PANEL

违约: 8098
说明: 控制面板注册表端口。

IMAGING_PAGE_SIZE

违约: 1000
说明: 设置MCP服务器每次请求获取的记录数(内部批处理)。调整吞吐量。

IMAGING_DISPLAY_PAGE_SIZE

违约: 20
说明: 设置在面向用户的响应中每页显示多少条记录。调整用户体验。

IMAGING_CODE

违约: False
说明: 控制代理是否可以通过MCP服务器访问源代码。

它是 false 默认情况下,代理通常在开放存储库上工作。启用它可能会将源代码暴露给任何具有MCP访问权限的人,使其成为潜在的安全风险,特别是对于像Claude desktop这样没有直接回购访问权限的客户端。

DEBUG_MODE

违约: false
说明: 调试模式将在日志中显示活动。当设置为true时,它将显示所选择的工具、调用的API以及每个用户提示的结果。当设置为false时,它将只显示所选择的工具和调用的相应API。

IMAGING_DOMAIN

违约: default
说明: 用于在多租户环境中获取数据的映像域/租户。

CONTROL_PANEL_SSL_ENABLED

违约: false
说明: 设置为 true 当控制面板配置/尤里卡端点在HTTPS上运行时。

MCP_TOOL_SURFACE_PROFILE

违约: full 说明: 选择MCP工具曝光曲线。使用 full 公开完整的工具集,或 intents 用于元工具表面。

MCP_INTENTS_HIDDEN_FUNCTIONS

违约: 空的 说明: 逗号分隔的结构函数列表,用于在以下情况下隐藏 MCP_TOOL_SURFACE_PROFILE 设置为 intents.

SERVICE_HOST (必填)

违约: 无(用户需要提供值)
说明: 运行MCP服务器的计算机的IP/主机名。

SSL_CA_BUNDLE

违约: 空的
说明: 私有/自签名证书链的PEM CA包的可选路径。使用Docker安装程序,将PEM放置在 ./certificates/ 并将其引用为 /app/certificates/<file>.pem.


正在运行(HTTP)

使用以下命令启动服务器:

chmod +x run.sh
./run.sh --install

Windows安装

本节提供了在Windows系统上安装和配置CAST成像MCP服务器的详细步骤。

Windows的先决条件

  • 视窗 系统
  • CAST成像API 服务正在运行且可访问
  • MCP感知客户端 (例如,VS Code中的GitHub Copilot、Claude Desktop)
  • CAST成像API密钥 (根据您的成像用户配置文件生成)

1) 下载和提取

  1. 下载windows的安装程序包。
  2. 将zip文件解压缩到您的首选位置
  3. 导航到提取的目录

包装内容:

com.castsoftware.imaging.mcpserver.__MCP_VERSION__*/
├─ mcpserver/
├─ tools/
├─ configuration.conf
├─ mcp-server-installer.bat
└─ README.md

2) 验证CAST成像API

确保控制面板/注册表可访问,并且Imaging‑API已准备就绪:

curl -H "x-api-key: <your-imaging-api-key>" 
     http://{HOSTNAME_CONTROL_PANEL}:8090/rest/ready
# expected: true

3) 配置服务器

编辑 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) 作为Windows服务安装

使用批处理脚本运行安装:

mcp-server-installer.bat --install configuration.conf

这将MCP服务器作为Windows服务安装。成功安装后,您将看到一个名为的Windows服务 “CAST成像MCP服务器” 在您的服务列表中。

5) 验证安装

检查服务是否正在运行:

  • 打开 服务 (services.msc)
  • 寻找 “CAST成像MCP服务器”
  • 确保状态为 “跑步”

Windows特定操作

更新MCP服务器

要更新现有安装,请执行以下操作:

mcp-server-installer.bat --update

更新不需要更改配置。

卸载MCP服务器

要完全卸下MCP服务器:

mcp-server-installer.bat --uninstall

这将删除Windows服务并清理所有与MCP相关的文件。

获得帮助

对于可用命令:

mcp-server-installer.bat --help

可用命令:

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故障排除

问题 可能原因 解决方案
服务无法启动 配置错误 检查 %CONFIG_DIR%/setup-config/app.config
连接被拒绝 服务未运行 重新启动“CAST成像MCP服务器”服务
安装失败 权限不足 以管理员身份运行安装程序

VS代码+GitHub副本设置

本节提供了将CAST成像MCP服务器与Github Copilot连接的详细步骤。

1) 在VS代码上安装GitHub Copilot

  • 打开“扩展”视图(Ctrl+Shift+X或Cmd+Shift+X)。
  • 搜索“GitHub Copilot”并单击安装。
  • 出现提示时登录GitHub

2) 生成CAST成像API密钥

  • 登录您的CAST影像
  • 导航到您的个人资料部分。
  • 生成一个新的API密钥(根据您在下一步中的需要安全地复制并保存此密钥)

3) 创建MCP配置(.vscode/mcp.json)

  • 打开VS Code中的任何文件夹,并在其根目录中创建.vcode文件夹。在里面,创建mcp.json文件。
{
  "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) (备选)手动注册流程

如果VS Code没有自动选择服务器:

  1. 打开 副驾驶聊天 → 齿轮图标→ 选择可用于聊天的工具
  2. +添加更多工具… → +添加MCP服务器… → 选择 超文本传输协议
  3. 进入 http(s)://<your-mcp-server-host:port>/mcp/ 并确认
  4. VS代码写入 .vscode/copilot/mcp.json → 添加标题块:
"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) Copilot项目说明

复制 copilot-instructions.md 通过创建一个名为 .github 然后粘贴 copilot-instructions.md 这将有助于代理提供更好的响应。


验证和测试查询

连接检查

# 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

在Copilot/Claude尝试

List all applications
List 5 transactions for application <YourApp>
List available applications datagraphs
List applications insights

工具集和工具

服务器将功能组织为 工具集.

可用工具集

工具集 说明
Portfolio Tools 投资组合级探索:列出应用程序、比较指标、跨系统扫描热点。
Applications Tools 应用程序级分析:事务、质量问题、数据图、架构。
Objects Tools 对象元素探索:定位对象、引用、调用者/被调用者。

工具

Portfolio
  • 应用 --列出CAST Imaging中可用的应用程序
  • all_应用程序 --列出所有应用程序(云构建)
  • my_应用程序 --列出属于当前用户的应用程序(云构建)
  • 应用程序_交易 --通过过滤支持从所有应用程序获取交易
  • 应用程序_数据图 --来自所有应用程序的数据实体交互网络(数据图)
  • 应用程序依赖关系 --所有应用程序之间的相互依赖关系
  • 应用_质量_景点 --质量洞察,包括CVE、云检测模式和绿色检测模式
  • get_mcp_info --获取MCP服务器和映像版本/环境信息
Applications
  • 应用程序_数据库_探索者 --探索应用程序中的数据库表和列
  • 统计 --获取应用程序的基本统计信息
  • 建筑图形 --获取特定级别(层、组件、子组件、技术类别、元素类型)的架构图数据(节点/链接)
  • 建筑学图形焦点 --获取特定区域的集中架构图数据
  • 质量_景点 --获得与质量相关的见解(CVE、云模式、绿色模式、结构缺陷、ISO-5055)
  • 质量_观察_违规 --通过ID获取特定的质量违规信息,并可选择位置
  • 包裹 --获取包信息和依赖关系
  • package_交互 --按组件和版本获取与特定软件包的交互
  • 交易配置文件 --获取可用的交易配置文件
  • 交易 --通过按名称、全名或类型进行可选筛选来获取交易
  • 交易_详细信息 --按ID获取交易的重点信息
  • add_view_document --将文档添加到事务或数据图中
  • 数据图 --通过可选过滤获取数据实体交互网络(数据图)
  • 数据图表配置文件 --获取可用的数据图配置文件
  • 数据图表详细信息 --按ID获取有关数据图的重点信息
  • 应用程序间的依赖关系 --获取内外应用程序间的依赖关系
  • 相互依赖 --获取两个特定应用程序之间的详细依赖关系
  • 顾问_事件 --获取支持选定顾问的事件
  • 应用iso5055_探索者 --探索ISO 5055的特点和弱点
  • api_库存 -获取应用程序的API库存
  • 顾问 --获取迁移/现代化顾问、规则和违规行为
  • 动态视图 --列出自定义聚合视图
  • 动态_视图_详细信息 --获取自定义节点内的自定义视图图形或对象
  • 管理动态视图 --创建、删除、重命名、发布或取消发布自定义视图
  • 配置动态视图 --在自定义视图中添加或删除自定义节点
  • 观点 --列出已保存的视图
  • view_details --获取已保存的视图详细信息
  • 管理视图 --创建、更新或删除已保存的视图
  • 标签 --列出应用程序中可用的标签
Objects
  • 物体 --获取应用程序中符合标识条件(名称、全名、修改、类型、文件路径)的对象
  • 对象文件 --获取可用的对象配置文件
  • object_details --获取对象的全面详细信息,包括属性、关系、代码片段和使用统计信息
  • add_object_document --将文档文本添加到由ID标识的特定对象中
  • manage_object_tags --在明确标识的对象上添加或删除标签
  • bulk_manage_object_tags --在根据服务器端条件选择的对象上添加或删除标签
  • 对象关系 --查找多个对象之间的关系
  • 路径查找器_层次结构_详细信息 --查找执行路径、调用链和层次结构详细信息
  • 源文件 --查找定义与文件路径条件匹配的代码对象的源文件
  • 源文件_详细信息 --获取有关源文件及其代码元素(库存、内部、内部、外部、测试)的详细信息
  • 事务处理对象 --获取使用符合指定条件的对象的事务
  • 数据图形涉及对象 --获取涉及特定对象的数据实体交互网络(数据图)
Structural Search (intents profile)
  • get_structural_search_function_syntax --获取结构化搜索函数的语法和用法详细信息
  • run_structural_search_function --通过通用调度器执行结构搜索功能

故障排除

症状 可能原因 怎么办
ECONNREFUSED 来自客户端 服务器未运行 docker ps那么 ./run.sh --install 开始
Auth errors Imaging API密钥错误/过期 从Imaging配置文件重新生成密钥
空答案 无法访问成像API 重新检查 HOST_CONTROL_PANEL / PORT_CONTROL_PANEL,健康终点
HTTPS握手/错误 私有/自签名控制面板证书 设置 CONTROL_PANEL_SSL_ENABLED=true 并配置 SSL_CA_BUNDLE
VS代码未提示输入密钥 缺失 inputs 在 mcp.json 添加 inputs 块(请参阅设置)

日志和检查

# 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

安全说明

  • IMAGING_CODE =默认为假:启用允许MCP客户端访问源代码→ 受策略、网络和凭据限制。
  • SSL_CA_BUNDLE 对于私人CA:比起禁用TLS验证,更喜欢CA捆绑包。
  • 最小权限原则:限制谁可以在MCP主机中获取/输入Imaging API密钥。

包装内容

com.castsoftware.imaging.mcpserver.docker.__MCP_VERSION__/
├─ config/app.config
├─ docker-compose.yml
├─ run.sh
├─ .env                      # hidden
├─ README.md                 # original docs
└─ copilot-instructions.md   # optional, copy to .github/

支持

  • 检查容器日志和Imaging‑API运行状况端点
  • 验证 app.config, .env, mcp.json 路径和值
  • 确保客户端之间的网络可达性↔ 服务器↔ 成像API

许可证

此存储库仅包含文档。
该项目的源代码是 专有的 并且是 不 根据开源许可证发布。

  • 源代码根据 商业许可证 并且不包括在此存储库中。
  • 通过此存储库不会授予源代码任何权限。
  • 您可以自由查看和共享此文档,但不得将其用于推断或暗示对专有软件的权利。

如需商业许可咨询,请联系您当地的CAST代表(https://www.castsoftware.com/overview).