This MCP server enables LLMs to interact with SD Elements security development lifecycle platform through natural language commands and API integration.
Core Management Capabilities:
Project Management: List, create, update, and delete projects with full CRUD operations
Application Management: Create and manage applications within business units
Countermeasure Management: List, view, update security countermeasure status and add notes
User & Team Management: List users, business units, and organizational structure
Survey Management: Set project surveys using natural language technology names (Python, AWS, Docker) instead of answer IDs
Advanced Features:
Repository Scanning: Automatically scan GitHub/GitLab repositories to detect technologies and populate surveys
Threat Model Diagrams: Full diagram lifecycle management (requires CSM enablement)
Advanced Reporting: Execute existing reports, create custom reports, and run Cube API queries
Generic API Access: Make custom API calls (GET, POST, PUT, PATCH, DELETE) to any SD Elements endpoint
Connection Testing: Verify API connectivity and authentication
Natural Language Interface:
Add/remove technologies from surveys using plain English
Scan repositories with simple URL commands
Generate reports and analytics through conversational commands
Provides integration with SD Elements security development lifecycle platform, allowing management of projects, applications, countermeasures, tasks, surveys, phases, and milestones through the SD Elements API.
SD Elements MCP Server
A Model Context Protocol server that provides SD Elements API integration. This server enables LLMs to interact with SD Elements security development lifecycle platform.
Available Tools
Project Management
list_projects
- List all projects with optional filteringget_project
- Get detailed project informationcreate_project
- Create a new projectupdate_project
- Update project detailsdelete_project
- Delete a project
Application Management
list_applications
- List all applicationsget_application
- Get application detailscreate_application
- Create a new applicationupdate_application
- Update application information
Countermeasures
list_countermeasures
- List countermeasures for a projectget_countermeasure
- Get countermeasure detailsupdate_countermeasure
- Update countermeasure status
Project Surveys
get_project_survey
- Get the complete survey structure for a projectget_current_survey_answers
- Get the current answers assigned to a survey in readable formatupdate_project_survey
- Update project survey answers with answer IDsfind_survey_answers
- Find answer IDs by searching for answer text (e.g., "Java", "Web Application")set_project_survey_by_text
- Set survey using answer text directly instead of IDsadd_survey_answers_by_text
- Add answers to survey without removing existing ones (e.g., add "Python")remove_survey_answers_by_text
- Remove specific answers from survey (e.g., remove "Java")
Repository Scanning
list_scan_connections
- List available repository scan connections (GitHub/GitLab)scan_repository
- Scan a repository to automatically populate project surveyget_scan_status
- Get status and results of a repository scanlist_scans
- List all repository scans for a project
Project Diagrams
list_project_diagrams
- List diagrams for a projectget_diagram
- Get a specific diagram with its datacreate_diagram
- Create a new project diagramupdate_diagram
- Update an existing diagramdelete_diagram
- Delete a project diagram
Note: The Project Diagrams feature requires enablement by your Customer Success Manager. Contact your CSM if this feature is not available on your instance.
Advanced Reports
list_advanced_reports
- List all advanced reportsget_advanced_report
- Get report configurationrun_advanced_report
- Execute a report and get the data (JSON/CSV)create_advanced_report
- Create a new advanced reportexecute_cube_query
- Execute Cube API queries directly for advanced analytics
Quick Start
Using uvx (recommended)
Option 1: From GitHub (Current)
Option 2: From PyPI (Future - when published)
Using uv
Install from GitHub
Install from PyPI (when available)
Using pip
Install from GitHub
Install from PyPI (when available)
Configuration
The server requires two environment variables:
SDE_HOST
: Your SD Elements instance URL (e.g.,https://your-sdelements-instance.com
)SDE_API_KEY
: Your SD Elements API key
Setting Environment Variables
Option 1: Environment Variables
Option 2: .env File
Create a .env
file in your working directory:
Getting Your API Key
Log into your SD Elements instance
Go to Settings > API Tokens
Generate a new API token
Copy the token value for use as
SDE_API_KEY
MCP Client Configuration
Claude Desktop
Add this to your Claude Desktop configuration file:
Option 1: From GitHub (Current)
Option 2: From PyPI (Future)
Cline
Add this to your Cline MCP settings:
From GitHub (Current)
Continue
Add this to your Continue configuration:
From GitHub (Current)
Cursor
Add this to your Cursor configuration file:
Option 1: From GitHub (Current)
Option 2: Using local installation
If you have the package installed locally:
Option 3: Using Python module directly
Development
Prerequisites
uv installed
Python 3.10 or higher
Setup
Testing Locally
Step 1: Set Up Environment Variables
Create a .env
file in the project root [[memory:4265507]]:
Or export them:
Step 2: Activate Virtual Environment
Step 3: Test Basic Imports
Expected output:
Step 4: Test the MCP Server
Option A: Run with environment variables
Option B: Run with .env file
The server will start and output:
Step 5: Test with MCP Inspector (Recommended)
The MCP Inspector is the best tool for local testing:
This opens a web interface where you can:
See all available tools
Test individual tools with parameters
View responses in real-time
Debug issues
Step 6: Test in Cursor
This project includes workspace-specific MCP configuration!
Add your credentials to
# Edit .cursor/mcp.json and replace the placeholder values: nano .cursor/mcp.jsonReplace:
SDE_HOST
:https://your-sdelements-instance.com
→ your actual SD Elements URLSDE_API_KEY
:your-api-key-here
→ your actual API key
Reload Cursor window (Cmd/Ctrl+Shift+P → "Developer: Reload Window")
Test with natural language:
"List all projects in SD Elements" "Get the survey for project 123" "Test the SD Elements connection"
Note: .cursor/mcp.json
is gitignored to protect your credentials. A template is available at .cursor/mcp.json.example
.
If Cursor doesn't auto-detect, you can add to global config at ~/.cursor/mcp.json
:
Step 7: Test Specific Features
Test Survey Management:
Test Repository Scanning:
Test Diagrams:
Debugging
Enable verbose logging:
Check API connectivity:
Common issues:
"Configuration error": Check
SDE_HOST
andSDE_API_KEY
are set"Authentication failed": Verify your API key is valid
"Connection error": Check network access to SD Elements instance
Module import errors: Ensure virtual environment is activated
Building
Key Features & Use Cases
1. Project & Application Management
Create and manage projects:
Manage applications:
2. Natural Language Survey Management
Set surveys using plain English instead of answer IDs:
Add/remove specific technologies:
Query current configuration:
Commit survey changes:
No need to know answer IDs - just use technology names like "Java", "Python", "AWS", etc.
3. Automated Repository Scanning
Scan repositories to auto-populate surveys:
The system will:
Detect programming languages, frameworks, databases
Identify cloud technologies and dependencies
Automatically update the project survey
Lock the project during scan for data integrity
Check scan progress:
4. Threat Model Diagrams
Manage diagrams:
Note: The Project Diagrams feature must be enabled on your SD Elements instance. Contact your Customer Success Manager to enable this feature.
5. Countermeasure Management
Track and manage security countermeasures:
6. Advanced Reporting
Work with reports:
Execute custom Cube queries:
Use the Advanced Reports and Cube API to generate custom analytics and insights from your SD Elements data.
7. User & Team Management
Manage users and teams:
8. Connection Testing & Generic API Access
Test API connectivity:
Make custom API requests:
Features
Natural Language Control: Manage SD Elements using plain English
Full API Coverage: Supports all major SD Elements API endpoints
Authentication: Secure API key-based authentication
Error Handling: Comprehensive error handling and validation
Environment Configuration: Flexible configuration via environment variables
Modern Python: Built with modern Python packaging (uv, pyproject.toml)
MCP Compliant: Fully compatible with the Model Context Protocol
Complete Example Workflows
Project Setup Workflow
Survey Management Workflow
Repository Scanning Workflow
Diagram Management Workflow
Note: Diagrams must be created/edited through the SD Elements UI or API with proper JSON schema. The feature requires CSM enablement.
Countermeasure Management Workflow
Reporting Workflow
User & Team Management Workflow
Full Project Lifecycle Example
API Coverage
This server provides comprehensive access to SD Elements functionality:
Core Resources
Projects: Full CRUD (Create, Read, Update, Delete) operations
Applications: Create, list, view, and update applications
Business Units: List and view organizational structure
Security Management
Countermeasures: List, view, update status, and add notes
Project Surveys: Full survey management with natural language support
Set answers using technology names (no ID lookup needed)
Add/remove specific answers incrementally
View current configuration in multiple formats
Commit survey drafts
Auto-resolve dependencies
Automation & Integration
Repository Scanning: Automated technology detection
GitHub and GitLab integration
Automatic survey population
Scan status tracking
Historical scan management
Threat Model Diagrams: Complete diagram lifecycle (requires CSM enablement)
Full CRUD operations
List, view, create, update, and delete diagrams
Work with diagram data via API
Analytics & Reporting
Advanced Reports: Flexible reporting and analytics
List available reports
Execute existing reports (JSON/CSV output)
Create custom reports with Cube API
Execute Cube queries directly for advanced analytics
User & Team Management
Users: List users, view profiles, get current user
Authentication: Test API connectivity and credentials
Advanced Features
Generic API Access: Make custom API calls to any SD Elements endpoint
Flexible Configuration: Environment-based setup with
.env
supportNatural Language Interface: Control everything through plain English commands
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature
)Commit your changes (
git commit -m 'Add some amazing feature'
)Push to the branch (
git push origin feature/amazing-feature
)Open a Pull Request
Support
For issues and questions:
Check the Issues page
Review the SD Elements API documentation
Ensure your API key has proper permissions
Note: This is an unofficial MCP server for SD Elements. For official SD Elements support, please contact Security Compass.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A Model Context Protocol server that provides SD Elements API integration, enabling LLMs to interact with SD Elements security development lifecycle platform.
- Available Tools
- Quick Start
- Configuration
- MCP Client Configuration
- Development
- Key Features & Use Cases
- Features
- Complete Example Workflows
- API Coverage
- License
- Contributing
- Support
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that provides access to MongoDB databases. This server enables LLMs to inspect collection schemas and execute read-only queries.Last updated -8292264MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and various API operations including record management.Last updated -10140MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables real-time communication using Server-Sent Events (SSE), providing standardized model management and resource templating capabilities.Last updated -
- AsecurityFlicenseAqualityA Model Context Protocol server that enables LLMs to explore and interact with API specifications by providing tools for loading, browsing, and getting detailed information about API endpoints.Last updated -41013