SD Elements MCP Server
A Model Context Protocol server that provides SD Elements API integration, enabling LLMs to interact with SD Elements security development lifecycle platform.
README Documentation
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
Tasks & Surveys
list_tasks
- List tasks for a projectget_task
- Get task detailslist_surveys
- List surveysget_survey
- Get survey details
Phases & Milestones
list_phases
- List project phasesget_phase
- Get phase detailslist_milestones
- List project milestones
Quick Start
Using uvx (recommended)
Option 1: From GitHub (Current)
uvx git+https://github.com/geoffwhittington/sde-mcp.git
Option 2: From PyPI (Future - when published)
uvx sde-mcp-server
Using uv
Install from GitHub
uv pip install git+https://github.com/geoffwhittington/sde-mcp.git
sde-mcp-server
Install from PyPI (when available)
uv pip install sde-mcp-server
sde-mcp-server
Using pip
Install from GitHub
pip install git+https://github.com/geoffwhittington/sde-mcp.git
sde-mcp-server
Install from PyPI (when available)
pip install sde-mcp-server
sde-mcp-server
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
export SDE_HOST="https://your-sdelements-instance.com"
export SDE_API_KEY="your-api-key-here"
Option 2: .env File
Create a .env
file in your working directory:
SDE_HOST=https://your-sdelements-instance.com
SDE_API_KEY=your-api-key-here
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)
{
"mcpServers": {
"sde-elements": {
"command": "uvx",
"args": ["git+https://github.com/geoffwhittington/sde-mcp.git"],
"env": {
"SDE_HOST": "https://your-sdelements-instance.com",
"SDE_API_KEY": "your-api-key-here"
}
}
}
}
Option 2: From PyPI (Future)
{
"mcpServers": {
"sde-elements": {
"command": "uvx",
"args": ["sde-mcp-server"],
"env": {
"SDE_HOST": "https://your-sdelements-instance.com",
"SDE_API_KEY": "your-api-key-here"
}
}
}
}
Cline
Add this to your Cline MCP settings:
From GitHub (Current)
{
"mcpServers": {
"sde-elements": {
"command": "uvx",
"args": ["git+https://github.com/geoffwhittington/sde-mcp.git"],
"env": {
"SDE_HOST": "https://your-sdelements-instance.com",
"SDE_API_KEY": "your-api-key-here"
}
}
}
}
Continue
Add this to your Continue configuration:
From GitHub (Current)
{
"mcpServers": {
"sde-elements": {
"command": "uvx",
"args": ["git+https://github.com/geoffwhittington/sde-mcp.git"],
"env": {
"SDE_HOST": "https://your-sdelements-instance.com",
"SDE_API_KEY": "your-api-key-here"
}
}
}
}
Cursor
Add this to your Cursor configuration file:
Option 1: From GitHub (Current)
{
"mcpServers": {
"sde-elements": {
"command": "uvx",
"args": ["git+https://github.com/geoffwhittington/sde-mcp.git"],
"env": {
"SDE_HOST": "https://your-sdelements-instance.com",
"SDE_API_KEY": "your-api-key-here"
}
}
}
}
Option 2: Using local installation
If you have the package installed locally:
{
"mcpServers": {
"sde-elements": {
"command": "sde-mcp-server",
"env": {
"SDE_HOST": "https://your-sdelements-instance.com",
"SDE_API_KEY": "your-api-key-here"
}
}
}
}
Option 3: Using Python module directly
{
"mcpServers": {
"sde-elements": {
"command": "python",
"args": ["-m", "sde_mcp_server"],
"env": {
"SDE_HOST": "https://your-sdelements-instance.com",
"SDE_API_KEY": "your-api-key-here"
}
}
}
}
Development
Prerequisites
- uv installed
- Python 3.10 or higher
Setup
# Clone the repository
git clone <repository-url>
cd sde-mcp-server
# Create virtual environment and install dependencies
uv sync
# Run in development mode
uv run python -m sde_mcp_server
Testing
# Run the import test
uv run python test_import.py
# Test with environment variables
SDE_HOST=https://demo.sdelements.com SDE_API_KEY=test uv run python -m sde_mcp_server
Building
# Build the package
uv build
# Install locally for testing
uv pip install dist/*.whl
Features
- 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
API Coverage
This server provides access to:
- Projects and Applications
- Countermeasures and Tasks
- Surveys and Phases
- Milestones and Requirements
- Users and Teams
- Compliance and Reporting
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.