io.github.NotHarshhaa/mainframe-mcp-server MCP Server
io.github.NotHarshhaa/mainframe-mcp-server
What is the io.github.NotHarshhaa/mainframe-mcp-server MCP server?
MCP server for IBM z/OS jobs, datasets, USS, and operational diagnostics via Zowe SDK.
How to install io.github.NotHarshhaa/mainframe-mcp-server
Copy-paste configuration for popular MCP clients.
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
{
"mcpServers": {
"mainframe-mcp-server": {
"command": "npx",
"args": [
"-y",
"@notharshhaa/mainframe-mcp-server"
],
"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>"
}
}
}
}{
"mcpServers": {
"mainframe-mcp-server": {
"command": "npx",
"args": [
"-y",
"@notharshhaa/mainframe-mcp-server"
],
"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>"
}
}
}
}{
"mcpServers": {
"mainframe-mcp-server": {
"command": "npx",
"args": [
"-y",
"@notharshhaa/mainframe-mcp-server"
],
"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>"
}
}
}
}{
"servers": {
"mainframe-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@notharshhaa/mainframe-mcp-server"
],
"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>"
}
}
}
}claude mcp add mainframe-mcp-server --env ZOSMF_HOST=<YOUR_ZOSMF_HOST> --env ZOSMF_PORT=<YOUR_ZOSMF_PORT> --env ZOSMF_BASE_PATH=<YOUR_ZOSMF_BASE_PATH> --env ZOSMF_USER=<YOUR_ZOSMF_USER> --env ZOSMF_PASSWORD=<YOUR_ZOSMF_PASSWORD> --env ZOSMF_TOKEN=<YOUR_ZOSMF_TOKEN> --env ZOSMF_TOKEN_TYPE=<YOUR_ZOSMF_TOKEN_TYPE> --env ZOSMF_REJECT_UNAUTHORIZED=<YOUR_ZOSMF_REJECT_UNAUTHORIZED> --env LOG_LEVEL=<YOUR_LOG_LEVEL> --env MCP_TRANSPORT=<YOUR_MCP_TRANSPORT> --env MCP_SSE_PORT=<YOUR_MCP_SSE_PORT> --env MAX_JOB_OUTPUT_LINES=<YOUR_MAX_JOB_OUTPUT_LINES> --env MAX_DATASET_READ_LINES=<YOUR_MAX_DATASET_READ_LINES> --env MAX_JES_SPOOL_FILES=<YOUR_MAX_JES_SPOOL_FILES> --env MAX_AUDIT_LINES=<YOUR_MAX_AUDIT_LINES> --env CMCI_CONTEXT=<YOUR_CMCI_CONTEXT> --env CMCI_HOST=<YOUR_CMCI_HOST> --env CMCI_PORT=<YOUR_CMCI_PORT> --env CMCI_BASE_PATH=<YOUR_CMCI_BASE_PATH> --env DB2_LOCATION=<YOUR_DB2_LOCATION> --env DB2_HOST=<YOUR_DB2_HOST> --env DB2_PORT=<YOUR_DB2_PORT> --env DB2_BASE_PATH=<YOUR_DB2_BASE_PATH> --env SMF_SUMMARY_DATASET=<YOUR_SMF_SUMMARY_DATASET> --env RMF_METRICS_ENABLED=<YOUR_RMF_METRICS_ENABLED> --env RACF_AUDIT_USS_PATH=<YOUR_RACF_AUDIT_USS_PATH> --env RACF_AUDIT_DATASET=<YOUR_RACF_AUDIT_DATASET> --env SECURITY_READ_ONLY=<YOUR_SECURITY_READ_ONLY> --env SECURITY_ALLOWED_TOOLS=<YOUR_SECURITY_ALLOWED_TOOLS> --env SECURITY_BLOCKED_TOOLS=<YOUR_SECURITY_BLOCKED_TOOLS> --env SECURITY_ALLOWED_DATASET_PATTERNS=<YOUR_SECURITY_ALLOWED_DATASET_PATTERNS> --env SECURITY_ALLOWED_USS_PATHS=<YOUR_SECURITY_ALLOWED_USS_PATHS> --env SECURITY_AUDIT_LOGGING=<YOUR_SECURITY_AUDIT_LOGGING> --env SECURITY_MAX_JCL_BYTES=<YOUR_SECURITY_MAX_JCL_BYTES> -- npx -y @notharshhaa/mainframe-mcp-serverRelated MCP servers
io.github.NotHarshhaa/devops-mcp
Unified MCP server for Kubernetes, ArgoCD, Prometheus, PagerDuty, and Loki