IBM-AS-400-ISeries
MCP server from abstracta/IBM-AS-400-ISeries-MCP-Server
claude mcp add --transport stdio abstracta-ibm-as-400-iseries-mcp-server java -jar target/rte-mcp-server-0.0.1-SNAPSHOT.jar
How to use
This MCP server implements a customizable Runtime Environment (RTE) protocol client for IBM AS/400 iSeries environments. It leverages the RteUtils framework to connect to an RTE server, define a flow in YAML, and execute a series of steps on the remote screen. The server exposes tools that can be annotated as MCP tools, allowing you to programmatically drive screens, fill fields, and send function keys (e.g., ENTER, F1–F24) as part of an automated RTE transaction. Typical usage involves creating a YAML flow that specifies the RTE connection parameters (server, port, protocol, terminal type, and SSL) and a sequence of actions (labels and inputs) to interact with the RTE interface, followed by optional steps for result extraction.
To use the server, you would deploy the MCP server JAR and interact with it through the MCP client tooling. The RteService examples demonstrate how to wrap RTE transactions into tools, enabling orchestration of login sequences or other RTE interactions as reusable MCP tools. The YAML flow serves as the blueprint for the connection and the steps to perform, while the tools execute these steps against the target RTE server and return screen results as strings for verification or logging.
How to install
Prerequisites:
- Java 21+ installed (the project compiles with Maven and uses a Java 21+ runtime).
- Maven Wrapper available (mvnw) or Maven installed if you prefer a local Maven.
Installation steps:
-
Clone the repository: git clone <repository-url> cd <repository-directory>
-
Build the project (Maven wrapper): ./mvnw clean package
or if using a system Maven:
mvn clean package
-
Run the MCP server (SSE mode by default): java -jar target/rte-mcp-server-0.0.1-SNAPSHOT.jar
-
Optional: Run in STDIO mode by enabling the Spring property via JVM argument: java -Dspring.ai.mcp.server.stdio=true -jar target/rte-mcp-server-0.0.1-SNAPSHOT.jar
-
Verify the server starts and exposes its MCP tools via the MCP client tooling.
Note: Ensure any required YAML flow files for RTE interactions are prepared as described in the project documentation.
Additional notes
Tips and notes:
- The RteUtils utility class is designed to be extended with custom MCP tools. Implement your tool methods and annotate them with @Tool, and the containing class with @Services as shown in the examples.
- The flow.yaml (or equivalent YAML) defines the RTE connection parameters and the sequence of actions (labels and inputs). Any number of steps can be defined in the YAML to automate complex RTE transactions.
- Supported RTE protocols include TN5250, TN3270, and VT420 with corresponding terminal types. Ensure the terminal type matches your IBM iSeries environment capabilities.
- If you need to test, consider generating a dump of the RTE flow and mock it with tools like wiresham to simulate interactions.
- For debugging, consult the project documentation on tools debugging and ensure environment variables or JVM properties are set as needed for your deployment environment.