ThreatCorralling
An MCP server that automates vulnerability correlation across security tools like Checkmarx and Tenable, using LLMs to determine reachability, map compliance controls (SOC2, ISO27001), and generate remediation and regression testing patterns.
README

ThreatCorralling
Version 1.0.4.5397e3c
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.
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.4.5397e3c 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
# 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.py
To run the tests:
pytest tests/ -v
TODO
- Move tools to their own classes.
- Review caching alternatives to the flat files by the MCP server.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.