ThreatCorralling
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ThreatCorrallingAnalyze Checkmarx and Tenable findings for example.com, determine reachability, and map to SOC2 controls."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

ThreatCorralling
Version 1.0.7.9667673
ThreatCorralling is an intelligent, extensible Vulnerability Correlation Agent and Model Context Protocol (MCP) server. It bridges the gap between disparate security tools by analyzing scoped assets across platforms like Checkmarx SAST and Tenable WAS. Powered by LLMs (supporting both Gemini and local Ollama deployments), ThreatCorralling automates the arduous task of correlating findings, determining reachability, mapping compliance controls (SOC2, ISO27001), and generating actionable, tech-stack-specific remediation and regression testing patterns. It offers a "best of both worlds" architecture, functioning as a standalone Streamlit web application for interactive analysis, or as a background MCP server ready to plug into modern AI IDEs and clients like Cursor and Claude Desktop.
Requirements
Python
Streamlit
Gemini or Ollama running with a well capable model.
Credentials: 4.1. Tenable (Access and Secret) 4.2. Checkmarx (Tenanat and Refresh Token) 4.3. If using Gemini, an API key.
Related MCP server: DevSecOps MCP Server
Architecture Breakdown
The Agent (agent.py)
It contains the SYSTEM_INSTRUCTION (telling the LLM it to be an elite DevSecOps correlation agent) and the logic to communicate with Gemini or Ollama to execute a multi-step thought process.
The UI (app.py)
The UI for the Agent. Uses a structured JSON file to "glue" the components of the applications. This is critical to group assets under the same umbrell when needed to be sent to the MCP Server for analysis from the skills. This files can be created outside as far as they respect the structure.
{
"team_name": "Some cool team",
"product_name": "Some cool product",
"product_owner": "John Doe",
"group_portfolio_owner": "John's brother",
"developers": ["John's Sister"],
"security_champions": ["John's Sister in law"],
"tech_platform": ["Python","Java"],
"checkmarx_projects": [
"cool-project_1",
"cool-project_2"
],
"public_domains": [
"example.com"
],
"public_apis": ["example.com/api"],
"gcp_projects": [
"main-project"
],
"gcp_services": [],
"documentation_urls": "",
"tenable_was_applications": [
"example.com"
]
}The MCP Server (mcp_server.py)
Using FastMCP wrapper, the file sits in the background and waits for an external AI to say, "Hey, what tools do you have?" It then executes the tools locally and passes the data back to the AI. For performance, the server caches the results for further use. This feature can be replaced by a database or any other better persistence method.
The Skills (The Python Functions & Adapters)
The skills rely on the Adapters to securely communicate with external APIs like Tenable and Checkmarx. More skills are being prepared by the time of version 1.0.7.9667673 like Security Scorecard, Bitbucket and OneTrust.
By importing the Skills from mcp_server.py directly into agent.py, we are using the Skills in two places at once: powering the custom Agent UI, and exposing them to the global MCP ecosystem.

Setup and How to Run
# Create a new environment (Optional)
virtualenv ENV
# Activate the environment
source ENV/bin/activate
# Install the requirements
pip install -r requirements.txt
# Copy the sample ENV to a production version
cp sample.env prod.env
# Update the credentials in the prod.env file
# Start the agent's UI
streamlit run app.pyTo run the tests:
pytest tests/ -vKnown Limitations
The Agent will work with data cached in the device. If not data is available, it will be pulled before the agent can analyze it. This is reflected in a delay when the tool is called and the data is available to the agent.
If you use a Local Model, you MUST use one with Tool capabilities like Hermes3, Qwen3, GLM-4.7 or Devstral-Small.
TODO
Move tools to their own classes.
Review caching alternatives to the flat files by the MCP server.
This server cannot be deployed
Maintenance
Related MCP Connectors
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
MEOK MCP Hardening MCP — automated security red-team for any MCP server. Maps OWASP LLM Top 10
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceAn MCP server that integrates various penetration testing tools, enabling security professionals to perform reconnaissance, vulnerability scanning, and API testing through natural language commands in compatible LLM clients like Claude Desktop.7-
- AlicenseBqualityDmaintenanceAn MCP server that integrates SAST, DAST, and SCA security tools to enable AI-driven vulnerability scanning and automated security reporting. It allows AI assistants to execute and analyze results from tools like Semgrep, OWASP ZAP, and Trivy within a DevSecOps workflow.6MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that exposes SOC2 and HIPAA compliance remediation logic as structured tools for AI agents to call, enabling an LLM-driven workflow to discover, assess, remediate, and report on compliance controls.MIT
- AlicenseAqualityDmaintenanceUnified MCP server integrating NIST and OWASP security frameworks with live vulnerability data, enabling security searches, compliance mapping, threat modeling, and checklist generation.4114MIT