Endevor-MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "ENDEVOR_URL=${ENDEVOR_URL}" -e "ENDEVOR_USER=${ENDEVOR_USER}" -e "ENDEVOR_PASSWORD=${ENDEVOR_PASSWORD}" endevor-mcp -- npx -y @gglessner/endevor-mcp
Required:ENDEVOR_URLENDEVOR_USERENDEVOR_PASSWORD
README.md

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 into EXEC SQL statements, which control transaction routing
  • Read the copybooks to know the PIC clause of every field — the difference between PIC X(10) (alphanumeric) and PIC 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 LINK and EXEC CICS XCTL chains 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 in mcp.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 v2
ENDEVOR_USERrequiredUsername for Endevor authentication
ENDEVOR_PASSWORDrequiredPassword for Endevor authentication

Configuration

claude_desktop_config.json
{"mcpServers": {"endevor": {"command": "npx", "args": ["-y", "@gglessner/endevor-mcp"], "env": {"ENDEVOR_URL": "https://your-mainframe-url", "ENDEVOR_USER": "your-user", "ENDEVOR_PASSWORD": "your-password"}}}}

Try it

List all systems and subsystems available in the production environment.
Retrieve the source code for the COBOL element 'PAYROLL01' from the current stage.
Check the status of my pending package 'PKG-12345' and list its components.
Analyze the component dependencies for the element 'CUST-UPDATE' to identify impacted programs.
Submit an SCL statement to sign out the element 'ACCT-MOD' for modification.

Frequently Asked Questions

What are the key features of Endevor-MCP?

43 MCP tools covering the complete Endevor REST API v2. Full inventory browsing across environments, stages, systems, and subsystems. Comprehensive element lifecycle management including add, update, and generate. End-to-end package workflow management from creation to execution. Support for arbitrary SCL statement submission and async task management.

What can I use Endevor-MCP for?

Automating mainframe source code retrieval for AI-assisted code review. Performing source-informed penetration testing on CICS applications. Streamlining package approval and execution workflows for DevOps teams. Analyzing component dependencies to assess the impact of code changes.

How do I install Endevor-MCP?

Install Endevor-MCP by running: npx -y @gglessner/endevor-mcp

What MCP clients work with Endevor-MCP?

Endevor-MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Endevor-MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare