Mainframe MCP Server
Officialby NotHarshhaa
MCP server for IBM z/OS jobs, datasets, USS, and operational diagnostics via Zowe SDK.
Manages IBM z/OS jobs, datasets, USS, and operational diagnostics via Zowe SDK.
README not available yet.
Install
Configuration
ZOSMF_HOSTrequiredz/OSMF hostname or IP address
ZOSMF_PORTz/OSMF HTTPS port (default 443)
ZOSMF_BASE_PATHOptional API gateway or mediation layer prefix for z/OSMF
ZOSMF_USERz/OS user id (required with ZOSMF_PASSWORD unless ZOSMF_TOKEN is set)
ZOSMF_PASSWORDsecretPassword for basic auth (required with ZOSMF_USER unless ZOSMF_TOKEN is set)
ZOSMF_TOKENsecretAuth token (alternative to user/password)
ZOSMF_TOKEN_TYPEToken type when using ZOSMF_TOKEN (e.g. LTPA2)
ZOSMF_REJECT_UNAUTHORIZEDVerify TLS certificates (true in production)
LOG_LEVELLog level: fatal, error, warn, info, debug, trace, silent
MCP_TRANSPORTTransport: stdio (IDE) or sse (container/network)
MCP_SSE_PORTListen port when MCP_TRANSPORT=sse
MAX_JOB_OUTPUT_LINESMax lines returned from a single spool DD
MAX_DATASET_READ_LINESMax lines returned from dataset or USS reads
MAX_JES_SPOOL_FILESMax spool files fetched during diagnostics
MAX_AUDIT_LINESMax RACF audit log lines per query
CMCI_CONTEXTCICSplex name or region APPLID (required for CICS tools)
CMCI_HOSTCMCI hostname (defaults to ZOSMF_HOST)
CMCI_PORTCMCI HTTPS port (default 1490)
CMCI_BASE_PATHCMCI REST base path
DB2_LOCATIONDb2 subsystem location name (required for Db2 tools)
DB2_HOSTDb2 REST hostname (defaults to ZOSMF_HOST)
DB2_PORTDb2 REST port (default 50400)
DB2_BASE_PATHDb2 REST base path
SMF_SUMMARY_DATASETOptional SMF summary dataset for offline metrics
RMF_METRICS_ENABLEDQuery z/OSMF RMF metrics when available
RACF_AUDIT_USS_PATHUSS path to RACF audit log file
RACF_AUDIT_DATASETSequential dataset containing RACF audit records
SECURITY_READ_ONLYWhen true, blocks write tools such as submit_jcl
SECURITY_ALLOWED_TOOLSComma-separated allowlist of MCP tool names
SECURITY_BLOCKED_TOOLSComma-separated blocklist of MCP tool names
SECURITY_ALLOWED_DATASET_PATTERNSComma-separated dataset patterns (e.g. USERDEV.*,SYS1.*)
SECURITY_ALLOWED_USS_PATHSComma-separated USS path prefixes
SECURITY_AUDIT_LOGGINGLog every tool invocation to stderr (SIEM-friendly JSON)
SECURITY_MAX_JCL_BYTESMaximum inline JCL size for submit_jcl
claude_desktop_config.json
{
"mcpServers": {
"mainframe-mcp-server": {
"command": "npx",
"args": [
"-y",
"@notharshhaa/mainframe-mcp-server@2.5.0"
],
"env": {
"ZOSMF_HOST": "<YOUR_ZOSMF_HOST>",
"ZOSMF_PORT": "<YOUR_ZOSMF_PORT>",
"ZOSMF_BASE_PATH": "<YOUR_ZOSMF_BASE_PATH>",
"ZOSMF_USER": "<YOUR_ZOSMF_USER>",
"ZOSMF_PASSWORD": "<YOUR_ZOSMF_PASSWORD>",
"ZOSMF_TOKEN": "<YOUR_ZOSMF_TOKEN>",
"ZOSMF_TOKEN_TYPE": "<YOUR_ZOSMF_TOKEN_TYPE>",
"ZOSMF_REJECT_UNAUTHORIZED": "<YOUR_ZOSMF_REJECT_UNAUTHORIZED>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"MCP_SSE_PORT": "<YOUR_MCP_SSE_PORT>",
"MAX_JOB_OUTPUT_LINES": "<YOUR_MAX_JOB_OUTPUT_LINES>",
"MAX_DATASET_READ_LINES": "<YOUR_MAX_DATASET_READ_LINES>",
"MAX_JES_SPOOL_FILES": "<YOUR_MAX_JES_SPOOL_FILES>",
"MAX_AUDIT_LINES": "<YOUR_MAX_AUDIT_LINES>",
"CMCI_CONTEXT": "<YOUR_CMCI_CONTEXT>",
"CMCI_HOST": "<YOUR_CMCI_HOST>",
"CMCI_PORT": "<YOUR_CMCI_PORT>",
"CMCI_BASE_PATH": "<YOUR_CMCI_BASE_PATH>",
"DB2_LOCATION": "<YOUR_DB2_LOCATION>",
"DB2_HOST": "<YOUR_DB2_HOST>",
"DB2_PORT": "<YOUR_DB2_PORT>",
"DB2_BASE_PATH": "<YOUR_DB2_BASE_PATH>",
"SMF_SUMMARY_DATASET": "<YOUR_SMF_SUMMARY_DATASET>",
"RMF_METRICS_ENABLED": "<YOUR_RMF_METRICS_ENABLED>",
"RACF_AUDIT_USS_PATH": "<YOUR_RACF_AUDIT_USS_PATH>",
"RACF_AUDIT_DATASET": "<YOUR_RACF_AUDIT_DATASET>",
"SECURITY_READ_ONLY": "<YOUR_SECURITY_READ_ONLY>",
"SECURITY_ALLOWED_TOOLS": "<YOUR_SECURITY_ALLOWED_TOOLS>",
"SECURITY_BLOCKED_TOOLS": "<YOUR_SECURITY_BLOCKED_TOOLS>",
"SECURITY_ALLOWED_DATASET_PATTERNS": "<YOUR_SECURITY_ALLOWED_DATASET_PATTERNS>",
"SECURITY_ALLOWED_USS_PATHS": "<YOUR_SECURITY_ALLOWED_USS_PATHS>",
"SECURITY_AUDIT_LOGGING": "<YOUR_SECURITY_AUDIT_LOGGING>",
"SECURITY_MAX_JCL_BYTES": "<YOUR_SECURITY_MAX_JCL_BYTES>"
}
}
}
}