使用说明
IBM AS/400 ISeries MCP服务器
该项目实现了一个可定制的MCP服务器来执行RTE协议。
示例
发展
需求
- Java 21+*
跑
-
编译项目
./mvnw clean package -
在上运行服务器 上海证券交易所 模式
java -jar target/rte-mcp-server-0.0.1-SNAPSHOT.jar -
在上运行服务器 工作室 模式
java -jar -Dspring.ai.mcp.server.stdio=true rte-mcp-server-0.0.1-SNAPSHOT.jar
RteUtils
这个项目的目的是易于扩展。您可以通过以下方式添加自己的MCP工具
使用 RteUtils 类。
还需要定义RTE连接参数和RTE流 格式 格式。
RteUtils 已实施以下方法:
static RteProtocolClient connect(RteConfig config):使用连接到RTE服务器 提供 格式.static String executeSteps(RteProtocolClient client, List<RteStep> steps):执行提供的 在RTE服务器上执行步骤,并使用提供的字符串返回屏幕结果 格式.
作为MCP工具公开的方法应注释为 @Tool 该类应注释为 @Services 就像在
以下示例:
@Service
public class RteServiceLoginTool implements RteTool {
private static final Logger logger = LoggerFactory.getLogger(RteServiceLoginTool.class);
@Tool(description = "Execute an RTE transaction in a given server", name = "TN5250 Login")
public String executeRteTransaction(String server, int port) {
try {
RteFlow flow = RteYamlLoader.load("/flow.yaml");
RteProtocolClient client = RteTool.connect(flow.getConfig(), server, port);
return RteTool.executeSteps(client, flow.getSteps());
} catch (IOException | RteIOException | InterruptedException | TimeoutException e) {
logger.error("Error executing RTE flow", e);
return "Error executing RTE flow: " + e.getMessage();
}
}
}
这 格式 定义连接参数和在RTE服务器中执行的步骤。这个* 格式*文件应具有以下结构
config:
server: localhost
port: 2324
protocol: TN5250
terminalType: 'IBM-3477-FC: 27x132'
sslType: None
steps:
- actions:
- label: User
input: TESTUSR
- label: Password
input: TESTPSW
attentionKey: ENTER
步骤中可以定义的任何数字 格式 文件。
-
服务器: 连接到RTE服务器的服务器地址。
-
端口: 连接到RTE服务器的端口。
-
协议: 支持的协议包括 TN5250, TN3270 和 VT420
-
终端类型: 下表显示了每种协议支持的终端类型:
协议 终端类型 TN5250 IBM-3477-FC:27x132 IBM-3179-2:24x80 TN3270 IBM-3278-M2:24x80 IBM-3278-M2-E:24x80 IBM-3278-M3:32x80 IBM-3278-M3-E:32x80 IBM-3278-M4:43x80 IBM-3278-M4-E:43x80 IBM-3278-M5:27x132 IBM-3278-M5-E:27x132 VT420 VT420-7:24x80 -
sslType: 支持的ssl类型包括 无 传输层安全 和 SSLv3.
-
步骤: 表示要在RTE服务器中执行的步骤的操作列表。
-
行动: 当前屏幕中要执行的所有操作,任意数量的对 标签/输入 可以添加。
- 标签: 填写RTE屏幕的字段标签。
- 输入: 字段中要填写的值。
- 注意: 填写字段后按下的键,可以 进入, 一层楼, 地上二层, 功能3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, 第16层, F17, F18, F19, F20, F21, F22, F23, F24, 收件人, 清除, SYSRQ, 重置, ROLL_UP, ROLL_DN, PA1, PA2 或 PA3.
测试
集成测试示例见 RteServiceLoginToolTest 类,此测试使用
这 MCPClient 验证工具列表并执行它。
注意:为了测试to工具的行为,建议生成RTE流的转储 执行并模拟它 威舍姆
可以找到有关如何测试和调试服务器的更多信息 这里