Koskamo

mainframe-mcp-server

An MCP server that connects AI agents to IBM z/OS mainframe environments. It enables interaction with jobs, datasets, USS, and operational diagnostics via the IBM Zowe SDK. It supports reading spool files, dataset members, and abend codes, as well as submitting JCL, canceling jobs, and issuing console commands. The server includes enterprise security features like read-only modes, tool allowlists, and supply chain assurance with SLSA provenance and signed images.

Package and access

Local package with source-attributed installation metadata. Koskamo does not execute packages during review.

mainframe-mcp-server logo, by NotHarshhaaCommunity listingLocal stdioSource reviewed; not executedPublished by NotHarshhaa
Vendor documentation

What you can do with it

  • Triage one failed job end-to-end by investigating, checking runbooks, and filing tickets
  • Perform overnight health checks for system health, failures, and capacity
  • Deep-dive into abend codes to reference entries and remediation plans
  • Read spool file inventory and content for specific jobs

Source and maintenance

Community listingRegistry 3.0.0
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

@notharshhaa/mainframe-mcp-server 3.0.0

npm
@notharshhaa/mainframe-mcp-server package definition
{
  "version": "3.0.0",
  "transport": "stdio",
  "identifier": "@notharshhaa/mainframe-mcp-server",
  "registryType": "npm",
  "environmentVariables": [
    {
      "name": "ZOSMF_HOST",
      "format": "string",
      "isRequired": true,
      "description": "z/OSMF hostname or IP address"
    },
    {
      "name": "ZOSMF_PORT",
      "format": "number",
      "description": "z/OSMF HTTPS port (default 443)"
    },
    {
      "name": "ZOSMF_BASE_PATH",
      "format": "string",
      "description": "Optional API gateway or mediation layer prefix for z/OSMF"
    },
    {
      "name": "ZOSMF_USER",
      "format": "string",
      "description": "z/OS user id (required with ZOSMF_PASSWORD unless ZOSMF_TOKEN is set)"
    },
    {
      "name": "ZOSMF_PASSWORD",
      "format": "string",
      "description": "Password for basic auth (required with ZOSMF_USER unless ZOSMF_TOKEN is set)"
    },
    {
      "name": "ZOSMF_TOKEN",
      "format": "string",
      "description": "Auth token (alternative to user/password)"
    },
    {
      "name": "ZOSMF_TOKEN_TYPE",
      "format": "string",
      "description": "Token type when using ZOSMF_TOKEN (e.g. LTPA2)"
    },
    {
      "name": "ZOSMF_REJECT_UNAUTHORIZED",
      "format": "boolean",
      "description": "Verify TLS certificates (true in production)"
    },
    {
      "name": "ZOSMF_CERT",
      "format": "string",
      "description": "PEM client certificate file path for mTLS auth"
    },
    {
      "name": "ZOSMF_CERT_KEY",
      "format": "string",
      "description": "PEM client key file path for mTLS auth (required with ZOSMF_CERT)"
    },
    {
      "name": "ZOSMF_TOKEN_FILE",
      "format": "string",
      "description": "Read ZOSMF_TOKEN from this file at startup (vault/agent injection)"
    },
    {
      "name": "ZOSMF_USER_ID",
      "format": "string",
      "description": "End-user id for PassTicket identity propagation (RACF sees this user, not the service account)"
    },
    {
      "name": "ZOSMF_PASSTICKET_APP",
      "format": "string",
      "description": "RACF PTKTDATA application name for PassTicket generation (default ZOSMF)"
    },
    {
      "name": "ZOWE_TEAM_CONFIG",
      "format": "string",
      "description": "Path to a zowe.config.json to import connection settings from (env vars win)"
    },
    {
      "name": "ZOSMF_PROFILE",
      "format": "string",
      "description": "Profile name inside the Zowe team config (defaults to defaults.zosmf)"
    },
    {
      "name": "LOG_LEVEL",
      "format": "string",
      "description": "Log level: fatal, error, warn, info, debug, trace, silent"
    },
    {
      "name": "MCP_TRANSPORT",
      "format": "string",
      "description": "Transport: stdio (IDE) or sse (legacy HTTP+SSE for container/network deployments)"
    },
    {
      "name": "MCP_SSE_PORT",
      "format": "number",
      "description": "Listen port when MCP_TRANSPORT=sse"
    },
    {
      "name": "MAX_JOB_OUTPUT_LINES",
      "format": "number",
      "description": "Max lines returned from a single spool DD"
    },
    {
      "name": "MAX_DATASET_READ_LINES",
      "format": "number",
      "description": "Max lines returned from dataset or USS reads"
    },
    {
      "name": "MAX_JES_SPOOL_FILES",
      "format": "number",
      "description": "Max spool files fetched during diagnostics"
    },
    {
      "name": "MAX_AUDIT_LINES",
      "format": "number",
      "description": "Max RACF audit log lines per query"
    },
    {
      "name": "CMCI_CONTEXT",
      "format": "string",
      "description": "CICSplex name or region APPLID (required for CICS tools)"
    },
    {
      "name": "CMCI_HOST",
      "format": "string",
      "description": "CMCI hostname (defaults to ZOSMF_HOST)"
    },
    {
      "name": "CMCI_PORT",
      "format": "number",
      "description": "CMCI HTTPS port (default 1490)"
    },
    {
      "name": "CMCI_BASE_PATH",
      "format": "string",
      "description": "CMCI REST base path"
    },
    {
      "name": "DB2_LOCATION",
      "format": "string",
      "description": "Db2 subsystem location name (required for Db2 tools)"
    },
    {
      "name": "DB2_HOST",
      "format": "string",
      "description": "Db2 REST hostname (defaults to ZOSMF_HOST)"
    },
    {
      "name": "DB2_PORT",
      "format": "number",
      "description": "Db2 REST port (default 50400)"
    },
    {
      "name": "DB2_BASE_PATH",
      "format": "string",
      "description": "Db2 REST base path"
    },
    {
      "name": "SMF_SUMMARY_DATASET",
      "format": "string",
      "description": "Optional SMF summary dataset for offline metrics"
    },
    {
      "name": "RMF_METRICS_ENABLED",
      "format": "boolean",
      "description": "Query z/OSMF RMF metrics when available"
    },
    {
      "name": "RACF_AUDIT_USS_PATH",
      "format": "string",
      "description": "USS path to RACF audit log file"
    },
    {
      "name": "RACF_AUDIT_DATASET",
      "format": "string",
      "description": "Sequential dataset containing RACF audit records"
    },
    {
      "name": "SECURITY_READ_ONLY",
      "format": "boolean",
      "description": "When true (default), blocks write tools such as submit_jcl"
    },
    {
      "name": "SECURITY_ALLOWED_TOOLS",
      "format": "string",
      "description": "Comma-separated allowlist of MCP tool names"
    },
    {
      "name": "SECURITY_BLOCKED_TOOLS",
      "format": "string",
      "description": "Comma-separated blocklist of MCP tool names"
    },
    {
      "name": "SECURITY_ALLOWED_DATASET_PATTERNS",
      "format": "string",
      "description": "Comma-separated dataset patterns (e.g. USERDEV.*,SYS1.*)"
    },
    {
      "name": "SECURITY_ALLOWED_USS_PATHS",
      "format": "string",
      "description": "Comma-separated USS path prefixes"
    },
    {
      "name": "SECURITY_AUDIT_LOGGING",
      "format": "boolean",
      "description": "Log every tool invocation to stderr (SIEM-friendly JSON)"
    },
    {
      "name": "SECURITY_MAX_JCL_BYTES",
      "format": "number",
      "description": "Maximum inline JCL size for submit_jcl"
    },
    {
      "name": "SECURITY_WRITE_APPROVAL",
      "format": "boolean",
      "description": "Human-in-the-loop: submit_jcl returns a one-time token and approve_write executes (default false)"
    },
    {
      "name": "SECURITY_JCL_SCAN",
      "format": "boolean",
      "description": "Pre-flight scan JCL before submission: IDCAMS DELETE, IEFBR14 DISP DELETE, blocked utilities (default true)"
    },
    {
      "name": "SECURITY_JCL_SCAN_STRICT",
      "format": "boolean",
      "description": "Strict scan mode: WARN findings also block submissions (default false)"
    },
    {
      "name": "SECURITY_BLOCKED_PROGRAMS",
      "format": "string",
      "description": "Comma-separated EXEC programs that may never run (extends ADRDSSU,ICKDSF,IEHINITT)"
    },
    {
      "name": "SECURITY_BLOCKED_JOB_CLASSES",
      "format": "string",
      "description": "Comma-separated JES job classes that may never be used"
    },
    {
      "name": "SECURITY_CHANGE_TICKET_PATTERN",
      "format": "string",
      "description": "Regex a changeTicket argument must match on writes, e.g. CHG[0-9]{6}"
    },
    {
      "name": "SECURITY_WRITE_WINDOW",
      "format": "string",
      "description": "Allowed write window, 24h HH:MM-HH:MM (overnight ranges allowed), e.g. 08:00-18:00"
    },
    {
      "name": "SECURITY_WRITE_DAYS",
      "format": "string",
      "description": "Weekdays writes are allowed: 0=Sun..6=Sat, e.g. 1-5"
    },
    {
      "name": "SECURITY_WRITE_WINDOW_TZ",
      "format": "string",
      "description": "IANA timezone for the write window (default UTC)"
    }
  ]
}

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "mcpServers": {
    "mainframe-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@notharshhaa/mainframe-mcp-server@3.0.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>",
        "ZOSMF_CERT": "<YOUR_ZOSMF_CERT>",
        "ZOSMF_CERT_KEY": "<YOUR_ZOSMF_CERT_KEY>",
        "ZOSMF_TOKEN_FILE": "<YOUR_ZOSMF_TOKEN_FILE>",
        "ZOSMF_USER_ID": "<YOUR_ZOSMF_USER_ID>",
        "ZOSMF_PASSTICKET_APP": "<YOUR_ZOSMF_PASSTICKET_APP>",
        "ZOWE_TEAM_CONFIG": "<YOUR_ZOWE_TEAM_CONFIG>",
        "ZOSMF_PROFILE": "<YOUR_ZOSMF_PROFILE>",
        "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>",
        "SECURITY_WRITE_APPROVAL": "<YOUR_SECURITY_WRITE_APPROVAL>",
        "SECURITY_JCL_SCAN": "<YOUR_SECURITY_JCL_SCAN>",
        "SECURITY_JCL_SCAN_STRICT": "<YOUR_SECURITY_JCL_SCAN_STRICT>",
        "SECURITY_BLOCKED_PROGRAMS": "<YOUR_SECURITY_BLOCKED_PROGRAMS>",
        "SECURITY_BLOCKED_JOB_CLASSES": "<YOUR_SECURITY_BLOCKED_JOB_CLASSES>",
        "SECURITY_CHANGE_TICKET_PATTERN": "<YOUR_SECURITY_CHANGE_TICKET_PATTERN>",
        "SECURITY_WRITE_WINDOW": "<YOUR_SECURITY_WRITE_WINDOW>",
        "SECURITY_WRITE_DAYS": "<YOUR_SECURITY_WRITE_DAYS>",
        "SECURITY_WRITE_WINDOW_TZ": "<YOUR_SECURITY_WRITE_WINDOW_TZ>"
      }
    }
  }
}

