43 tools for Broadcom Endevor SCM interaction via the REST API v2
Endevor-MCP v1.0.0
A Model Context Protocol (MCP) server providing 43 tools for complete Broadcom Endevor SCM interaction via the REST API v2. Built for AI-driven mainframe operations — inventory browsing, element lifecycle management, package workflows, and security-focused source code review.
Endevor-MCP + hack3270: Source-Informed Mainframe Penetration Testing
Endevor-MCP becomes exceptionally powerful when paired with hack3270 (52 MCP tools for TN3270 data stream manipulation). Together they give a single AI agent 95 tools — the ability to read every line of source code behind a mainframe application and operate the live application simultaneously. This is a fundamentally different class of testing capability.
Why This Matters
Mainframe CICS applications were architected in the 1980s-2000s around a trust model that no longer holds: the 3270 terminal was the security boundary. Field protection, numeric-only restrictions, field length limits, hidden fields, and screen flow control were all enforced by the terminal hardware — not the server. The COBOL programs behind these screens routinely accept MAP input and use it directly in arithmetic, SQL queries, file access, and transaction routing without any server-side validation.
hack3270 breaks this trust model. It intercepts the TN3270 data stream and lets you modify protected fields, send non-numeric data to numeric fields, overwrite hidden fields, bypass screen flow, and send arbitrary AID keys — none of which a real 3270 terminal would allow.
But without source code, hack3270 testing is blind. You can fuzz fields and watch for crashes, but you don't know why a field is vulnerable, what the server does with your input, or where the real attack surface is. You're guessing.
Endevor-MCP eliminates the guessing. With access to the Endevor source code repository, the AI agent can:
- Read the BMS map to know every field on every screen — including hidden dark fields, protected fields, and their expected data formats — before touching the live application
- Read the COBOL program to see exactly what happens after
EXEC CICS RECEIVE MAP: which fields are validated, which are trusted blindly, which go directly intoEXEC SQLstatements, which control transaction routing - Read the copybooks to know the
PICclause of every field — the difference betweenPIC X(10)(alphanumeric) andPIC S9(7)V99 COMP-3(packed decimal that will SOC7 abend on invalid data) - Read the JCL to understand batch job structures, dataset naming conventions, STEPLIB concatenations, and find hardcoded credentials — intelligence that becomes immediately actionable if TSO escape is achieved
- Trace program flow through
EXEC CICS LINKandEXEC CICS XCTLchains to find authorization bypasses where a sensitive program can be invoked directly, skipping the security check in the calling program - Review change history to prioritize testing on recently modified code — new code has new bugs
The result: instead of blind fuzzing with hack3270, the AI agent performs surgical, source-informed exploitation. It reads the COBOL source, identifies that ORDQTYI goes directly into a COMPUTE with no IS NUMERIC check, then uses hack3270's send_field_data() to send alphabetic characters to that field and trigger the SOC7 abend. It reads the EVALUATE EIBAID block, discovers PA1 invokes an undocumented admin menu, then uses hack3270's send_aid_key() to access it. Every finding from source code can be proven live, and every live anomaly can be traced back to its root cause in the code.
This transforms mainframe application penetration testing from a slow, uncertain process into a systematic, comprehensive assessment covering 19 distinct vulnerability classes across COBOL, BMS, copybooks, JCL, DB2, VSAM, CICS, and batch processing.
Author
Garland Glessner — gglessner@gmail.com
License
GNU General Public License v3.0 — see LICENSE
Features
43 MCP tools covering the complete Endevor REST API v2
Full inventory browsing: Datasources, environments, stages, systems, subsystems, types, elements, members
Element lifecycle management:
- Add, Update, Retrieve, Print, Generate, Move, Delete
- Sign-in / Sign-out for element locking
- Transfer across inventory locations
- Component dependency analysis (ACM)
Package workflow management:
- Create, Update, Cast, Approve, Deny, Execute, Submit
- Commit, Reset, Backout, Backin, Delete
Async task management: List, check status, and retrieve results of long-running operations
SCL submission: Execute arbitrary Software Control Language statements
Fingerprint validation: Optimistic concurrency control
Auto-connect via environment variables: Configure
ENDEVOR_*env vars inmcp.json— the server connects with Basic Auth, obtains a JW
Tools (4)
inventory_browseBrowse Endevor inventory including environments, stages, systems, and subsystems.element_lifecyclePerform lifecycle operations like add, update, retrieve, generate, move, or delete elements.package_workflowManage package workflows including create, cast, approve, execute, and commit.scl_submitExecute arbitrary Software Control Language statements.Environment Variables
ENDEVOR_URLrequiredThe base URL for the Endevor REST API v2ENDEVOR_USERrequiredUsername for Endevor authenticationENDEVOR_PASSWORDrequiredPassword for Endevor authenticationConfiguration
{"mcpServers": {"endevor": {"command": "npx", "args": ["-y", "@gglessner/endevor-mcp"], "env": {"ENDEVOR_URL": "https://your-mainframe-url", "ENDEVOR_USER": "your-user", "ENDEVOR_PASSWORD": "your-password"}}}}