Mainframe MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_cobolB | Retrieve COBOL programs by searching the configured COBOL PDS locations. |
| get_copybookA | Retrieve copybook members from the configured copybook PDS locations. |
| get_ct1B | Retrieve control-card (CT1) members from the configured CT1 PDS locations. |
| get_jclB | Retrieve JCL members from the configured JCL PDS locations. |
| get_procB | Retrieve PROC members from the configured PROC PDS locations. |
| get_job_docsA | Retrieve job documentation members from the configured job-doc locations. |
| get_contentB | Fetch dataset/member content. Provide dataset (+optional member), or a comma/space-separated pds_list to search for a member. max_rows truncates. |
| scan_sourceB | Scan a mainframe source path to detect language and references. |
| get_dataset_listA | List datasets matching a pattern/filter. |
| get_dataset_members | List all members of a PDS. |
| get_gdg_versionsB | List generations of a GDG base (via LISTCAT). |
| search_seq_datasetsC | Search sequential datasets matching filter for optional content. |
| create_datasetC | Create a new mainframe dataset. |
| create_dataset_likeB | Allocate a new dataset with the same attributes as an existing one. |
| delete_datasetA | Delete a mainframe dataset. IRREVERSIBLE. Requires confirm=true. |
| rename_datasetA | Rename a mainframe dataset. IRREVERSIBLE. Requires confirm=true. |
| recall_datasetB | Recall a migrated dataset from tape/HSM back to disk. |
| copy_memberC | Copy a member from one dataset to another (DATASET(MEMBER) notation). |
| modify_moduleA | Overwrite a dataset member's content. IRREVERSIBLE. Requires confirm=true. |
| upload_memberA | Upload text to a PDS member or sequential dataset. Provide |
| submit_jobB | Submit a JCL job from a PDS member (DATASET(MEMBER)). |
| submit_jcl_stringC | Submit raw JCL text directly to JES. |
| get_job_statusB | Get the status of a job by name and JES id. |
| get_job_stepsB | Get step-level details/return codes for a job. |
| get_job_filesB | List spool/output files (DD names) for a job. |
| get_job_file_contentC | Read a specific spool file of a job by file id. |
| get_job_jclB | Retrieve the JCL used for a submitted/completed job. |
| get_job_notificationB | Check completion-notification status for a job id. |
| get_spool_detailsA | List jobs (and spool details) matching an optional job-name prefix. |
| export_spool_to_datasetC | Export a job's spool file (by file id) to a mainframe dataset. |
| run_tso_commandA | Execute an arbitrary TSO command. Can be destructive. Requires confirm=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 30 tools
Many tools follow a clear get_<artifact> pattern (COBOL, copybook, CT1, JCL, PROC), and the job-status/spool tools are distinct. However, generic get_content overlaps heavily with the specialized getters, and get_jcl vs get_job_jcl plus upload_member vs modify_module create potential confusion.
Tool names overwhelmingly use snake_case verb_noun, with clear verbs like get, submit, create, delete. Minor inconsistencies exist (get_cobol vs get_content, search_seq_datasets uses an abbreviation, create_dataset_like) but the pattern is predictable.
At 30 tools, the server is over-scoped for a coherent set. Many specialized getters could be consolidated into get_content, and the job-spool area has four overlapping tools. A more focused set of 15-20 would be stronger.
The set covers dataset lifecycle (create, delete, rename, recall, copy, modify), source retrieval, and full job submission/status/spool flow. Missing member-level deletion and a direct list-members operation are minor gaps.