MCP server for IBM z/OS jobs, datasets, USS, and operational diagnostics via Zowe SDK.
Connect Runs on your machine
claude mcp add mainframe-mcp-server -e ZOSMF_HOST=<ZOSMF_HOST> -e ZOSMF_PORT=<ZOSMF_PORT> -e ZOSMF_BASE_PATH=<ZOSMF_BASE_PATH> -e ZOSMF_USER=<ZOSMF_USER> -e ZOSMF_PASSWORD=<ZOSMF_PASSWORD> -e ZOSMF_TOKEN=<ZOSMF_TOKEN> -e ZOSMF_TOKEN_TYPE=<ZOSMF_TOKEN_TYPE> -e ZOSMF_REJECT_UNAUTHORIZED=<ZOSMF_REJECT_UNAUTHORIZED> -e ZOSMF_CERT=<ZOSMF_CERT> -e ZOSMF_CERT_KEY=<ZOSMF_CERT_KEY> -e ZOSMF_TOKEN_FILE=<ZOSMF_TOKEN_FILE> -e ZOSMF_USER_ID=<ZOSMF_USER_ID> -e ZOSMF_PASSTICKET_APP=<ZOSMF_PASSTICKET_APP> -e ZOWE_TEAM_CONFIG=<ZOWE_TEAM_CONFIG> -e ZOSMF_PROFILE=<ZOSMF_PROFILE> -e LOG_LEVEL=<LOG_LEVEL> -e MCP_TRANSPORT=<MCP_TRANSPORT> -e MCP_SSE_PORT=<MCP_SSE_PORT> -e MAX_JOB_OUTPUT_LINES=<MAX_JOB_OUTPUT_LINES> -e MAX_DATASET_READ_LINES=<MAX_DATASET_READ_LINES> -e MAX_JES_SPOOL_FILES=<MAX_JES_SPOOL_FILES> -e MAX_AUDIT_LINES=<MAX_AUDIT_LINES> -e CMCI_CONTEXT=<CMCI_CONTEXT> -e CMCI_HOST=<CMCI_HOST> -e CMCI_PORT=<CMCI_PORT> -e CMCI_BASE_PATH=<CMCI_BASE_PATH> -e DB2_LOCATION=<DB2_LOCATION> -e DB2_HOST=<DB2_HOST> -e DB2_PORT=<DB2_PORT> -e DB2_BASE_PATH=<DB2_BASE_PATH> -e SMF_SUMMARY_DATASET=<SMF_SUMMARY_DATASET> -e RMF_METRICS_ENABLED=<RMF_METRICS_ENABLED> -e RACF_AUDIT_USS_PATH=<RACF_AUDIT_USS_PATH> -e RACF_AUDIT_DATASET=<RACF_AUDIT_DATASET> -e SECURITY_READ_ONLY=<SECURITY_READ_ONLY> -e SECURITY_ALLOWED_TOOLS=<SECURITY_ALLOWED_TOOLS> -e SECURITY_BLOCKED_TOOLS=<SECURITY_BLOCKED_TOOLS> -e SECURITY_ALLOWED_DATASET_PATTERNS=<SECURITY_ALLOWED_DATASET_PATTERNS> -e SECURITY_ALLOWED_USS_PATHS=<SECURITY_ALLOWED_USS_PATHS> -e SECURITY_AUDIT_LOGGING=<SECURITY_AUDIT_LOGGING> -e SECURITY_MAX_JCL_BYTES=<SECURITY_MAX_JCL_BYTES> -e SECURITY_WRITE_APPROVAL=<SECURITY_WRITE_APPROVAL> -e SECURITY_JCL_SCAN=<SECURITY_JCL_SCAN> -e SECURITY_JCL_SCAN_STRICT=<SECURITY_JCL_SCAN_STRICT> -e SECURITY_BLOCKED_PROGRAMS=<SECURITY_BLOCKED_PROGRAMS> -e SECURITY_BLOCKED_JOB_CLASSES=<SECURITY_BLOCKED_JOB_CLASSES> -e SECURITY_CHANGE_TICKET_PATTERN=<SECURITY_CHANGE_TICKET_PATTERN> -e SECURITY_WRITE_WINDOW=<SECURITY_WRITE_WINDOW> -e SECURITY_WRITE_DAYS=<SECURITY_WRITE_DAYS> -e SECURITY_WRITE_WINDOW_TZ=<SECURITY_WRITE_WINDOW_TZ> -- npx -y @notharshhaa/[email protected]
{
"mcpServers": {
"mainframe-mcp-server": {
"command": "npx",
"args": [
"-y",
"@notharshhaa/[email protected]"
],
"env": {
"ZOSMF_HOST": "<ZOSMF_HOST>",
"ZOSMF_PORT": "<ZOSMF_PORT>",
"ZOSMF_BASE_PATH": "<ZOSMF_BASE_PATH>",
"ZOSMF_USER": "<ZOSMF_USER>",
"ZOSMF_PASSWORD": "<ZOSMF_PASSWORD>",
"ZOSMF_TOKEN": "<ZOSMF_TOKEN>",
"ZOSMF_TOKEN_TYPE": "<ZOSMF_TOKEN_TYPE>",
"ZOSMF_REJECT_UNAUTHORIZED": "<ZOSMF_REJECT_UNAUTHORIZED>",
"ZOSMF_CERT": "<ZOSMF_CERT>",
"ZOSMF_CERT_KEY": "<ZOSMF_CERT_KEY>",
"ZOSMF_TOKEN_FILE": "<ZOSMF_TOKEN_FILE>",
"ZOSMF_USER_ID": "<ZOSMF_USER_ID>",
"ZOSMF_PASSTICKET_APP": "<ZOSMF_PASSTICKET_APP>",
"ZOWE_TEAM_CONFIG": "<ZOWE_TEAM_CONFIG>",
"ZOSMF_PROFILE": "<ZOSMF_PROFILE>",
"LOG_LEVEL": "<LOG_LEVEL>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"MCP_SSE_PORT": "<MCP_SSE_PORT>",
"MAX_JOB_OUTPUT_LINES": "<MAX_JOB_OUTPUT_LINES>",
"MAX_DATASET_READ_LINES": "<MAX_DATASET_READ_LINES>",
"MAX_JES_SPOOL_FILES": "<MAX_JES_SPOOL_FILES>",
"MAX_AUDIT_LINES": "<MAX_AUDIT_LINES>",
"CMCI_CONTEXT": "<CMCI_CONTEXT>",
"CMCI_HOST": "<CMCI_HOST>",
"CMCI_PORT": "<CMCI_PORT>",
"CMCI_BASE_PATH": "<CMCI_BASE_PATH>",
"DB2_LOCATION": "<DB2_LOCATION>",
"DB2_HOST": "<DB2_HOST>",
"DB2_PORT": "<DB2_PORT>",
"DB2_BASE_PATH": "<DB2_BASE_PATH>",
"SMF_SUMMARY_DATASET": "<SMF_SUMMARY_DATASET>",
"RMF_METRICS_ENABLED": "<RMF_METRICS_ENABLED>",
"RACF_AUDIT_USS_PATH": "<RACF_AUDIT_USS_PATH>",
"RACF_AUDIT_DATASET": "<RACF_AUDIT_DATASET>",
"SECURITY_READ_ONLY": "<SECURITY_READ_ONLY>",
"SECURITY_ALLOWED_TOOLS": "<SECURITY_ALLOWED_TOOLS>",
"SECURITY_BLOCKED_TOOLS": "<SECURITY_BLOCKED_TOOLS>",
"SECURITY_ALLOWED_DATASET_PATTERNS": "<SECURITY_ALLOWED_DATASET_PATTERNS>",
"SECURITY_ALLOWED_USS_PATHS": "<SECURITY_ALLOWED_USS_PATHS>",
"SECURITY_AUDIT_LOGGING": "<SECURITY_AUDIT_LOGGING>",
"SECURITY_MAX_JCL_BYTES": "<SECURITY_MAX_JCL_BYTES>",
"SECURITY_WRITE_APPROVAL": "<SECURITY_WRITE_APPROVAL>",
"SECURITY_JCL_SCAN": "<SECURITY_JCL_SCAN>",
"SECURITY_JCL_SCAN_STRICT": "<SECURITY_JCL_SCAN_STRICT>",
"SECURITY_BLOCKED_PROGRAMS": "<SECURITY_BLOCKED_PROGRAMS>",
"SECURITY_BLOCKED_JOB_CLASSES": "<SECURITY_BLOCKED_JOB_CLASSES>",
"SECURITY_CHANGE_TICKET_PATTERN": "<SECURITY_CHANGE_TICKET_PATTERN>",
"SECURITY_WRITE_WINDOW": "<SECURITY_WRITE_WINDOW>",
"SECURITY_WRITE_DAYS": "<SECURITY_WRITE_DAYS>",
"SECURITY_WRITE_WINDOW_TZ": "<SECURITY_WRITE_WINDOW_TZ>"
}
}
}
}
{
"mcpServers": {
"mainframe-mcp-server": {
"command": "npx",
"args": [
"-y",
"@notharshhaa/[email protected]"
],
"env": {
"ZOSMF_HOST": "<ZOSMF_HOST>",
"ZOSMF_PORT": "<ZOSMF_PORT>",
"ZOSMF_BASE_PATH": "<ZOSMF_BASE_PATH>",
"ZOSMF_USER": "<ZOSMF_USER>",
"ZOSMF_PASSWORD": "<ZOSMF_PASSWORD>",
"ZOSMF_TOKEN": "<ZOSMF_TOKEN>",
"ZOSMF_TOKEN_TYPE": "<ZOSMF_TOKEN_TYPE>",
"ZOSMF_REJECT_UNAUTHORIZED": "<ZOSMF_REJECT_UNAUTHORIZED>",
"ZOSMF_CERT": "<ZOSMF_CERT>",
"ZOSMF_CERT_KEY": "<ZOSMF_CERT_KEY>",
"ZOSMF_TOKEN_FILE": "<ZOSMF_TOKEN_FILE>",
"ZOSMF_USER_ID": "<ZOSMF_USER_ID>",
"ZOSMF_PASSTICKET_APP": "<ZOSMF_PASSTICKET_APP>",
"ZOWE_TEAM_CONFIG": "<ZOWE_TEAM_CONFIG>",
"ZOSMF_PROFILE": "<ZOSMF_PROFILE>",
"LOG_LEVEL": "<LOG_LEVEL>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"MCP_SSE_PORT": "<MCP_SSE_PORT>",
"MAX_JOB_OUTPUT_LINES": "<MAX_JOB_OUTPUT_LINES>",
"MAX_DATASET_READ_LINES": "<MAX_DATASET_READ_LINES>",
"MAX_JES_SPOOL_FILES": "<MAX_JES_SPOOL_FILES>",
"MAX_AUDIT_LINES": "<MAX_AUDIT_LINES>",
"CMCI_CONTEXT": "<CMCI_CONTEXT>",
"CMCI_HOST": "<CMCI_HOST>",
"CMCI_PORT": "<CMCI_PORT>",
"CMCI_BASE_PATH": "<CMCI_BASE_PATH>",
"DB2_LOCATION": "<DB2_LOCATION>",
"DB2_HOST": "<DB2_HOST>",
"DB2_PORT": "<DB2_PORT>",
"DB2_BASE_PATH": "<DB2_BASE_PATH>",
"SMF_SUMMARY_DATASET": "<SMF_SUMMARY_DATASET>",
"RMF_METRICS_ENABLED": "<RMF_METRICS_ENABLED>",
"RACF_AUDIT_USS_PATH": "<RACF_AUDIT_USS_PATH>",
"RACF_AUDIT_DATASET": "<RACF_AUDIT_DATASET>",
"SECURITY_READ_ONLY": "<SECURITY_READ_ONLY>",
"SECURITY_ALLOWED_TOOLS": "<SECURITY_ALLOWED_TOOLS>",
"SECURITY_BLOCKED_TOOLS": "<SECURITY_BLOCKED_TOOLS>",
"SECURITY_ALLOWED_DATASET_PATTERNS": "<SECURITY_ALLOWED_DATASET_PATTERNS>",
"SECURITY_ALLOWED_USS_PATHS": "<SECURITY_ALLOWED_USS_PATHS>",
"SECURITY_AUDIT_LOGGING": "<SECURITY_AUDIT_LOGGING>",
"SECURITY_MAX_JCL_BYTES": "<SECURITY_MAX_JCL_BYTES>",
"SECURITY_WRITE_APPROVAL": "<SECURITY_WRITE_APPROVAL>",
"SECURITY_JCL_SCAN": "<SECURITY_JCL_SCAN>",
"SECURITY_JCL_SCAN_STRICT": "<SECURITY_JCL_SCAN_STRICT>",
"SECURITY_BLOCKED_PROGRAMS": "<SECURITY_BLOCKED_PROGRAMS>",
"SECURITY_BLOCKED_JOB_CLASSES": "<SECURITY_BLOCKED_JOB_CLASSES>",
"SECURITY_CHANGE_TICKET_PATTERN": "<SECURITY_CHANGE_TICKET_PATTERN>",
"SECURITY_WRITE_WINDOW": "<SECURITY_WRITE_WINDOW>",
"SECURITY_WRITE_DAYS": "<SECURITY_WRITE_DAYS>",
"SECURITY_WRITE_WINDOW_TZ": "<SECURITY_WRITE_WINDOW_TZ>"
}
}
}
}
{
"servers": {
"mainframe-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@notharshhaa/[email protected]"
],
"env": {
"ZOSMF_HOST": "<ZOSMF_HOST>",
"ZOSMF_PORT": "<ZOSMF_PORT>",
"ZOSMF_BASE_PATH": "<ZOSMF_BASE_PATH>",
"ZOSMF_USER": "<ZOSMF_USER>",
"ZOSMF_PASSWORD": "<ZOSMF_PASSWORD>",
"ZOSMF_TOKEN": "<ZOSMF_TOKEN>",
"ZOSMF_TOKEN_TYPE": "<ZOSMF_TOKEN_TYPE>",
"ZOSMF_REJECT_UNAUTHORIZED": "<ZOSMF_REJECT_UNAUTHORIZED>",
"ZOSMF_CERT": "<ZOSMF_CERT>",
"ZOSMF_CERT_KEY": "<ZOSMF_CERT_KEY>",
"ZOSMF_TOKEN_FILE": "<ZOSMF_TOKEN_FILE>",
"ZOSMF_USER_ID": "<ZOSMF_USER_ID>",
"ZOSMF_PASSTICKET_APP": "<ZOSMF_PASSTICKET_APP>",
"ZOWE_TEAM_CONFIG": "<ZOWE_TEAM_CONFIG>",
"ZOSMF_PROFILE": "<ZOSMF_PROFILE>",
"LOG_LEVEL": "<LOG_LEVEL>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"MCP_SSE_PORT": "<MCP_SSE_PORT>",
"MAX_JOB_OUTPUT_LINES": "<MAX_JOB_OUTPUT_LINES>",
"MAX_DATASET_READ_LINES": "<MAX_DATASET_READ_LINES>",
"MAX_JES_SPOOL_FILES": "<MAX_JES_SPOOL_FILES>",
"MAX_AUDIT_LINES": "<MAX_AUDIT_LINES>",
"CMCI_CONTEXT": "<CMCI_CONTEXT>",
"CMCI_HOST": "<CMCI_HOST>",
"CMCI_PORT": "<CMCI_PORT>",
"CMCI_BASE_PATH": "<CMCI_BASE_PATH>",
"DB2_LOCATION": "<DB2_LOCATION>",
"DB2_HOST": "<DB2_HOST>",
"DB2_PORT": "<DB2_PORT>",
"DB2_BASE_PATH": "<DB2_BASE_PATH>",
"SMF_SUMMARY_DATASET": "<SMF_SUMMARY_DATASET>",
"RMF_METRICS_ENABLED": "<RMF_METRICS_ENABLED>",
"RACF_AUDIT_USS_PATH": "<RACF_AUDIT_USS_PATH>",
"RACF_AUDIT_DATASET": "<RACF_AUDIT_DATASET>",
"SECURITY_READ_ONLY": "<SECURITY_READ_ONLY>",
"SECURITY_ALLOWED_TOOLS": "<SECURITY_ALLOWED_TOOLS>",
"SECURITY_BLOCKED_TOOLS": "<SECURITY_BLOCKED_TOOLS>",
"SECURITY_ALLOWED_DATASET_PATTERNS": "<SECURITY_ALLOWED_DATASET_PATTERNS>",
"SECURITY_ALLOWED_USS_PATHS": "<SECURITY_ALLOWED_USS_PATHS>",
"SECURITY_AUDIT_LOGGING": "<SECURITY_AUDIT_LOGGING>",
"SECURITY_MAX_JCL_BYTES": "<SECURITY_MAX_JCL_BYTES>",
"SECURITY_WRITE_APPROVAL": "<SECURITY_WRITE_APPROVAL>",
"SECURITY_JCL_SCAN": "<SECURITY_JCL_SCAN>",
"SECURITY_JCL_SCAN_STRICT": "<SECURITY_JCL_SCAN_STRICT>",
"SECURITY_BLOCKED_PROGRAMS": "<SECURITY_BLOCKED_PROGRAMS>",
"SECURITY_BLOCKED_JOB_CLASSES": "<SECURITY_BLOCKED_JOB_CLASSES>",
"SECURITY_CHANGE_TICKET_PATTERN": "<SECURITY_CHANGE_TICKET_PATTERN>",
"SECURITY_WRITE_WINDOW": "<SECURITY_WRITE_WINDOW>",
"SECURITY_WRITE_DAYS": "<SECURITY_WRITE_DAYS>",
"SECURITY_WRITE_WINDOW_TZ": "<SECURITY_WRITE_WINDOW_TZ>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
ZOSMF_HOSTRequired | z/OSMF hostname or IP address |
ZOSMF_PORTOptional | z/OSMF HTTPS port (default 443) |
ZOSMF_BASE_PATHOptional | Optional API gateway or mediation layer prefix for z/OSMF |
ZOSMF_USEROptional | z/OS user id (required with ZOSMF_PASSWORD unless ZOSMF_TOKEN is set) |
ZOSMF_PASSWORDOptional, secret | Password for basic auth (required with ZOSMF_USER unless ZOSMF_TOKEN is set) |
ZOSMF_TOKENOptional, secret | Auth token (alternative to user/password) |
ZOSMF_TOKEN_TYPEOptional | Token type when using ZOSMF_TOKEN (e.g. LTPA2) |
ZOSMF_REJECT_UNAUTHORIZEDOptional | Verify TLS certificates (true in production) |
ZOSMF_CERTOptional | PEM client certificate file path for mTLS auth |
ZOSMF_CERT_KEYOptional | PEM client key file path for mTLS auth (required with ZOSMF_CERT) |
ZOSMF_TOKEN_FILEOptional | Read ZOSMF_TOKEN from this file at startup (vault/agent injection) |
ZOSMF_USER_IDOptional | End-user id for PassTicket identity propagation (RACF sees this user, not the service account) |
ZOSMF_PASSTICKET_APPOptional | RACF PTKTDATA application name for PassTicket generation (default ZOSMF) |
ZOWE_TEAM_CONFIGOptional | Path to a zowe.config.json to import connection settings from (env vars win) |
ZOSMF_PROFILEOptional | Profile name inside the Zowe team config (defaults to defaults.zosmf) |
LOG_LEVELOptional | Log level: fatal, error, warn, info, debug, trace, silent |
MCP_TRANSPORTOptional | Transport: stdio (IDE) or sse (legacy HTTP+SSE for container/network deployments) |
MCP_SSE_PORTOptional | Listen port when MCP_TRANSPORT=sse |
MAX_JOB_OUTPUT_LINESOptional | Max lines returned from a single spool DD |
MAX_DATASET_READ_LINESOptional | Max lines returned from dataset or USS reads |
MAX_JES_SPOOL_FILESOptional | Max spool files fetched during diagnostics |
MAX_AUDIT_LINESOptional | Max RACF audit log lines per query |
CMCI_CONTEXTOptional | CICSplex name or region APPLID (required for CICS tools) |
CMCI_HOSTOptional | CMCI hostname (defaults to ZOSMF_HOST) |
CMCI_PORTOptional | CMCI HTTPS port (default 1490) |
CMCI_BASE_PATHOptional | CMCI REST base path |
DB2_LOCATIONOptional | Db2 subsystem location name (required for Db2 tools) |
DB2_HOSTOptional | Db2 REST hostname (defaults to ZOSMF_HOST) |
DB2_PORTOptional | Db2 REST port (default 50400) |
DB2_BASE_PATHOptional | Db2 REST base path |
SMF_SUMMARY_DATASETOptional | Optional SMF summary dataset for offline metrics |
RMF_METRICS_ENABLEDOptional | Query z/OSMF RMF metrics when available |
RACF_AUDIT_USS_PATHOptional | USS path to RACF audit log file |
RACF_AUDIT_DATASETOptional | Sequential dataset containing RACF audit records |
SECURITY_READ_ONLYOptional | When true (default), blocks write tools such as submit_jcl |
SECURITY_ALLOWED_TOOLSOptional | Comma-separated allowlist of MCP tool names |
SECURITY_BLOCKED_TOOLSOptional | Comma-separated blocklist of MCP tool names |
SECURITY_ALLOWED_DATASET_PATTERNSOptional | Comma-separated dataset patterns (e.g. USERDEV.*,SYS1.*) |
SECURITY_ALLOWED_USS_PATHSOptional | Comma-separated USS path prefixes |
SECURITY_AUDIT_LOGGINGOptional | Log every tool invocation to stderr (SIEM-friendly JSON) |
SECURITY_MAX_JCL_BYTESOptional | Maximum inline JCL size for submit_jcl |
SECURITY_WRITE_APPROVALOptional | Human-in-the-loop: submit_jcl returns a one-time token and approve_write executes (default false) |
SECURITY_JCL_SCANOptional | Pre-flight scan JCL before submission: IDCAMS DELETE, IEFBR14 DISP DELETE, blocked utilities (default true) |
SECURITY_JCL_SCAN_STRICTOptional | Strict scan mode: WARN findings also block submissions (default false) |
SECURITY_BLOCKED_PROGRAMSOptional | Comma-separated EXEC programs that may never run (extends ADRDSSU,ICKDSF,IEHINITT) |
SECURITY_BLOCKED_JOB_CLASSESOptional | Comma-separated JES job classes that may never be used |
SECURITY_CHANGE_TICKET_PATTERNOptional | Regex a changeTicket argument must match on writes, e.g. CHG[0-9]{6} |
SECURITY_WRITE_WINDOWOptional | Allowed write window, 24h HH:MM-HH:MM (overnight ranges allowed), e.g. 08:00-18:00 |
SECURITY_WRITE_DAYSOptional | Weekdays writes are allowed: 0=Sun..6=Sat, e.g. 1-5 |
SECURITY_WRITE_WINDOW_TZOptional | IANA timezone for the write window (default UTC) |
Details
| Package | @notharshhaa/[email protected] (NPM, stdio) |
| First published | 25 Oct 2026 |
| Last updated | 25 Oct 2026 |
| Registry name | io.github.NotHarshhaa/mainframe-mcp-server |
More developer tools servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