Cline

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "mcpServers": {
    "mainframe-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@notharshhaa/mainframe-mcp-server@3.0.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>",
        "ZOSMF_CERT": "<YOUR_ZOSMF_CERT>",
        "ZOSMF_CERT_KEY": "<YOUR_ZOSMF_CERT_KEY>",
        "ZOSMF_TOKEN_FILE": "<YOUR_ZOSMF_TOKEN_FILE>",
        "ZOSMF_USER_ID": "<YOUR_ZOSMF_USER_ID>",
        "ZOSMF_PASSTICKET_APP": "<YOUR_ZOSMF_PASSTICKET_APP>",
        "ZOWE_TEAM_CONFIG": "<YOUR_ZOWE_TEAM_CONFIG>",
        "ZOSMF_PROFILE": "<YOUR_ZOSMF_PROFILE>",
        "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>",
        "SECURITY_WRITE_APPROVAL": "<YOUR_SECURITY_WRITE_APPROVAL>",
        "SECURITY_JCL_SCAN": "<YOUR_SECURITY_JCL_SCAN>",
        "SECURITY_JCL_SCAN_STRICT": "<YOUR_SECURITY_JCL_SCAN_STRICT>",
        "SECURITY_BLOCKED_PROGRAMS": "<YOUR_SECURITY_BLOCKED_PROGRAMS>",
        "SECURITY_BLOCKED_JOB_CLASSES": "<YOUR_SECURITY_BLOCKED_JOB_CLASSES>",
        "SECURITY_CHANGE_TICKET_PATTERN": "<YOUR_SECURITY_CHANGE_TICKET_PATTERN>",
        "SECURITY_WRITE_WINDOW": "<YOUR_SECURITY_WRITE_WINDOW>",
        "SECURITY_WRITE_DAYS": "<YOUR_SECURITY_WRITE_DAYS>",
        "SECURITY_WRITE_WINDOW_TZ": "<YOUR_SECURITY_WRITE_WINDOW_TZ>"
      }
    }
  }
}

