Skip to content

Commit 12b3287

Browse files
Update the documentation
1 parent ebc2ce6 commit 12b3287

File tree

4 files changed

+81
-305
lines changed

4 files changed

+81
-305
lines changed

README.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ dotnet run --project mcp_nexus/mcp_nexus.csproj -- --cdb-path "C:\Program Files\
274274
[![Tests](https://img.shields.io/badge/tests-1,189%20passing-brightgreen?style=flat-square)](https://github.com/your-username/mcp_nexus)
275275
[![Coverage](https://img.shields.io/badge/coverage-46%25+-green?style=flat-square)](https://github.com/your-username/mcp_nexus)
276276
[![Build](https://img.shields.io/badge/build-0%20warnings-brightgreen?style=flat-square)](https://github.com/your-username/mcp_nexus)
277+
[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](LICENSE)
277278

278279
### Test Suite Overview
279280

@@ -379,15 +380,25 @@ MCP Nexus
379380

380381
## 📄 License
381382

382-
This project is licensed under the MIT License - see the LICENSE file for details.
383+
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
384+
385+
The Apache License 2.0 is a permissive open-source license that allows you to:
386+
- ✅ Use the software for any purpose
387+
- ✅ Distribute the software
388+
- ✅ Modify the software
389+
- ✅ Distribute modified versions
390+
- ✅ Use the software in commercial applications
391+
392+
For more information, see the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) documentation.
383393

384394
## 🙏 Acknowledgments
385395

386396
- [Model Context Protocol](https://modelcontextprotocol.io/) specification
387-
- Microsoft Windows Debugging Tools team
388-
- .NET and ASP.NET Core teams
389-
- Windows debugging community
397+
- [C# SDK for Model Context Protocol](https://github.com/modelcontextprotocol/csharp-sdk)
398+
- [ModelContextProtocol.AspNetCore NuGet package](https://www.nuget.org/packages/ModelContextProtocol.AspNetCore/absoluteLatest)
399+
- [Microsoft debugging tools](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/)
400+
- [NLog](https://nlog-project.org/)
390401

391402
---
392403

393-
**MCP Nexus** - Transforming Windows crash analysis with AI-powered insights and professional debugging tools.
404+
**MCP Nexus** - Professional Windows crash dump analysis using Microsoft debugging tools.

docs/DEVELOPMENT.md

Lines changed: 32 additions & 236 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,32 @@ MCP Nexus is built with a modular architecture designed for Windows crash dump a
1010

1111
### Core Architecture
1212

13-
```
14-
┌─────────────────────────────────────────────────────────────┐
15-
│ AI Integration Layer │
16-
├─────────────────────────────────────────────────────────────┤
17-
│ MCP Protocol Handler │ Real-time Notifications │ AI │
18-
│ │ │ Client│
19-
└─────────────────────────────────────────────────────────────┘
20-
21-
┌─────────────────────────────────────────────────────────────┐
22-
│ Analysis Engine Core │
23-
├─────────────────────────────────────────────────────────────┤
24-
│ Crash Analysis │ Memory Analysis │ Thread Analysis │
25-
│ Performance │ Pattern │ Workflow │
26-
│ Analysis │ Recognition │ Engine │
27-
└─────────────────────────────────────────────────────────────┘
28-
29-
┌─────────────────────────────────────────────────────────────┐
30-
│ Microsoft Debugging Tools Integration │
31-
├─────────────────────────────────────────────────────────────┤
32-
│ WinDBG/CDB Wrapper │ Symbol Resolution │ Command Queue │
33-
│ Process Management │ Error Handling │ Result Cache │
34-
└─────────────────────────────────────────────────────────────┘
35-
```
13+
#### AI Integration Layer
14+
| Component | Description |
15+
|-----------|-------------|
16+
| **MCP Protocol Handler** | Handles Model Context Protocol communication |
17+
| **Real-time Notifications** | Live progress updates during analysis |
18+
| **AI Client** | Interface for AI-powered analysis requests |
19+
20+
#### Analysis Engine Core
21+
| Component | Description |
22+
|-----------|-------------|
23+
| **Crash Analysis** | Core crash dump processing and analysis |
24+
| **Memory Analysis** | Memory corruption and leak detection |
25+
| **Thread Analysis** | Thread state and deadlock analysis |
26+
| **Performance Analysis** | Performance bottleneck identification |
27+
| **Pattern Recognition** | Common crash pattern detection |
28+
| **Workflow Engine** | Orchestrates analysis workflows |
29+
30+
#### Microsoft Debugging Tools Integration
31+
| Component | Description |
32+
|-----------|-------------|
33+
| **WinDBG/CDB Wrapper** | Interface to Microsoft debugging tools |
34+
| **Symbol Resolution** | Symbol loading and resolution |
35+
| **Command Queue** | Asynchronous command execution |
36+
| **Process Management** | Process attachment and control |
37+
| **Error Handling** | Robust error recovery and logging |
38+
| **Result Cache** | Cached analysis results for performance |
3639

3740
### Component Details
3841

@@ -46,7 +49,7 @@ MCP Nexus is built with a modular architecture designed for Windows crash dump a
4649
- **Memory Analysis**: Heap corruption, memory leaks, and allocation analysis
4750
- **Thread Analysis**: Deadlock detection and synchronization issue analysis
4851
- **Performance Analysis**: CPU usage, resource exhaustion, and bottleneck identification
49-
- **Pattern Recognition**: AI-powered identification of common crash patterns
52+
- **Pattern Recognition**: Identification of common crash patterns
5053
- **Workflow Engine**: Orchestrates complex analysis workflows
5154

5255
#### Microsoft Debugging Tools Integration
@@ -97,7 +100,7 @@ MCP Nexus is built with a modular architecture designed for Windows crash dump a
97100

98101
**Key Features**:
99102
- Multi-step analysis workflows
100-
- AI-powered pattern recognition
103+
- Pattern recognition
101104
- Structured result generation
102105
- Comprehensive reporting
103106

@@ -125,7 +128,7 @@ Add tool definition to `McpToolDefinitionService`:
125128
new McpToolSchema
126129
{
127130
Name = "nexus_analyze_memory_corruption",
128-
Description = "🔍 MEMORY ANALYSIS: Analyzes heap corruption and memory leaks with AI-powered pattern recognition",
131+
Description = "🔍 MEMORY ANALYSIS: Analyzes heap corruption and memory leaks with pattern recognition",
129132
InputSchema = new
130133
{
131134
type = "object",
@@ -201,9 +204,6 @@ await _notificationService.NotifyCommandStatusAsync(
201204
Update dependency injection in `Program.cs`:
202205

203206
```csharp
204-
// Register new analysis service
205-
builder.Services.AddScoped<IMemoryAnalysisService, MemoryAnalysisService>();
206-
207207
// Register tool execution
208208
builder.Services.AddScoped<IMcpToolExecutionService, McpToolExecutionService>();
209209
```
@@ -276,10 +276,10 @@ dotnet test --filter "Notification" --logger "console;verbosity=minimal" --nolog
276276
### Test Performance
277277

278278
The test suite is optimized for speed:
279-
- **All tests**: ~4-5 seconds
280-
- **527 tests**: All using proper mocking for fast execution
279+
- **All tests**: ~56 seconds
280+
- **1,189 tests**: All using proper mocking for fast execution
281281
- **Coverage**: 46%+ line coverage with comprehensive analysis testing
282-
- **Analysis Tests**: 7 dedicated test classes for analysis functionality
282+
- **Analysis Tests**: 15 test categories covering all major functionality
283283

284284
### Analysis Testing
285285

@@ -290,175 +290,6 @@ Comprehensive test coverage includes:
290290
- **Bridge Tests**: Stdio notification bridge functionality
291291
- **Mock Tests**: Proper mocking for fast test execution
292292

293-
## 🔄 Adding New Analysis Workflows
294-
295-
### 1. Define Workflow Schema
296-
297-
Add workflow definition to `McpWorkflowService`:
298-
299-
```csharp
300-
new AnalysisWorkflow
301-
{
302-
Id = "driver-crash-analysis",
303-
Name = "Driver Crash Analysis",
304-
Description = "Comprehensive analysis workflow for kernel driver crashes",
305-
Complexity = "Advanced",
306-
EstimatedTime = "30-60 minutes",
307-
Steps = new[]
308-
{
309-
new WorkflowStep
310-
{
311-
Step = 1,
312-
Command = "!analyze -v",
313-
Description = "Run comprehensive crash analysis",
314-
ExpectedOutcome = "Identify crash type and driver involved"
315-
},
316-
new WorkflowStep
317-
{
318-
Step = 2,
319-
Command = "!irql",
320-
Description = "Check IRQL level and context",
321-
ExpectedOutcome = "Understand system state at crash"
322-
},
323-
new WorkflowStep
324-
{
325-
Step = 3,
326-
Command = "lm",
327-
Description = "List loaded modules and drivers",
328-
ExpectedOutcome = "Identify problematic driver"
329-
}
330-
},
331-
CommonIssues = new[]
332-
{
333-
"Driver memory corruption",
334-
"IRQL not less than or equal",
335-
"Driver timeout",
336-
"System instability"
337-
}
338-
}
339-
```
340-
341-
### 2. Implement Workflow Logic
342-
343-
Add workflow execution to `AnalysisWorkflowService`:
344-
345-
```csharp
346-
public async Task<AnalysisResult> ExecuteDriverCrashAnalysisAsync(
347-
string sessionId, string workflowId, CancellationToken cancellationToken)
348-
{
349-
var workflow = GetWorkflow(workflowId);
350-
var results = new List<CommandResult>();
351-
352-
foreach (var step in workflow.Steps)
353-
{
354-
await _notificationService.NotifyWorkflowProgressAsync(
355-
sessionId, workflowId, step.Step, workflow.Steps.Length,
356-
$"Executing step {step.Step}: {step.Description}");
357-
358-
var result = await ExecuteWorkflowStep(sessionId, step, cancellationToken);
359-
results.Add(result);
360-
361-
if (!result.Success)
362-
{
363-
break; // Stop on first failure
364-
}
365-
}
366-
367-
return new AnalysisResult
368-
{
369-
WorkflowId = workflowId,
370-
SessionId = sessionId,
371-
Steps = results,
372-
Success = results.All(r => r.Success),
373-
CompletedAt = DateTime.UtcNow
374-
};
375-
}
376-
```
377-
378-
### 3. Add Workflow Notifications
379-
380-
```csharp
381-
// Workflow start
382-
await _notificationService.NotifyWorkflowStartedAsync(
383-
sessionId, workflowId, "Driver Crash Analysis");
384-
385-
// Step progress
386-
await _notificationService.NotifyWorkflowProgressAsync(
387-
sessionId, workflowId, currentStep, totalSteps,
388-
$"Executing step {currentStep}: {stepDescription}");
389-
390-
// Workflow completion
391-
await _notificationService.NotifyWorkflowCompletedAsync(
392-
sessionId, workflowId, success, results);
393-
```
394-
395-
## 🔧 Adding New Analysis Patterns
396-
397-
### 1. Define Pattern Schema
398-
399-
Add pattern definition to `AnalysisPatternService`:
400-
401-
```csharp
402-
new AnalysisPattern
403-
{
404-
Id = "buffer-overflow",
405-
Name = "Buffer Overflow",
406-
ExceptionCode = "0xC0000005",
407-
Description = "Buffer overflow causing access violation",
408-
CommonCauses = new[]
409-
{
410-
"Insufficient bounds checking",
411-
"Unsafe string operations",
412-
"Array index out of bounds",
413-
"Stack overflow"
414-
},
415-
AnalysisCommands = new[]
416-
{
417-
"!analyze -v",
418-
"kb",
419-
"!address",
420-
"!heap -p -a"
421-
},
422-
Severity = "High",
423-
Frequency = "Very Common",
424-
PreventionStrategies = new[]
425-
{
426-
"Use bounds checking",
427-
"Implement stack canaries",
428-
"Use safe string functions",
429-
"Enable compiler security features"
430-
}
431-
}
432-
```
433-
434-
### 2. Implement Pattern Recognition
435-
436-
Add pattern recognition logic to `PatternRecognitionService`:
437-
438-
```csharp
439-
public async Task<PatternMatch> RecognizePatternAsync(
440-
string sessionId, string analysisResult)
441-
{
442-
var patterns = await GetAnalysisPatternsAsync();
443-
var matches = new List<PatternMatch>();
444-
445-
foreach (var pattern in patterns)
446-
{
447-
var confidence = CalculatePatternConfidence(analysisResult, pattern);
448-
if (confidence > 0.7) // 70% confidence threshold
449-
{
450-
matches.Add(new PatternMatch
451-
{
452-
Pattern = pattern,
453-
Confidence = confidence,
454-
MatchedFeatures = ExtractMatchedFeatures(analysisResult, pattern)
455-
});
456-
}
457-
}
458-
459-
return matches.OrderByDescending(m => m.Confidence).FirstOrDefault();
460-
}
461-
```
462293

463294
## 📊 Performance Optimization
464295

@@ -579,41 +410,6 @@ COPY --from=publish /app/publish .
579410
ENTRYPOINT ["dotnet", "mcp_nexus.dll"]
580411
```
581412

582-
## 🔮 Future Enhancements
583-
584-
### Planned Features
585-
586-
**AI Integration**:
587-
- Machine learning for pattern recognition
588-
- Automated analysis suggestions
589-
- Intelligent workflow selection
590-
- Natural language analysis queries
591-
592-
**Analysis Capabilities**:
593-
- Advanced memory analysis
594-
- Performance profiling
595-
- Security vulnerability detection
596-
- Automated report generation
597-
598-
**Platform Improvements**:
599-
- Cloud-based analysis
600-
- Team collaboration features
601-
- Advanced visualization
602-
- Integration with CI/CD pipelines
603-
604-
### Contributing
605-
606-
1. Fork the repository
607-
2. Create a feature branch
608-
3. Add your analysis tool implementation
609-
4. Write comprehensive tests
610-
5. Update documentation
611-
6. Ensure all quality gates pass:
612-
- ✅ Build with zero warnings
613-
- ✅ All tests passing (527 tests)
614-
- ✅ No excluded/disabled tests
615-
7. Submit a pull request
616-
617413
---
618414

619415
## Next Steps

docs/INTEGRATION.md

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -555,27 +555,6 @@ Would you like me to save this report or analyze any specific aspects further?
555555
- Optimize symbol loading
556556
- Minimize network calls
557557

558-
## 🔮 Future Enhancements
559-
560-
### Planned Features
561-
562-
**AI-Specific Features**:
563-
- Machine learning integration
564-
- Pattern recognition improvements
565-
- Automated report generation
566-
- Intelligent analysis suggestions
567-
568-
**Integration Improvements**:
569-
- Better error handling
570-
- Enhanced progress tracking
571-
- Improved notification system
572-
- Advanced workflow support
573-
574-
**Performance Enhancements**:
575-
- Faster analysis algorithms
576-
- Better resource management
577-
- Improved caching
578-
- Parallel processing
579558

580559
---
581560

0 commit comments

Comments
 (0)