FAQ about the CAST Imaging MCP Server
Overview
Answers to a series of security and data safety related frequently asked questions about CAST Imaging’s MCP (Model Context Protocol) server.
Frequently Asked Questions
How does the MCP server authenticate with CAST Imaging? What authentication mechanisms are supported (API keys, OAuth, certificates)?
Two authentication methods are supported: an API key, and OAuth from CAST Imaging 3.6.6-funcrel onwards. Client certificates are not used.
How the API key method works:
- API Key Generation: You generate an API key from your CAST Imaging user profile (accessible after logging in) - i.e. the API key is tied to individual CAST Imaging users
- This API key is then passed to the MCP server via an
mcp.jsonfile using thex-api-keyentry.
How the OAuth method works:
- The user signs in to CAST Imaging through the browser, against Keycloak, using the OAuth authorization code flow with PKCE
- CAST Imaging exchanges the resulting token so that downstream API calls carry the roles and permissions of the signed-in user
- No API key is stored in the client configuration - see Authenticate MCP clients with OAuth
How do AI clients authenticate to the MCP server? What credentials are required for Claude Desktop, GitHub Copilot, or other AI agents to connect?
AI clients (Claude Desktop, GitHub Copilot, etc.) authenticate to the MCP server by passing your CAST Imaging API key in the request headers.
For GitHub Copilot in VS Code, you configure authentication in the .vscode/mcp.json file. Then when you start using Copilot, VS Code will prompt you to enter your API key, which it then includes in every request to the MCP server.
From CAST Imaging 3.6.6-funcrel onwards, Claude Code and Visual Studio Code can sign in through the browser using OAuth instead, in which case no API key is held in the client configuration - see Authenticate MCP clients with OAuth.
Key points:
- No separate MCP server credentials - you use either your existing per-user CAST Imaging API key, or your CAST Imaging user account through OAuth
- When an API key is used, the MCP server forwards it to the CAST Imaging APIs
- When OAuth is used, the identity of the signed-in CAST Imaging user determines the permissions applied
What data is sent from the CAST Imaging MCP tools to the LLM, specifically concerning prompt and customer code, along with encryption options?
Here is a list of data that is sent to the LLM while using the MCP server:
-
Metadata and analysis results (always included):
- Application names, statistics, metrics
- Transaction names, data graph names
- Package dependencies, architectural information
- Quality insights (CVE vulnerabilities, cloud readiness issues, structural flaws)
- Object names, types, file paths
- Relationships between components (caller/callee, dependencies)
-
Source code snippets (controlled by the
IMAGING_CODEsetting - Ttis setting exists specifically because source code exposure is sensitive):- Default position:
IMAGING_CODE=False- i.e. no source code is sent to the LLM - When enabled:
IMAGING_CODE=True- code snippets from the database may be included in responses
- Default position:
-
What is NOT sent:
- No source code is sent to the LLM from disk (the MCP server does not have direct file access)
- Database connection strings or credentials
- Internal CAST Imaging configuration details
Does the CAST Imaging MCP server expose sensitive business logic or source code? What safeguards prevent over-exposure?
The CAST Imaging MCP server is designed with safeguards to prevent unintended data exposure:
Source code protection:
IMAGING_CODEsetting (default: False):- Prevents source code snippets from being included in MCP responses
- Must be explicitly enabled to access code
- No direct file system access - the MCP server does not read your actual source code files
What IS exposed (by design):
- Application architecture - Component relationships, layers, dependencies
- Quality insights - CVE vulnerabilities, code smells, quality metrics
- Metadata - Object names, transaction names, database schema related to the specific query.
What is NOT exposed:
- Actual source code (unless
IMAGING_CODE=True) - Credentials or connection strings
- Proprietary algorithms
What network protocols does the MCP server use? Is communication encrypted (TLS/SSL)?
The MCP server supports both encrypted and unencrypted communications, depending on your deployment configuration.
Protocols used:
- HTTP/HTTPS over TCP
- Model Context Protocol (MCP) - Streamable HTTP transport
- RESTful API calls to CAST Imaging backend
Encryption options:
- HTTP mode (default)
- No certificates required
- Set
HTTPS_ENABLED=falsein configuration
MCP Client → HTTP → MCP Server → CAST Imaging
- HTTPS mode
- Nginx performs SSL termination
- Requires SSL certificate and private key (CA-signed recommended)
- Set
HTTPS_ENABLED=trueand provide certificates incertificates/folder
MCP Client → HTTPS → Nginx Proxy → HTTP (internal port 8282) → MCP Server → CAST Imaging
What ports need to be opened? What are the firewall requirements?
The ports that are required to be free and opened by default for MCP Server to run:
MCP Server ports:
- HTTP mode: port 8282 (configurable via
MCP_SERVER_PORTin.env) - HTTPS mode: Port 8443 (Nginx SSL proxy)
CAST Imaging ports:
- Control Panel/Eureka: Port 8098 (default, configurable via
PORT_CONTROL_PANEL) - CAST Imaging Port: 8090 (default)
Can it be used concurrently (multi-client)?
Yes, the MCP server supports concurrent multi-client usage. Multiple developers can connect and use the MCP server simultaneously without conflicts.
How it works:
- Per-request authentication: each AI client sends their own API key with every request
- No session management: no login/logout sessions that could block other users
- Async architecture: built on FastMCP with asynchronous request handling for concurrent operations
Does it need to be deployed on a dedicated machine?
It is not a requirement to deploy the MCP server on a dedicated machine: it can be deployed on the same machine used for CAST Imaging components or on a different machine if that is the requirement. Changes can be done in the `app.config` of the MCP server accordingly to handle deployments on the same or a different machine.
What local telemetry does the MCP server store, and does it contain sensitive data?
Starting MCP Server 3.1.0-beta2, the MCP server can store local telemetry for MCP tool calls and their associated CAST Imaging API calls. This telemetry is written to a local file only - it is not transmitted to CAST or any external service.
What is stored:
- Tool/function names
- Client information
- Execution duration
- Success or error status
- Aggregated CAST Imaging API activity
What is NOT stored:
- Raw credentials (API keys are never written to telemetry)
Key points:
- Telemetry is written in JSON Lines (JSONL) format, with one JSON object per tool call
- It is enabled by default (
TELEMETRY_ENABLED=true); disable it by settingTELEMETRY_ENABLED=falseand restarting the MCP server - The output file is defined by
TELEMETRY_LOCAL_FILE(see the Windows and Docker installation pages for default locations) - The file rotates at 10 MB and retains up to 30 compressed backups