- Home
- MCP servers
- Endevor
Endevor
- python
0
GitHub Stars
python
Language
2 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"gglessner-endevor-mcp": {
"command": "python",
"args": [
"run_endevor_mcp.py"
],
"env": {
"ENDEVOR_HOST": "YOUR_HOST",
"ENDEVOR_PORT": "YOUR_PORT",
"ENDEVOR_PASSWORD": "YOUR_PASSWORD",
"ENDEVOR_USERNAME": "YOUR_USERNAME",
"ENDEVOR_DATASOURCE": "ENDVCONF"
}
}
}
}Endevor-MCP is a Python-based server that exposes 43 tools to interact with Broadcom Endevor SCM via the REST API v2. It enables inventory browsing, element lifecycle management, package workflows, and security-focused source code review, helping you automate and streamline mainframe operations with AI-driven workflows.
How to use
You will run the MCP server as a local process and connect your MCP client to it. Start the server with the environment configuration provided below, then access the 43 tools through your client. The server auto-connects to Endevor using the credentials you supply and exposes capabilities for inventory discovery, element operations, package workflows, asynchronous tasks, and SCL/Fingerprint features.
How to install
Prerequisites: you need Python 3.9 or newer and access to your Endevor instance. Install the required Python packages, then start the MCP server.
git clone https://github.com/gglessner/Endevor-MCP.git
cd Endevor-MCP
pip install -r requirements.txt
Configuration and starting the MCP server
Configure the server to connect to your Endevor instance using the same environment variables shown here. Then start the server to have all 43 tools ready for use.
# Start the server by running the entry point script via Python
python run_endevor_mcp.py
Recommended environment variables (example values)
export ENDEVOR_HOST=mainframe.example.com export ENDEVOR_PORT=443 export ENDEVOR_DATASOURCE=ENDVCONF export ENDEVOR_USERNAME=USER01 export ENDEVOR_PASSWORD=secret
## Additional configuration and notes
The MCP server is designed to auto-register with a client workspace. You can also provide a dedicated configuration file if you use Cursor or another tooling integration. The server exposes authentication options, TLS configuration, and an auto-auth flow via environment variables, making initial startup straightforward.
## Security considerations and usage patterns
Leverage the 19 vulnerability classes and the 43 tools to perform comprehensive security assessments of Endevor deployments. Use the source-informed workflows described in the tool reference to plan testing around known COBOL, JCL, and CICS patterns.
## Tool usage overview
Accessible tools cover connection management, authentication, async task handling, inventory listing, element operations, package workflows, SCL submission, and fingerprint validation. Use these tools to connect, authenticate, browse the Endevor map, manipulate elements and packages, and submit scripts safely.
## MCP configuration example
Use the following configuration to define the local MCP server entry. This shows how the server is started from the project workspace with Python and the entry script.
{ "mcpServers": { "endevor_mcp": { "command": "python", "args": ["run_endevor_mcp.py"], "cwd": "${workspaceFolder}", "env": { "ENDEVOR_HOST": "mainframe.example.com", "ENDEVOR_PORT": "443", "ENDEVOR_DATASOURCE": "ENDVCONF", "ENDEVOR_USERNAME": "USER01", "ENDEVOR_PASSWORD": "secret" } } } }
## Available tools
### endevor\_connect
Connect to Endevor REST API with full auth support
### endevor\_disconnect
Close an active Endevor connection
### endevor\_connections
List all active MCP connections
### endevor\_authenticate
Obtain a JWT token from the /auth endpoint
### endevor\_healthcheck
Run a health check on the Endevor datasource
### endevor\_get\_report
Retrieve a report from a previous request
### endevor\_list\_tasks
List asynchronous tasks (in-progress or finished)
### endevor\_get\_task\_status
Get status of an asynchronous task
### endevor\_get\_task\_result
Get result of a finished asynchronous task
### endevor\_list\_datasources
List all datasource configurations
### endevor\_list\_environments
List environments
### endevor\_list\_stages
List stage numbers
### endevor\_list\_systems
List systems
### endevor\_list\_subsystems
List subsystems
### endevor\_list\_types
List element types
### endevor\_list\_elements
List elements with wildcard and CCID filtering
### endevor\_list\_members
List members for an element type
### endevor\_add\_element
Add (create) a new element
### endevor\_update\_element
Update existing element source with sync support
### endevor\_retrieve\_element
Retrieve (download) element source content
### endevor\_print\_element
Print element info (browse/changes/history/summary/master/listing)
### endevor\_print\_element\_components
Print element component info (requires ACM)
### endevor\_generate\_element
Generate (compile/process) an element
### endevor\_move\_element
Move element up the map
### endevor\_delete\_element
Delete an element
### endevor\_signin\_element
Sign in (release lock on) an element
### endevor\_signout\_element
Sign out (lock) an element
### endevor\_transfer\_element
Transfer element to a different inventory location
### endevor\_list\_packages
List packages with status/type/detail filtering
### endevor\_create\_package
Create a new package with SCL
### endevor\_update\_package
Update an existing package
### endevor\_cast\_package
Cast (freeze) a package for review
### endevor\_approve\_package
Approve a package
### endevor\_deny\_package
Deny a package
### endevor\_execute\_package
Execute a package
### endevor\_submit\_package
Submit a package for batch execution
### endevor\_commit\_package
Commit an executed package
### endevor\_reset\_package
Reset a package to INEDIT status
### endevor\_backout\_package
Back out an executed package
### endevor\_backin\_package
Reverse a backout of an executed package
### endevor\_delete\_package
Delete a package
### endevor\_submit\_scl
Submit SCL statements for execution
### endevor\_validate\_fingerprint
Validate element fingerprints for optimistic concurrency