Mainframe MCP Server
Overview
Description from the maker (original English)
MCP server for IBM z/OS jobs, datasets, USS, and operational diagnostics via Zowe SDK.
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi2 of 2 passedChecked from public information; code not scanned yet
- UsageiVery new↓ 62/wk · ★ 0
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs on your computer
- Transport: stdio
- Category: Databases & datasets
- You need to fill in: ZOSMF_HOST, ZOSMF_PASSWORD, ZOSMF_TOKEN
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 2 of 2 passed
- Runs on your computer with your user’s permissions (files, network, apps).
- You fill in yourself:
ZOSMF_HOST,ZOSMF_PORT,ZOSMF_BASE_PATH,ZOSMF_USER,ZOSMF_PASSWORD,ZOSMF_TOKEN,ZOSMF_TOKEN_TYPE,ZOSMF_REJECT_UNAUTHORIZED,ZOSMF_CERT,ZOSMF_CERT_KEY,ZOSMF_TOKEN_FILE,ZOSMF_USER_ID,ZOSMF_PASSTICKET_APP,ZOWE_TEAM_CONFIG,ZOSMF_PROFILE,LOG_LEVEL,MCP_TRANSPORT,MCP_SSE_PORT,MAX_JOB_OUTPUT_LINES,MAX_DATASET_READ_LINES,MAX_JES_SPOOL_FILES,MAX_AUDIT_LINES,CMCI_CONTEXT,CMCI_HOST,CMCI_PORT,CMCI_BASE_PATH,DB2_LOCATION,DB2_HOST,DB2_PORT,DB2_BASE_PATH,SMF_SUMMARY_DATASET,RMF_METRICS_ENABLED,RACF_AUDIT_USS_PATH,RACF_AUDIT_DATASET,SECURITY_READ_ONLY,SECURITY_ALLOWED_TOOLS,SECURITY_BLOCKED_TOOLS,SECURITY_ALLOWED_DATASET_PATTERNS,SECURITY_ALLOWED_USS_PATHS,SECURITY_AUDIT_LOGGING,SECURITY_MAX_JCL_BYTES,SECURITY_WRITE_APPROVAL,SECURITY_JCL_SCAN,SECURITY_JCL_SCAN_STRICT,SECURITY_BLOCKED_PROGRAMS,SECURITY_BLOCKED_JOB_CLASSES,SECURITY_CHANGE_TICKET_PATTERN,SECURITY_WRITE_WINDOW,SECURITY_WRITE_DAYS,SECURITY_WRITE_WINDOW_TZ
Values marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"mainframe": {
"command": "npx",
"args": [
"-y",
"@notharshhaa/mainframe-mcp-server"
],
"env": {
"ZOSMF_HOST": "your-value",
"ZOSMF_PORT": "your-value",
"ZOSMF_BASE_PATH": "your-value",
"ZOSMF_USER": "your-value",
"ZOSMF_PASSWORD": "your-value",
"ZOSMF_TOKEN": "your-value",
"ZOSMF_TOKEN_TYPE": "your-value",
"ZOSMF_REJECT_UNAUTHORIZED": "your-value",
"ZOSMF_CERT": "your-value",
"ZOSMF_CERT_KEY": "your-value",
"ZOSMF_TOKEN_FILE": "your-value",
"ZOSMF_USER_ID": "your-value",
"ZOSMF_PASSTICKET_APP": "your-value",
"ZOWE_TEAM_CONFIG": "your-value",
"ZOSMF_PROFILE": "your-value",
"LOG_LEVEL": "your-value",
"MCP_TRANSPORT": "your-value",
"MCP_SSE_PORT": "your-value",
"MAX_JOB_OUTPUT_LINES": "your-value",
"MAX_DATASET_READ_LINES": "your-value",
"MAX_JES_SPOOL_FILES": "your-value",
"MAX_AUDIT_LINES": "your-value",
"CMCI_CONTEXT": "your-value",
"CMCI_HOST": "your-value",
"CMCI_PORT": "your-value",
"CMCI_BASE_PATH": "your-value",
"DB2_LOCATION": "your-value",
"DB2_HOST": "your-value",
"DB2_PORT": "your-value",
"DB2_BASE_PATH": "your-value",
"SMF_SUMMARY_DATASET": "your-value",
"RMF_METRICS_ENABLED": "your-value",
"RACF_AUDIT_USS_PATH": "your-value",
"RACF_AUDIT_DATASET": "your-value",
"SECURITY_READ_ONLY": "your-value",
"SECURITY_ALLOWED_TOOLS": "your-value",
"SECURITY_BLOCKED_TOOLS": "your-value",
"SECURITY_ALLOWED_DATASET_PATTERNS": "your-value",
"SECURITY_ALLOWED_USS_PATHS": "your-value",
"SECURITY_AUDIT_LOGGING": "your-value",
"SECURITY_MAX_JCL_BYTES": "your-value",
"SECURITY_WRITE_APPROVAL": "your-value",
"SECURITY_JCL_SCAN": "your-value",
"SECURITY_JCL_SCAN_STRICT": "your-value",
"SECURITY_BLOCKED_PROGRAMS": "your-value",
"SECURITY_BLOCKED_JOB_CLASSES": "your-value",
"SECURITY_CHANGE_TICKET_PATTERN": "your-value",
"SECURITY_WRITE_WINDOW": "your-value",
"SECURITY_WRITE_DAYS": "your-value",
"SECURITY_WRITE_WINDOW_TZ": "your-value"
}
}
}
}Run this in your terminal
claude mcp add mainframe --env ZOSMF_HOST=your-value --env ZOSMF_PORT=your-value --env ZOSMF_BASE_PATH=your-value --env ZOSMF_USER=your-value --env ZOSMF_PASSWORD=your-value --env ZOSMF_TOKEN=your-value --env ZOSMF_TOKEN_TYPE=your-value --env ZOSMF_REJECT_UNAUTHORIZED=your-value --env ZOSMF_CERT=your-value --env ZOSMF_CERT_KEY=your-value --env ZOSMF_TOKEN_FILE=your-value --env ZOSMF_USER_ID=your-value --env ZOSMF_PASSTICKET_APP=your-value --env ZOWE_TEAM_CONFIG=your-value --env ZOSMF_PROFILE=your-value --env LOG_LEVEL=your-value --env MCP_TRANSPORT=your-value --env MCP_SSE_PORT=your-value --env MAX_JOB_OUTPUT_LINES=your-value --env MAX_DATASET_READ_LINES=your-value --env MAX_JES_SPOOL_FILES=your-value --env MAX_AUDIT_LINES=your-value --env CMCI_CONTEXT=your-value --env CMCI_HOST=your-value --env CMCI_PORT=your-value --env CMCI_BASE_PATH=your-value --env DB2_LOCATION=your-value --env DB2_HOST=your-value --env DB2_PORT=your-value --env DB2_BASE_PATH=your-value --env SMF_SUMMARY_DATASET=your-value --env RMF_METRICS_ENABLED=your-value --env RACF_AUDIT_USS_PATH=your-value --env RACF_AUDIT_DATASET=your-value --env SECURITY_READ_ONLY=your-value --env SECURITY_ALLOWED_TOOLS=your-value --env SECURITY_BLOCKED_TOOLS=your-value --env SECURITY_ALLOWED_DATASET_PATTERNS=your-value --env SECURITY_ALLOWED_USS_PATHS=your-value --env SECURITY_AUDIT_LOGGING=your-value --env SECURITY_MAX_JCL_BYTES=your-value --env SECURITY_WRITE_APPROVAL=your-value --env SECURITY_JCL_SCAN=your-value --env SECURITY_JCL_SCAN_STRICT=your-value --env SECURITY_BLOCKED_PROGRAMS=your-value --env SECURITY_BLOCKED_JOB_CLASSES=your-value --env SECURITY_CHANGE_TICKET_PATTERN=your-value --env SECURITY_WRITE_WINDOW=your-value --env SECURITY_WRITE_DAYS=your-value --env SECURITY_WRITE_WINDOW_TZ=your-value -- npx -y @notharshhaa/mainframe-mcp-serverFill in the empty values before running it.
Or copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mainframe": {
"command": "npx",
"args": [
"-y",
"@notharshhaa/mainframe-mcp-server"
],
"env": {
"ZOSMF_HOST": "your-value",
"ZOSMF_PORT": "your-value",
"ZOSMF_BASE_PATH": "your-value",
"ZOSMF_USER": "your-value",
"ZOSMF_PASSWORD": "your-value",
"ZOSMF_TOKEN": "your-value",
"ZOSMF_TOKEN_TYPE": "your-value",
"ZOSMF_REJECT_UNAUTHORIZED": "your-value",
"ZOSMF_CERT": "your-value",
"ZOSMF_CERT_KEY": "your-value",
"ZOSMF_TOKEN_FILE": "your-value",
"ZOSMF_USER_ID": "your-value",
"ZOSMF_PASSTICKET_APP": "your-value",
"ZOWE_TEAM_CONFIG": "your-value",
"ZOSMF_PROFILE": "your-value",
"LOG_LEVEL": "your-value",
"MCP_TRANSPORT": "your-value",
"MCP_SSE_PORT": "your-value",
"MAX_JOB_OUTPUT_LINES": "your-value",
"MAX_DATASET_READ_LINES": "your-value",
"MAX_JES_SPOOL_FILES": "your-value",
"MAX_AUDIT_LINES": "your-value",
"CMCI_CONTEXT": "your-value",
"CMCI_HOST": "your-value",
"CMCI_PORT": "your-value",
"CMCI_BASE_PATH": "your-value",
"DB2_LOCATION": "your-value",
"DB2_HOST": "your-value",
"DB2_PORT": "your-value",
"DB2_BASE_PATH": "your-value",
"SMF_SUMMARY_DATASET": "your-value",
"RMF_METRICS_ENABLED": "your-value",
"RACF_AUDIT_USS_PATH": "your-value",
"RACF_AUDIT_DATASET": "your-value",
"SECURITY_READ_ONLY": "your-value",
"SECURITY_ALLOWED_TOOLS": "your-value",
"SECURITY_BLOCKED_TOOLS": "your-value",
"SECURITY_ALLOWED_DATASET_PATTERNS": "your-value",
"SECURITY_ALLOWED_USS_PATHS": "your-value",
"SECURITY_AUDIT_LOGGING": "your-value",
"SECURITY_MAX_JCL_BYTES": "your-value",
"SECURITY_WRITE_APPROVAL": "your-value",
"SECURITY_JCL_SCAN": "your-value",
"SECURITY_JCL_SCAN_STRICT": "your-value",
"SECURITY_BLOCKED_PROGRAMS": "your-value",
"SECURITY_BLOCKED_JOB_CLASSES": "your-value",
"SECURITY_CHANGE_TICKET_PATTERN": "your-value",
"SECURITY_WRITE_WINDOW": "your-value",
"SECURITY_WRITE_DAYS": "your-value",
"SECURITY_WRITE_WINDOW_TZ": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"mainframe": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@notharshhaa/mainframe-mcp-server"
],
"env": {
"ZOSMF_HOST": "your-value",
"ZOSMF_PORT": "your-value",
"ZOSMF_BASE_PATH": "your-value",
"ZOSMF_USER": "your-value",
"ZOSMF_PASSWORD": "your-value",
"ZOSMF_TOKEN": "your-value",
"ZOSMF_TOKEN_TYPE": "your-value",
"ZOSMF_REJECT_UNAUTHORIZED": "your-value",
"ZOSMF_CERT": "your-value",
"ZOSMF_CERT_KEY": "your-value",
"ZOSMF_TOKEN_FILE": "your-value",
"ZOSMF_USER_ID": "your-value",
"ZOSMF_PASSTICKET_APP": "your-value",
"ZOWE_TEAM_CONFIG": "your-value",
"ZOSMF_PROFILE": "your-value",
"LOG_LEVEL": "your-value",
"MCP_TRANSPORT": "your-value",
"MCP_SSE_PORT": "your-value",
"MAX_JOB_OUTPUT_LINES": "your-value",
"MAX_DATASET_READ_LINES": "your-value",
"MAX_JES_SPOOL_FILES": "your-value",
"MAX_AUDIT_LINES": "your-value",
"CMCI_CONTEXT": "your-value",
"CMCI_HOST": "your-value",
"CMCI_PORT": "your-value",
"CMCI_BASE_PATH": "your-value",
"DB2_LOCATION": "your-value",
"DB2_HOST": "your-value",
"DB2_PORT": "your-value",
"DB2_BASE_PATH": "your-value",
"SMF_SUMMARY_DATASET": "your-value",
"RMF_METRICS_ENABLED": "your-value",
"RACF_AUDIT_USS_PATH": "your-value",
"RACF_AUDIT_DATASET": "your-value",
"SECURITY_READ_ONLY": "your-value",
"SECURITY_ALLOWED_TOOLS": "your-value",
"SECURITY_BLOCKED_TOOLS": "your-value",
"SECURITY_ALLOWED_DATASET_PATTERNS": "your-value",
"SECURITY_ALLOWED_USS_PATHS": "your-value",
"SECURITY_AUDIT_LOGGING": "your-value",
"SECURITY_MAX_JCL_BYTES": "your-value",
"SECURITY_WRITE_APPROVAL": "your-value",
"SECURITY_JCL_SCAN": "your-value",
"SECURITY_JCL_SCAN_STRICT": "your-value",
"SECURITY_BLOCKED_PROGRAMS": "your-value",
"SECURITY_BLOCKED_JOB_CLASSES": "your-value",
"SECURITY_CHANGE_TICKET_PATTERN": "your-value",
"SECURITY_WRITE_WINDOW": "your-value",
"SECURITY_WRITE_DAYS": "your-value",
"SECURITY_WRITE_WINDOW_TZ": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
Values you fill in
- z/OSMF hostname or IP address
ZOSMF_PORTenvz/OSMF HTTPS port (default 443)ZOSMF_BASE_PATHenvOptional API gateway or mediation layer prefix for z/OSMFZOSMF_USERenvz/OS user id (required with ZOSMF_PASSWORD unless ZOSMF_TOKEN is set)- Password for basic auth (required with ZOSMF_USER unless ZOSMF_TOKEN is set)
- Auth token (alternative to user/password)
ZOSMF_TOKEN_TYPEenvToken type when using ZOSMF_TOKEN (e.g. LTPA2)ZOSMF_REJECT_UNAUTHORIZEDenvVerify TLS certificates (true in production)ZOSMF_CERTenvPEM client certificate file path for mTLS authZOSMF_CERT_KEYenvPEM client key file path for mTLS auth (required with ZOSMF_CERT)ZOSMF_TOKEN_FILEenvRead ZOSMF_TOKEN from this file at startup (vault/agent injection)ZOSMF_USER_IDenvEnd-user id for PassTicket identity propagation (RACF sees this user, not the service account)ZOSMF_PASSTICKET_APPenvRACF PTKTDATA application name for PassTicket generation (default ZOSMF)ZOWE_TEAM_CONFIGenvPath to a zowe.config.json to import connection settings from (env vars win)ZOSMF_PROFILEenvProfile name inside the Zowe team config (defaults to defaults.zosmf)LOG_LEVELenvLog level: fatal, error, warn, info, debug, trace, silentMCP_TRANSPORTenvMCP_SSE_PORTenvListen port when MCP_TRANSPORT=sseMAX_JOB_OUTPUT_LINESenvMax lines returned from a single spool DDMAX_DATASET_READ_LINESenvMax lines returned from dataset or USS readsMAX_JES_SPOOL_FILESenvMax spool files fetched during diagnosticsMAX_AUDIT_LINESenvMax RACF audit log lines per queryCMCI_CONTEXTenvCICSplex name or region APPLID (required for CICS tools)CMCI_HOSTenvCMCI hostname (defaults to ZOSMF_HOST)CMCI_PORTenvCMCI HTTPS port (default 1490)CMCI_BASE_PATHenvCMCI REST base pathDB2_LOCATIONenvDb2 subsystem location name (required for Db2 tools)DB2_HOSTenvDb2 REST hostname (defaults to ZOSMF_HOST)DB2_PORTenvDb2 REST port (default 50400)DB2_BASE_PATHenvDb2 REST base pathSMF_SUMMARY_DATASETenvOptional SMF summary dataset for offline metricsRMF_METRICS_ENABLEDenvQuery z/OSMF RMF metrics when availableRACF_AUDIT_USS_PATHenvUSS path to RACF audit log fileRACF_AUDIT_DATASETenvSequential dataset containing RACF audit recordsSECURITY_READ_ONLYenvWhen true (default), blocks write tools such as submit_jclSECURITY_ALLOWED_TOOLSenvComma-separated allowlist of MCP tool namesSECURITY_BLOCKED_TOOLSenvComma-separated blocklist of MCP tool namesSECURITY_ALLOWED_DATASET_PATTERNSenvComma-separated dataset patterns (e.g. USERDEV.*,SYS1.*)SECURITY_ALLOWED_USS_PATHSenvComma-separated USS path prefixesSECURITY_AUDIT_LOGGINGenvLog every tool invocation to stderr (SIEM-friendly JSON)SECURITY_MAX_JCL_BYTESenvMaximum inline JCL size for submit_jclSECURITY_WRITE_APPROVALenvHuman-in-the-loop: submit_jcl returns a one-time token and approve_write executes (default false)SECURITY_JCL_SCANenvPre-flight scan JCL before submission: IDCAMS DELETE, IEFBR14 DISP DELETE, blocked utilities (default true)SECURITY_JCL_SCAN_STRICTenvStrict scan mode: WARN findings also block submissions (default false)SECURITY_BLOCKED_PROGRAMSenvComma-separated EXEC programs that may never run (extends ADRDSSU,ICKDSF,IEHINITT)SECURITY_BLOCKED_JOB_CLASSESenvComma-separated JES job classes that may never be usedSECURITY_CHANGE_TICKET_PATTERNenvRegex a changeTicket argument must match on writes, e.g. CHG[0-9]{6}SECURITY_WRITE_WINDOWenvAllowed write window, 24h HH:MM-HH:MM (overnight ranges allowed), e.g. 08:00-18:00SECURITY_WRITE_DAYSenvWeekdays writes are allowed: 0=Sun..6=Sat, e.g. 1-5SECURITY_WRITE_WINDOW_TZenvIANA timezone for the write window (default UTC)
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Which apps can use it
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
What it can do
Runs on your computer; the tool list appears in your AI app after you install it.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 10, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account NotHarshhaa, which owns the repo
- ✓ Pass
Still maintained
Code last changed 14 days ago
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- – Not applicable
Endpoint responds
This one runs on your computer; there is no internet endpoint
- – Not applicable
Sign-in with OAuth
Runs on your computer and uses local settings instead
- … Not checked yet
No hidden instructions in tool descriptions
Runs on your computer; we can only read tool lists from internet endpoints
Compared with others in Databases & datasetsi
- More stars than 0% of the other 1160 servers in this category
- Published to the registry more recently than 71% of the other 1160 servers in this category
- Basic checks equal to or better than 100% of the other 1160 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is Mainframe MCP Server safe?
It passed 2 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
You need to fill in: ZOSMF_HOST, ZOSMF_PASSWORD, ZOSMF_TOKEN
Does it run on my computer or in the cloud?
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
Is it still maintained?
The GitHub repo last changed 14 days ago, and the latest version (3.0.0) reached the registry 16 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
What can I use instead?
In the same category: Dbx, MCP Toolbox for Databases, MCP Toolbox for Databases
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Toolbox for Databases
MCP Toolbox for Databases enables your agent to connect to your database.
MCP Toolbox for Databases
MCP Toolbox for Databases enables your agent to connect to your database.
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
mainframe-mcp-server
MCP Server for IBM z/OS using Zowe APIs
An enterprise-grade Model Context Protocol (MCP) server for IBM z/OS environments.
Bridges MCP-compatible AI agents with mainframe resources — jobs, datasets, USS, and operational diagnostics — using the Zowe SDK (Open Mainframe Project) as the connectivity layer.
Contents
- What it does
- How it's different
- z/OS prerequisites
- Tools
- Prompts & resources (MCP-native surface)
- Enterprise security
- Enterprise features
- Per-user identity & SSO
- Governed writes
- Trust model & prompt injection
- How the intelligence tools work
- Incident management & runbooks
- Quick start
- Transports
- Limits & timeouts
- Troubleshooting & FAQ
- Examples
- Project & community
- License
- Trademarks
What it does
mainframe-mcp-server exposes z/OS capabilities as Model Context Protocol tools. An AI agent can list jobs, read datasets, inspect USS paths, submit JCL, and run operational diagnostics — without you writing Zowe CLI commands by hand.
Connectivity is handled by the Zowe SDK (Open Mainframe Project) over z/OSMF REST. This project adds the MCP tool layer, input validation, safety limits, and AI-friendly response formatting on top.
How it's different
| mainframe-mcp-server | Zowe CLI + scripts | Host IDE tooling (IDz, Z Open Editor) | Other z/OS MCP bridges | |
|---|---|---|---|---|
| Interface | MCP tools for AI agents | Terminal commands, shell scripts | Eclipse/VS Code GUIs | MCP tools for AI agents |
| Output | Structured sections & tables tuned for LLM reasoning | Raw terminal text you must parse yourself | IDE views | Varies by project |
| Guardrails | Read-only by default, tool allow/block lists, dataset & USS boundaries, audit logging, JCL size cap | None built in — you script them | Client-side only | Varies by project |
| Failure knowledge | Curated abend-code reference, failing-step heuristics, risk scoring | Manual message lookup | Interactive debugging | Rare |
| Install | npx — no server-side footprint beyond z/OSMF access | Node + Zowe CLI + your scripts | Full IDE estate | Often heavier runtimes |
| Coverage | Jobs, datasets, USS, CICS, Db2, SMF/RMF, RACF audit (30+ tools) | Full Zowe command set | Edit, debug, compile | Varies |
Honest positioning: the z/OS MCP ecosystem is early. IBM and community authors publish their own MCP bridges — evaluate them against your requirements. This project's differentiators are zero-dependency npm install, guardrails enforced at the server layer, and output shaped for LLM consumption rather than human eyes. It is not a replacement for Zowe CLI or IBM Z Open Editor — it is an MCP bridge over the same z/OSMF APIs.
z/OS prerequisites
The server is a pure client — nothing is installed on z/OS. It requires REST services that are enabled in standard z/OSMF estates.
z/OSMF (required — all core tools)
| z/OSMF REST service | Used by | Notes |
|---|---|---|
Jobs REST (/zosmf/restjobs/jobs) | list_jobs, get_job_status, get_job_output, get_job_jcl, submit_jcl, all operations & intelligence tools | List, query, spool content, JES submit |
Files REST — datasets (/zosmf/restfiles/ds) | list_datasets, search_dataset, read_dataset, search_members, get_dataset_info | Catalog list, members, content read |
Files REST — USS (/zosmf/restfiles/fs) | list_uss_directory, read_uss_file, search_uss_files, RACF audit source | Directory list, file read |
z/OSMF info (/info) | verify_zosmf_connection | Optional; version read-out only |
RMF REST (/rmf/mvs/GPO/) | get_smf_metrics | Optional; disabled with RMF_METRICS_ENABLED=false |
Baseline: z/OS 2.4 LTS or later with APAR-current z/OSMF — the target the Zowe SDK (v8) is built against. Core job/dataset/USS tools are expected to work on z/OSMF levels from z/OS 2.3 onward; if you run an older or unusual level, open an issue with your results so the matrix can be updated.
CICS via CMCI (optional — list_cics_regions, get_cics_region_status, list_cics_transactions)
- CICS TS 5.4 or later with CMCI active (a CICSPlex SM WUI region, or a single-region CMCI setup).
- Set
CMCI_CONTEXT(CICSplex name or region APPLID); optionallyCMCI_HOST,CMCI_PORT(default1490),CMCI_BASE_PATH(default/CICSSystemManagement). - The service account needs RACF/SAF authority to the CMCI data sets (
XCSDATA/CICSPLEXresource classes as configured at your site).
Db2 REST (optional — list_db2_subsystems, search_db2_catalog)
- Db2 12 for z/OS or later with the Db2 REST services capability exposed at
DB2_HOST:DB2_PORT(default50400, base path/dbrest) — direct DDF-served REST or fronted by your API mediation layer. - Set
DB2_LOCATION(the subsystem location name). Tools run read-only catalog SQL againstSYSIBM.SYSTABLESwith literal-escaped, size-capped input.
RACF audit source (optional — query_racf_audit)
- An existing audit extract the service account can read: a USS log file (
RACF_AUDIT_USS_PATH) or a sequential dataset (RACF_AUDIT_DATASET), e.g. ADUINFOS/IRRADU00 output written to file. The server parses the text; it does not run IRRADU00 for you.
Service account
Use a dedicated z/OS user with least-privilege RACF profiles (job list/read authority, submit authority only if SECURITY_READ_ONLY=false).
Tools
Type legend: READ — reads z/OS state, never modifies anything · WRITE — submits work to JES · OFFLINE — no mainframe I/O at all.
Jobs
| Tool | Type | Description |
|---|---|---|
list_jobs | READ | List jobs by owner, prefix, or status |
get_job_status | READ | Status and return code for a job |
get_job_output | READ | Spool inventory or DD content |
submit_jcl | WRITE | Submit inline JCL — governed by pre-flight scan, change ticket, change window, and optional human approval |
approve_write | WRITE | Execute a pending JCL submission after human review (requires SECURITY_WRITE_APPROVAL=true) |
analyze_job_failure | READ | Abend code, failing step, and suggested fix |
get_job_jcl | READ | Retrieve submitted JCL from job spool |
Datasets
| Tool | Type | Description |
|---|---|---|
list_datasets | READ | List datasets matching an HLQ pattern |
read_dataset | READ | Read a sequential dataset or PDS member |
search_dataset | READ | Search datasets by pattern |
search_members | READ | Search or list PDS members |
get_dataset_info | READ | Catalog attributes without reading content |
USS
| Tool | Type | Description |
|---|---|---|
list_uss_directory | READ | List a USS directory |
read_uss_file | READ | Read a USS file |
search_uss_files | READ | Search files under a USS path |
Operations
| Tool | Type | Description |
|---|---|---|
find_failed_jobs | READ | Failed jobs in a time window |
summarize_abends | READ | Abend code breakdown across recent jobs |
system_health_summary | READ | Active, queued, and failed job snapshot |
investigate_incident | READ | Full incident bundle for a job |
lookup_abend_code | OFFLINE | Abend reference lookup (S0C7, S806, S222, S0C4, …) |
verify_zosmf_connection | READ | Test z/OSMF connectivity and auth |
compare_jobs | READ | Side-by-side comparison of two jobs |
get_user_jobs_summary | READ | Job counts by status for an owner |
CICS
Requires optional CMCI configuration — see z/OS prerequisites.
| Tool | Type | Description |
|---|---|---|
list_cics_regions | READ | List CICS regions via CMCI REST |
get_cics_region_status | READ | Status and attributes of a CICS region |
list_cics_transactions | READ | Transaction definitions in a region |
get_cics_region_stats | READ | Region statistics/attributes from the CMCI CICSRegion resource |
cics_newcopy | WRITE | NEWCOPY a program via CMCI action (CICS TS 5.6+) |
cics_disable_transaction | WRITE | Disable/enable a local transaction via CMCI SET action |
Db2
Requires optional Db2 REST configuration — see z/OS prerequisites.
| Tool | Type | Description |
|---|---|---|
list_db2_subsystems | READ | List Db2 locations via Db2 REST |
search_db2_catalog | READ | Read-only catalog search (tables, views, aliases) |
Console & JES
Operator commands run through an extended MCS console (ZOSMF_CONSOLE_NAME); command tools are gated writes subject to read-only mode, policy roles, change tickets, and change windows.
| Tool | Type | Description |
|---|---|---|
issue_console_command | WRITE | MVS commands (D A,L, D GRS,RES=…) with follow-up message collection |
get_console_messages | READ | Operations-log tail (SYSLOG-style console feed) |
hold_job / release_job | WRITE | JES2 $HJ / $OJ job hold and release |
cancel_job | WRITE | Cancel a job via the z/OSMF jobs API |
get_wlm_status | WRITE | D WLM display (service policy / resources) |
ims_command | WRITE | IMS commands via the system console (/DIS ACTIVE, /DIS TRAN …) |
get_hsm_activity | READ | DFSMShsm recall/migration activity from the operations log |
analyze_logrec | WRITE | Submit an EREP report against LOGREC and summarize error records |
Schedulers
| Tool | Type | Description |
|---|---|---|
scheduler_job_status | READ | Control-M / CA 7 / IBM WLS job status via their REST APIs (SCHEDULER_ADAPTERS) |
| job_dependencies | READ | JCL dataset-flow analysis — inputs, outp