{
  "markdown": "# CAST Imaging MCP Server\n\n## Overview\n\nThe CAST Imaging MCP Server bridges the gap between AI agents and real software architecture by exposing comprehensive software intelligence through the Model Context Protocol (MCP). It allows the user to get insights about their applications ,transactions, dependencies, quality patterns, and architectural structures by prompting AI agents.\n\nThis service provides AI Agents with the understanding of your applications from portfolio-level inventories to granular object relationships. Whether you're exploring database schemas, analyzing transaction flows, investigating quality issues, the MCP server delivers precise, paginated data that enables informed architectural decisions.\n\n### Use Cases\n- **Portfolio-level exploration**: List applications available in your CAST Imaging and provides detailed information about them.\n- **Application architecture analysis**: Explore architectural graphs at different levels and visualize system structure.\n- **Transaction & data flow mapping**: Analyze transactions, trace data entity interaction networks, explore complex objects and sequencing.\n- **Quality & security insights**: Identify vulnerabilities, cloud readiness blockers and structural flaws in the applications.\n- **Database schema exploration**: Browse database tables, columns, relationships, and constraints across applications.\n- **Object-level investigation**: Search objects and their properties and analyze caller/callee relationships.\n---\n\n## Table of Contents\n- [Prerequisites](#prerequisites)\n- [Quick Start](#quick-start)\n- [Installation](#installation)\n- [Configuration Reference](#configuration-reference)\n- [Running (HTTP)](#running-http)\n- [Windows Installation](#windows-installation)\n- [VS Code + GitHub Copilot Setup](#vs-code--github-copilot-setup)\n- [Verification & Test Queries](#verification--test-queries)\n- [Toolsets & Tools](#toolsets--tools)\n- [Troubleshooting](#troubleshooting)\n- [Security Notes](#security-notes)\n- [Package Contents](#package-contents)\n- [Support](#support)\n\n---\n\n## Prerequisites\n\n### Required\n- **Linux** system with **Docker** installed and running.\n- **CAST Imaging‑APIs** service reachable from this host\n- **MCP‑aware client** (e.g., GitHub Copilot in VS Code, Claude Desktop)\n- **CAST Imaging API Key** (generate from your Imaging user profile)\n\n### Download\n- Download the installer for CAST Imaging MCP server\n\n> The MCP server should run on a Linux system. CAST Imaging‑APIs may run on the same or a different Linux machine.\n\n---\n\n## Quick Start\n1. **Verify Imaging‑APIs** is live:\n   ```bash\n   curl -H \"x-api-key: <your-imaging-api-key>\"         http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready\n   # expected: true\n   ```\n2. **Extract** the installer zip.\n3. **Configure** `config/app.config` and `.env`.\n4. **Start** the server with `./run.sh --install`.\n5. **Configure client** (VS Code Copilot or Claude) with your server URL.\n6. **Test** queries (see examples below).\n\n---\n\n## Installation of CAST Imaging MCP server\n\n### 1) Extract the installer\n```text\ncom.castsoftware.imaging.mcpserver.docker.1.0.2-funcrel/\n├─ config/\n│  └─ app.config\n├─ .env                      # hidden; use `ls -a`\n├─ docker-compose.yml\n├─ run.sh\n├─ README.md\n└─ copilot-instructions.md\n```\n\n### 2) Verify CAST Imaging‑APIs\nMake sure the Control Panel/registry is reachable and Imaging‑APIs is ready (see Quick Start step #1).\n\n### 3) Configure server\nEdit `config/app.config`:\n```ini\nHOST_CONTROL_PANEL=\"your-control-panel-host\"   # REQUIRED: Control Panel service registry host/IP\nPORT_CONTROL_PANEL=8098                        # Default Control Panel registry port\nIMAGING_PAGE_SIZE=1000                         # Internal fetch batch size\nIMAGING_DISPLAY_PAGE_SIZE=20                   # Page size in responses\nIMAGING_CODE=False                             # Source code access via MCP (security sensitive)\nDEBUG_MODE=false                               # Debug mode to see the activity in logs\nIMAGING_DOMAIN=\"default\"                       # Imaging domain/tenant\nCONTROL_PANEL_SSL_ENABLED=false                # Set true only if Control Panel config/eureka is on HTTPS\nMCP_TOOL_SURFACE_PROFILE=\"full\"                # MCP tool exposure profile: \"intents\" or \"full\"\nMCP_INTENTS_HIDDEN_FUNCTIONS=\"\"                # Comma-separated structural functions hidden from intents mode\nSERVICE_HOST=\"your-service-host\"               # REQUIRED: The IP/hostname of the machine on which the MCP Server is running\nSSL_CA_BUNDLE=\"\"                               # Optional PEM bundle for private/self-signed CAs\n```\n\nSet your exposed port in `.env` (hidden file):\n```env\nMCP_SERVER_PORT=8282\n```\n> **Tip:** On Linux, files starting with a dot (like `.env`) are hidden. Use `ls -a` to view.\n\n### 4) Start\n```bash\nchmod +x run.sh\n./run.sh --install\n```\nThis launches the Docker Compose stack and the MCP server.\n\nIf you use `SSL_CA_BUNDLE`, place the PEM file in a `certificates/` folder next to `docker-compose.yml`. The compose file mounts that folder into the container at `/app/certificates`.\n\n---\n\n## Configuration Reference\n\n### `HOST_CONTROL_PANEL` (Required)\n**Default:** None (user needs to provide the value)  \n**Description:** IP or hostname of the machine running the Control Panel Service.\n\nThis is a service registry used by Imaging to register and discover its internal services. It is automatically deployed when you install Imaging. You should enter the IP address of the Linux machine running the Imaging Control Panel service.\n\n### `PORT_CONTROL_PANEL`\n**Default:** `8098`  \n**Description:** Control Panel registry port.\n\n### `IMAGING_PAGE_SIZE`\n**Default:** `1000`  \n**Description:** Sets the number of records the MCP server fetches per request (internal batching). Tune for throughput.\n\n### `IMAGING_DISPLAY_PAGE_SIZE`\n**Default:** `20`  \n**Description:** Sets how many records are shown per page in the user-facing response. Tune for UX.\n\n### `IMAGING_CODE`\n**Default:** `False`  \n**Description:** Controls whether the agent can access source code via the MCP server.\n\nIt's `false` by default, as agents typically work on open repos. Enabling it can expose source code to anyone with MCP access, making it a potential security risk, especially relevant for clients like Claude desktop without direct repo access.\n\n### `DEBUG_MODE`\n**Default:** `false`  \n**Description:** Debug mode will show teh activity in the logs. When set to true it will show the tool picked, the API called and the result for each user prompt. When set to false, it will only show the tool picked and the corresponding API called.\n\n### `IMAGING_DOMAIN`\n**Default:** `default`  \n**Description:** Imaging domain/tenant used to fetch data in multi-tenant environments.\n\n### `CONTROL_PANEL_SSL_ENABLED`\n**Default:** `false`  \n**Description:** Set to `true` when Control Panel config/eureka endpoints run on HTTPS.\n\n### `MCP_TOOL_SURFACE_PROFILE`\n**Default:** `full`\n**Description:** Selects the MCP tool exposure profile. Use `full` to expose the complete toolset, or `intents` for the meta-tool surface.\n\n### `MCP_INTENTS_HIDDEN_FUNCTIONS`\n**Default:** empty\n**Description:** Comma-separated list of structural functions to hide when `MCP_TOOL_SURFACE_PROFILE` is set to `intents`.\n\n### `SERVICE_HOST` (Required)\n**Default:** None (user needs to provide the value)  \n**Description:** IP/hostname of the machine on which the MCP Server is running.\n\n### `SSL_CA_BUNDLE`\n**Default:** empty  \n**Description:** Optional path to a PEM CA bundle for private/self-signed certificate chains. With the Docker installer, place the PEM under `./certificates/` and reference it as `/app/certificates/<file>.pem`.\n\n---\n\n## Running (HTTP)\n\nStart the server with:\n```bash\nchmod +x run.sh\n./run.sh --install\n```\n\n---\n\n## Windows Installation\n\n> This section provides detailed steps for installing and configuring the CAST Imaging MCP Server on Windows systems.\n\n### Prerequisites for Windows\n- **Windows** system\n- **CAST Imaging‑APIs** service running and accessible\n- **MCP‑aware client** (e.g., GitHub Copilot in VS Code, Claude Desktop)\n- **CAST Imaging API Key** (generate from your Imaging user profile)\n\n### 1) Download and Extract\n1. Download the installer package for windows.\n2. Extract the zip file to your preferred location\n3. Navigate to the extracted directory\n\n**Package contents:**\n```\ncom.castsoftware.imaging.mcpserver.__MCP_VERSION__*/\n├─ mcpserver/\n├─ tools/\n├─ configuration.conf\n├─ mcp-server-installer.bat\n└─ README.md\n```\n\n### 2) Verify CAST Imaging‑APIs\nMake sure the Control Panel/registry is reachable and Imaging‑APIs is ready:\n```bash\ncurl -H \"x-api-key: <your-imaging-api-key>\" \n     http://{HOSTNAME_CONTROL_PANEL}:8090/rest/ready\n# expected: true\n```\n\n### 3) Configure Server\nEdit `configuration.conf` with your environment settings:\n```ini\nHOSTNAME_CONTROL_PANEL=\"your-control-panel-host\"      # Required: IP or hostname of Control Panel server\nSERVICE_HOST=\"your-service-host\"                      # Required: IP/hostname of the MCP Server machine\nPORT_CONTROL_PANEL=8098                               # Default Control Panel registry port  \nMCP_SERVER_PORT=8282                                  # Default MCP server port\nINSTALL_DIR=C:\\Program Files\\Cast\\Imaging-MCP-Server  # Default installation location\nCONFIG_DIR=C:\\ProgramData\\CAST\\Imaging-MCP-Server     # Default config files location\nIMAGING_PAGE_SIZE=1000                                # Records per internal request\nIMAGING_DISPLAY_PAGE_SIZE=20                          # Records per response page\nIMAGING_CODE=False                                    # Enable source code access (security consideration)\nDEBUG_MODE=false                                      # Debug mode to see the activity in logs\nIMAGING_DOMAIN=default                                # Imaging domain/tenant\nCONTROL_PANEL_SSL_ENABLED=false                       # Set true only if Control Panel config/eureka is on HTTPS\nMCP_TOOL_SURFACE_PROFILE=full                         # MCP tool exposure profile: full or intents\nMCP_INTENTS_HIDDEN_FUNCTIONS=                         # Comma-separated structural functions hidden from intents mode\nSSL_CA_BUNDLE=                                        # Optional PEM bundle for private/self-signed CAs\n```\n\n### 4) Install as Windows Service\nRun the installation using the batch script:\n```bash\nmcp-server-installer.bat --install configuration.conf\n```\n\nThis installs the MCP server as a Windows service. After successful installation, you'll see a Windows service named **\"CAST Imaging MCP Server\"** in your services list.\n\n### 5) Verify Installation\nCheck that the service is running:\n- Open **Services** (services.msc)\n- Look for **\"CAST Imaging MCP Server\"**\n- Ensure status is **\"Running\"**\n\n### Windows-Specific Operations\n\n#### Update MCP Server\nTo update an existing installation:\n```bash\nmcp-server-installer.bat --update\n```\n> No configuration changes needed for updates.\n\n#### Uninstall MCP Server\nTo completely remove the MCP server:\n```bash\nmcp-server-installer.bat --uninstall\n```\n> This removes the Windows service and cleans up all MCP-related files.\n\n#### Get Help\nFor available commands:\n```bash\nmcp-server-installer.bat --help\n```\n\n**Available commands:**\n```\nmcp-server-installer.bat --install configuration.conf   : Install CAST Imaging MCP server\nmcp-server-installer.bat --update                       : Update CAST Imaging MCP server\nmcp-server-installer.bat --uninstall                    : Uninstall CAST Imaging MCP server\nmcp-server-installer.bat --help                         : Display help message\n```\n\n### Windows Troubleshooting\n\n| Issue | Possible Cause | Solution |\n|-------|----------------|----------|\n| Service won't start | Configuration error | Check `%CONFIG_DIR%/setup-config/app.config` |\n| Connection refused | Service not running | Restart \"CAST Imaging MCP Server\" service |\n| Installation fails | Insufficient permissions | Run installer as Administrator |\n\n---\n\n## VS Code + GitHub Copilot Setup\n\n> This section provides detailed steps for for connecting the CAST Imaging MCP Server with Github Copilot.\n\n### 1) Install GitHub Copilot on your VS code\n- Open the Extensions view (Ctrl+Shift+X or Cmd+Shift+X).\n- Search for \"GitHub Copilot\" and click Install.\n- Sign in to GitHub when prompted\n\n### 2) Generate CAST Imaging API Key\n- Login to your CAST Imaging\n- Navigate to your profile section.\n- Generate a new API key (copy and save this key securely as you'll need it in the next steps)\n\n### 3) Create MCP configuration (`.vscode/mcp.json`)\n- Open any folder in VS Code and create a .vscode folder in its root. Inside that, create mcp.json file.\n\n```json\n{\n  \"inputs\": [\n    {\n      \"id\": \"imaging-key\",\n      \"type\": \"promptString\",\n      \"description\": \"CAST Imaging API Key\"\n    },\n    {\n      \"id\": \"imaging-tenant\",\n      \"type\": \"promptString\",\n      \"description\": \"Imaging tenant\"\n    }\n  ],\n  \"servers\": {\n    \"imaging\": {\n      \"type\": \"http\",\n      \"url\": \"http://<your-mcp-server-host:port>/mcp/\",\n      \"headers\": {\n        \"x-api-key\": \"${input:imaging-key}\",\n        \"x-user-tenant\": \"${input:imaging-tenant}\"\n      }\n    }\n  }\n}\n```\n\n### 4) (Alternative) Manual registration flow\nIf VS Code doesn’t auto‑pick the server:\n1. Open **Copilot Chat** → gear icon → **Select tools that are available to chat**\n2. **+ Add More Tools…** → **+ Add MCP Server…** → choose **HTTP**\n3. Enter `http(s)://<your-mcp-server-host:port>/mcp/` and confirm\n4. VS Code writes `.vscode/copilot/mcp.json` → add the header block:\n```json\n\"my-mcp-server-xxxx\": {\n  \"url\": \"http://<your-mcp-server-host:port>/mcp/\",\n  \"headers\": {\n    \"x-api-key\": \"${input:imaging-key}\",\n    \"x-user-tenant\": \"${input:imaging-tenant}\"\n  }\n}\n```\n\n### 5) Project instructions for Copilot\nCopy `copilot-instructions.md` from the installer into your VScode by creating a folder named `.github` and then pasting the `copilot-instructions.md` file inside it. This will help the agent in proving better responses.\n\n---\n\n## Verification & Test Queries\n\n### Connectivity checks\n```bash\n# MCP container running\ndocker ps | grep mcp-server\n\n# Imaging‑APIs health\ncurl -H \"x-api-key: <your-key>\"      http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready\n```\n\n### Try in Copilot/Claude\n```text\nList all applications\nList 5 transactions for application <YourApp>\nList available applications datagraphs\nList applications insights\n```\n\n---\n\n## Toolsets & Tools\n\n> The server organizes functionality into **Toolsets**.\n\n### Available Toolsets\n\n| Toolset        | Description |\n|----------------|-------------|\n| `Portfolio Tools`    | Portfolio‑level exploration: list applications, compare metrics, scan hotspots across systems. |\n| `Applications Tools` | Application‑level analysis: transactions, quality issues, datagraphs, architecture. |\n| `Objects Tools`      | Object element exploration: locate objects, references, callers/callees. |\n\n### Tools\n\n<details>\n<summary><b>Portfolio</b></summary>\n\n- **applications** — List the available applications in CAST Imaging\n- **all_applications** — List all applications (cloud build)\n- **my_applications** — List applications belonging to the current user (cloud build)\n- **applications_transactions** — Get transactions from all applications with filtering support\n- **applications_data_graphs** — Data entity interaction networks (data graphs) from all applications\n- **applications_dependencies** — Inter-dependencies between all applications\n- **applications_quality_insights** — Quality insights including CVE, cloud detection patterns, and green detection patterns\n- **get_mcp_info** — Get MCP server and Imaging version/environment information\n\n</details>\n\n<details>\n<summary><b>Applications</b></summary>\n\n- **application_database_explorer** — Explore database tables and columns in an application\n- **stats** — Get basic statistical information for an application\n- **architectural_graph** — Get architectural graph data (nodes/links) at specific levels (layer, component, sub-component, technology-category, element-type)\n- **architectural_graph_focus** — Get focused architectural graph data for specific areas\n- **quality_insights** — Get quality-related insights (CVE, cloud patterns, green patterns, structural flaws, ISO-5055)\n- **quality_insight_violations** — Get specific violations of quality insights by ID, with optional locations\n- **packages** — Get package information and dependencies\n- **package_interactions** — Get interactions with specific packages by component and version\n- **transaction_profiles** — Get available transaction profiles\n- **transactions** — Get transactions with optional filtering by name, fullname, or type\n- **transaction_details** — Get focused information about a transaction by ID\n- **add_view_document** — Add documentation to a transaction or data graph\n- **data_graphs** — Get data entity interaction networks (data graphs) with optional filtering\n- **data_graph_profiles** — Get available data graph profiles\n- **data_graph_details** — Get focused information about a data graph by ID\n- **inter_applications_dependencies** — Get inward and outward inter-application dependencies\n- **inter_app_detailed_dependencies** — Get detailed dependencies between two specific applications\n- **advisor_occurrences** — Get occurrences supporting a selected advisor\n- **application_iso_5055_explorer** — Explore ISO 5055 characteristics and weaknesses\n- **api_inventory** — Get API inventory for an application\n- **advisors** — Get migration/modernization advisors, rules, and violations\n- **dynamic_views** — List custom aggregation views\n- **dynamic_view_details** — Get a custom view graph or objects inside a custom node\n- **manage_dynamic_view** — Create, delete, rename, publish, or unpublish custom views\n- **configure_dynamic_view** — Add or delete custom nodes in a custom view\n- **views** — List saved views\n- **view_details** — Get saved view details\n- **manage_view** — Create, update, or delete saved views\n- **tags** — List tags available in an application\n\n</details>\n\n<details>\n<summary><b>Objects</b></summary>\n\n- **objects** — Get objects in an application matching identification criteria (name, fullname, mangling, type, filepath)\n- **object_profiles** — Get available object profiles\n- **object_details** — Get comprehensive details for objects including properties, relationships, code snippets, and usage statistics\n- **add_object_document** — Add documentation text to a specific object identified by ID\n- **manage_object_tags** — Add or delete tags on explicitly identified objects\n- **bulk_manage_object_tags** — Add or delete tags on objects selected by server-side criteria\n- **objects_relationships** — Find relationships between multiple objects\n- **pathfinder_hierarchy_details** — Find execution paths, call chains, and hierarchy details\n- **source_files** — Find source files that define code objects matching file path criteria\n- **source_file_details** — Get detailed information about source files and their code elements (inventory, intra, inward, outward, testing)\n- **transactions_using_object** — Get transactions that use objects matching specified criteria\n- **data_graphs_involving_object** — Get data entity interaction networks (data graphs) that involve specific objects\n\n</details>\n\n<details>\n<summary><b>Structural Search (intents profile)</b></summary>\n\n- **get_structural_search_function_syntax** — Get syntax and usage details for structural search functions\n- **run_structural_search_function** — Execute a structural search function through the generic dispatcher\n\n</details>\n\n---\n\n## Troubleshooting\n\n| Symptom | Likely Cause | What to do |\n|---|---|---|\n| `ECONNREFUSED` from client | Server not running | `docker ps`, then `./run.sh --install` to start |\n| Auth errors | Wrong/expired Imaging API key | Regenerate key from Imaging profile |\n| Empty answers | Imaging‑APIs unreachable | Recheck `HOST_CONTROL_PANEL` / `PORT_CONTROL_PANEL`, health endpoint |\n| HTTPS handshake/error | Private/self-signed Control Panel certificate | Set `CONTROL_PANEL_SSL_ENABLED=true` and configure `SSL_CA_BUNDLE` |\n| VS Code not prompting for key | Missing `inputs` in `mcp.json` | Add the `inputs` block (see setup) |\n\n### Logs & Checks\n```bash\n# Server logs\ndocker logs <mcp-container-id>\n\n# Re‑verify Imaging‑APIs\ncurl -H \"x-api-key: <your-key>\"      http://{CONTROL_PANEL_HOST}:8090/imaging/apis/rest/ready\n```\n\n---\n\n## Security Notes\n- **`IMAGING_CODE` = False by default**: enabling allows MCP clients to access source code → restrict by policy, network, and credentials.\n- **`SSL_CA_BUNDLE` for private CAs**: prefer a CA bundle over disabling TLS verification.\n- **Principle of least privilege**: limit who can obtain/enter Imaging API keys in MCP hosts.\n\n---\n\n## Package Contents\n```\ncom.castsoftware.imaging.mcpserver.docker.__MCP_VERSION__/\n├─ config/app.config\n├─ docker-compose.yml\n├─ run.sh\n├─ .env                      # hidden\n├─ README.md                 # original docs\n└─ copilot-instructions.md   # optional, copy to .github/\n```\n\n---\n\n## Support\n- Check container logs and the Imaging‑APIs health endpoint\n- Validate `app.config`, `.env`, `mcp.json` paths and values\n- Ensure network reachability between client ↔ server ↔ Imaging‑APIs\n\n---\n\n## License\nThis repository contains documentation only.  \nThe project’s source code is **proprietary** and is **not** published under an open-source license.  \n\n- The source code is licensed separately under a **commercial license** and is not included in this repository.  \n- No rights are granted to the source code through this repository.  \n- You may view and share this documentation freely, but it may not be used to infer or imply rights to the proprietary software.  \n\nFor commercial licensing inquiries, please contact your local CAST representative (https://www.castsoftware.com/overview).\n\n---\n",
  "bytes": 21883,
  "sha": "67f9f8f5086c77e1ae91f90400566005a6aaf78fabc7d3258079b195ef41c76b",
  "repo_slug": "cast-extend/cast-imaging-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_cast_extend_imaging_mcp_server_76e84240/readme"
}