VS Code

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "servers": {
    "mainframe-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@notharshhaa/mainframe-mcp-server@3.0.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>",
        "ZOSMF_CERT": "<YOUR_ZOSMF_CERT>",
        "ZOSMF_CERT_KEY": "<YOUR_ZOSMF_CERT_KEY>",
        "ZOSMF_TOKEN_FILE": "<YOUR_ZOSMF_TOKEN_FILE>",
        "ZOSMF_USER_ID": "<YOUR_ZOSMF_USER_ID>",
        "ZOSMF_PASSTICKET_APP": "<YOUR_ZOSMF_PASSTICKET_APP>",
        "ZOWE_TEAM_CONFIG": "<YOUR_ZOWE_TEAM_CONFIG>",
        "ZOSMF_PROFILE": "<YOUR_ZOSMF_PROFILE>",
        "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>",
        "SECURITY_WRITE_APPROVAL": "<YOUR_SECURITY_WRITE_APPROVAL>",
        "SECURITY_JCL_SCAN": "<YOUR_SECURITY_JCL_SCAN>",
        "SECURITY_JCL_SCAN_STRICT": "<YOUR_SECURITY_JCL_SCAN_STRICT>",
        "SECURITY_BLOCKED_PROGRAMS": "<YOUR_SECURITY_BLOCKED_PROGRAMS>",
        "SECURITY_BLOCKED_JOB_CLASSES": "<YOUR_SECURITY_BLOCKED_JOB_CLASSES>",
        "SECURITY_CHANGE_TICKET_PATTERN": "<YOUR_SECURITY_CHANGE_TICKET_PATTERN>",
        "SECURITY_WRITE_WINDOW": "<YOUR_SECURITY_WRITE_WINDOW>",
        "SECURITY_WRITE_DAYS": "<YOUR_SECURITY_WRITE_DAYS>",
        "SECURITY_WRITE_WINDOW_TZ": "<YOUR_SECURITY_WRITE_WINDOW_TZ>"
      }
    }
  }
}

