SOLVE-IT MCP Server
Click on "Install 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., "@SOLVE-IT MCP Serversearch for log analysis techniques"
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.
SOLVE-IT MCP Server
MCP server providing LLM access to the SOLVE-IT Digital Forensics Knowledge Base.
SOLVE-IT is a systematic digital forensics knowledge base inspired by MITRE ATT&CK, containing comprehensive mappings of investigation techniques, weaknesses, and mitigations. This MCP server exposes the entire SOLVE-IT knowledge base through tools that enable LLMs to assist with discussions and use cases related to digital forensics.
What is SOLVE-IT?
SOLVE-IT provides a structured approach to digital forensics investigations through:
Techniques (T1001, T1002...): Digital forensic investigation methods
Weaknesses (W1001, W1002...): Potential problems/limitations of techniques
Mitigations (M1001, M1002...): Ways to address weaknesses
Objectives: Categories that organize techniques by investigation goals
See the main repository here: https://github.com/SOLVE-IT-DF/solve-it
Quick Start
1. Prerequisites
Ensure you have the SOLVE-IT knowledge base available:
https://github.com/SOLVE-IT-DF/solve-it.git
2. Install the MCP Server
git clone <this-repository>
cd solve_it_mcp
pip install -e .3. Run the Server
python3 src/server.py4. Configure MCP Client
Add to your MCP client configuration:
{
"mcpServers": {
"solveit": {
"command": "python3",
"args": ["/path/to/solve_it_mcp/src/server.py"],
"cwd": "/path/to/solve_it_mcp"
}
}
}Available Tools
The server provides 20 tools organized into functional categories:
Core Information Tools
get_database_description
Get comprehensive overview of the SOLVE-IT database and server capabilities.
Parameters: None
Example:
Tool: get_database_description
Result: Complete database statistics and server informationsearch
Search across techniques, weaknesses, and mitigations using keywords.
Parameters:
keywords(string): Search terms. Use quotes for exact phrasesitem_types(array, optional): Filter by type:["techniques", "weaknesses", "mitigations"]
Examples:
Tool: search
Parameters: {"keywords": "network analysis", "item_types": ["techniques"]}
Tool: search
Parameters: {"keywords": "\"log analysis\""}Detailed Lookup Tools
get_technique_details
Retrieve complete information for a specific technique.
Parameters:
technique_id(string): Technique ID (e.g., "T1002")
get_weakness_details
Retrieve detailed information for a specific weakness.
Parameters:
weakness_id(string): Weakness ID (e.g., "W1001")
get_mitigation_details
Retrieve detailed information for a specific mitigation.
Parameters:
mitigation_id(string): Mitigation ID (e.g., "M1001")
Relationship Analysis Tools
get_weaknesses_for_technique
Find all weaknesses associated with a technique.
Parameters:
technique_id(string): Technique ID
get_mitigations_for_weakness
Find all mitigations that address a specific weakness.
Parameters:
weakness_id(string): Weakness ID
get_techniques_for_weakness
Find all techniques that have a specific weakness.
Parameters:
weakness_id(string): Weakness ID
get_weaknesses_for_mitigation
Find all weaknesses addressed by a specific mitigation.
Parameters:
mitigation_id(string): Mitigation ID
get_techniques_for_mitigation
Find all techniques that benefit from a specific mitigation.
Parameters:
mitigation_id(string): Mitigation ID
Objective Management Tools
list_objectives
List all objectives from the current mapping.
Parameters: None
get_techniques_for_objective
Get all techniques associated with a specific objective.
Parameters:
objective_name(string): Name of the objective
list_available_mappings
Show all available objective mapping files.
Parameters: None
load_objective_mapping
Switch to a different objective mapping (e.g., carrier.json, dfrws.json).
Parameters:
filename(string): Mapping filename (e.g., "carrier.json")
Bulk Retrieval Tools
Concise Format Tools
get_all_techniques_with_name_and_id- All techniques with ID and name onlyget_all_weaknesses_with_name_and_id- All weaknesses with ID and name onlyget_all_mitigations_with_name_and_id- All mitigations with ID and name only
Full Detail Tools (Use with caution - large data)
get_all_techniques_with_full_detail- All techniques with complete detailsget_all_weaknesses_with_full_detail- All weaknesses with complete detailsget_all_mitigations_with_full_detail- All mitigations with complete details
Usage Examples
Data Configuration
The server automatically looks for the SOLVE-IT knowledge base in these locations:
../solve-it-main/(adjacent to server directory)./solve-it-main/(in current directory)Environment variable
SOLVE_IT_DATA_PATH
Ensure your SOLVE-IT data directory contains:
data/solve-it.json(default objective mapping)data/techniques/(technique JSON files)data/weaknesses/(weakness JSON files)data/mitigations/(mitigation JSON files)
Performance Considerations
Search operations: Typically complete in <5 seconds
Bulk operations: May take <10 seconds for full detail retrievals
Individual lookups: Near-instant response
Relationship queries: Optimized for fast traversal
Error Handling
The server provides comprehensive error handling:
Missing data: Graceful fallback with helpful error messages
Invalid IDs: Clear feedback on incorrect technique/weakness/mitigation IDs
Connection issues: Automatic retry and timeout handling
Large datasets: Memory-efficient processing with warnings
Integration Examples
Claude Desktop
{
"mcpServers": {
"solveit": {
"command": "python3",
"args": ["/path/to/solve_it_mcp/src/server.py"],
"cwd": "/path/to/solve_it_mcp"
}
}
}Security Features
Read-only access: Server only reads from the knowledge base
Input validation: All parameters validated with Pydantic schemas
Timeout protection: Automatic timeouts for long-running operations
Memory limits: Protection against excessive memory usage
Path validation: Secure file path handling
Development
Running Tests
# Run integration tests with real SOLVE-IT data
python3 -m pytest solve_it_mcp/tests/integration/ -v
# Run unit tests
python3 -m pytest solve_it_mcp/tests/unit/ -vTroubleshooting
Common Issues
"Knowledge base not found"
Ensure SOLVE-IT data is in
../solve-it-main/or setSOLVE_IT_DATA_PATHVerify the data directory contains
data/solve-it.json
"Technique/Weakness/Mitigation not found"
Check ID format (e.g., "T1001", "W1001", "M1001")
Use
searchtool to find valid IDs
"Mapping file not found"
Use
list_available_mappingsto see available filesEnsure mapping files are in
data/directory
License
MIT License - See LICENSE file for details.
Contributing
This server is part of the SOLVE-IT ecosystem. Contributions welcome through:
Issue reports for bugs or missing features
Pull requests for improvements
Documentation enhancements
Additional tool implementations
Ready to investigate? Start with get_database_description to explore the knowledge base, then use search to find relevant techniques for your investigation.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CKE-Proto/solve_it_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server