Introduction
CICS IA Smart AI Assistant is a Visual Studio Code extension that helps you query and explore IBM CICS Interdependency Analyzer (CICS IA) data using natural language. Instead of manually navigating multiple views, you can ask questions in plain English and the assistant runs the required MCP tools to return structured answers.
The assistant supports multi-step dependency analysis across transactions, programs, regions, web services, applications, tasks, and collection IDs.

Contents
Privacy Notice for Feedback
This extension is provided to improve CICS IA exploration workflows. Feedback helps improve quality and usability.
Please provide feedback by opening an issue in your project repository or support channel. If your organization has privacy requirements, review them before sharing logs, screenshots, or environment details.
You can also read IBM's General Privacy Statement to learn more about our policies.
Software Requirements
Ensure that you meet the following prerequisites before using the extension:
- Install VS Code 1.109.0 or later.
- Configure at least one supported LLM provider:
- Ollama running locally (default endpoint:
http://localhost:11434), or
- Google Gemini API key.
- CICS IA MCP Server: Preconfigured and hosted in Apache Tomcat. Refer to CICS IA Fix Central for details.
- REST API Server: Preconfigured and hosted in Apache Tomcat. Refer to CICS IA Fix Central for details.
Smart AI Assistant Features
- Ask CICS IA questions in natural language across transactions, programs, regions, web services, applications, tasks, and collection IDs.
- Perform agentic multi-step reasoning to resolve dependency chains (for example: transaction -> program -> region).
- Review every MCP tool call in chat with approval controls (
Allow once or Always allow).
- Use multiple model providers through a unified chat experience (Ollama and Gemini).
- Handle large tool results with automatic archival, preview metadata, and full-result retrieval when requested.
- Persist conversation history across sessions, with support for pinning and cleanup.
- The Smart AI Assistant also supports the following MCP protocols
- Streamable HTTP,
- Server-Sent Events(SSE)
- Standard Input/Output(stdio).
Installation
You can install the extension from a VSIX package.
Download the extension VSIX package.
Install from the command line:
code --install-extension cics-ia-smart-ai-assistant-1.0.0.vsix
Open VS Code and select the extension icon in the Activity Bar to launch the assistant view.

Getting Started
Follow the steps below to configure the assistant.
Open the assistant settings panel using the gear icon in the chat view.

- For Ollama:
- Ensure
ollama serve is running.
- Set the base URL if it is different from
http://localhost:11434.
- For Gemini:
- Add a valid API key from Google AI Studio.
Enable one or more providers. Models from enabled providers will be listed in the model picker.

Connect a CICS IA MCP Server
In settings, go to the MCP Servers section and select Add Server.
Provide the following:
- Label: Display name (for example,
CICS IA).
- Protocol: Streamable HTTP, SSE, or stdio.
- URL or command details based on the selected protocol.
- Authentication details if required (None, Bearer, Basic, API Key Header, OAuth 2.0).
Save the server configuration. The extension validates connectivity and displays status. You can also enable or disable individual tools exposed by that server.

After saving the configuration you will see this status

When you click on the mcp server box you will be able to see all the tools available ad you can enable and disable them

The chatbot currently supports the following tools to query your CICS IA resources:
| Tool Name |
Description |
get_programs |
Get all programs, optionally filtered by region. |
get_transactions |
Get all transactions. |
get_regions |
Get all regions. |
get_webservices |
Get all webservices, optionally filtered by region. |
get_collectorIDs |
Get all collectorIDs. |
get_region_collectorIDs |
Get list of all region and collectorIDs pairs. |
get_program_by_webservice |
Get programs for a webservice, optionally filtered by region. |
get_transaction_by_webservice |
Get transactions for a webservice, optionally filtered by region. |
get_region_by_webservice |
Get regions for a webservice, optionally filtered by collectorIDs. |
get_region_by_transaction |
Get regions for a transaction, optionally filtered by collectorIDs. |
get_region_by_program |
Get regions for a program, optionally filtered by collectorIDs. |
get_applications_by_transaction |
Get applications for a transaction, optionally filtered by platform. |
get_programs_by_transaction |
Get programs associated with a specific transaction. |
get_transactions_by_program |
Get transactions associated with a specific program. |
get_tasks_by_transaction |
Get tasks associated with a transaction. |
get_program_by_program |
Get related programs (calls) for a specific program, optionally filtered by region. |
Ask Your First Question
Select a model and start with a query such as:
List all programs
Note: The first time a tool is invoked, you must approve its execution. You can approve the request once or configure the tool to be always allowed.

Example Queries
- Show all transactions.
- Which programs are used by transaction ABCD?
- Where does program XYZ run?
- Which applications use transaction ABCD, and what web services are involved?
- Show me the full result.

Working with Large Results
Large CICS IA responses are handled with result archival:
- Tool output is archived automatically when large.
- The model uses compact previews and metadata for reasoning.
- You can request full output by asking for "full data".
- The assistant can search archived results and continue analysis without re-running every query.
Archived data is local to extension storage, scoped to conversation lifecycle, and cleaned up with conversation deletion/retention handling.

Conversation History
- New Conversation starts a fresh session.
- History allows reopening, pinning, and deleting conversations.
- Delete all unpinned preserves pinned conversations.
- Long conversations are compacted to maintain key context within model limits.

Security and Privacy
- Secrets are stored in VS Code encrypted Secret Storage.
- Logs redact sensitive authorization and token values.
- MCP URLs are validated to mitigate Server-Side Request Forgery(SSRF) risk.
- Hidden and unsafe Unicode control characters are sanitized from tool input/output.
- Tool execution is permission-gated unless explicitly configured as always allowed.
- With local Ollama and on-prem MCP, data can remain fully inside your environment.
Troubleshooting
- If no providers are available, enable at least one provider and verify credentials or Ollama connectivity.
- If models remain in loading state, run the refresh models command and verify provider endpoint settings.
- If MCP server status is error, verify protocol, URL/port, authentication type, and credentials.
- If tool calls time out, verify CICS IA MCP server responsiveness and network stability.
- If responses look incomplete, ask the assistant to continue or show full data.
Diagnostic logs are available in the VS Code Output Panel (select CICS IA Smart AI Assistant from the dropdown menu in the top-right of the Output tab)
Limits
- Maximum prompt length: 1,000 characters per message.
- Maximum tool steps per request: 15.
- Overall request timeout: 5 minutes.
Release Notes
See CHANGELOG.md.
Support
For issues and feature requests, use your project support channel or issue tracker.