Claude Desktop

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "mcpServers": {
    "mainframe-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@notharshhaa/mainframe-mcp-server@3.0.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>",
        "ZOSMF_CERT": "<YOUR_ZOSMF_CERT>",
        "ZOSMF_CERT_KEY": "<YOUR_ZOSMF_CERT_KEY>",
        "ZOSMF_TOKEN_FILE": "<YOUR_ZOSMF_TOKEN_FILE>",
        "ZOSMF_USER_ID": "<YOUR_ZOSMF_USER_ID>",
        "ZOSMF_PASSTICKET_APP": "<YOUR_ZOSMF_PASSTICKET_APP>",
        "ZOWE_TEAM_CONFIG": "<YOUR_ZOWE_TEAM_CONFIG>",
        "ZOSMF_PROFILE": "<YOUR_ZOSMF_PROFILE>",
        "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>",
        "SECURITY_WRITE_APPROVAL": "<YOUR_SECURITY_WRITE_APPROVAL>",
        "SECURITY_JCL_SCAN": "<YOUR_SECURITY_JCL_SCAN>",
        "SECURITY_JCL_SCAN_STRICT": "<YOUR_SECURITY_JCL_SCAN_STRICT>",
        "SECURITY_BLOCKED_PROGRAMS": "<YOUR_SECURITY_BLOCKED_PROGRAMS>",
        "SECURITY_BLOCKED_JOB_CLASSES": "<YOUR_SECURITY_BLOCKED_JOB_CLASSES>",
        "SECURITY_CHANGE_TICKET_PATTERN": "<YOUR_SECURITY_CHANGE_TICKET_PATTERN>",
        "SECURITY_WRITE_WINDOW": "<YOUR_SECURITY_WRITE_WINDOW>",
        "SECURITY_WRITE_DAYS": "<YOUR_SECURITY_WRITE_DAYS>",
        "SECURITY_WRITE_WINDOW_TZ": "<YOUR_SECURITY_WRITE_WINDOW_TZ>"
      }
    }
  }
}

Let your agent find its tools

Find servers like mainframe-mcp-server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.