-
Notifications
You must be signed in to change notification settings - Fork 1
Version 3.0
Enterprise-Grade Code Intelligence for AI Assistants
Version 3 represents a complete architectural overhaul of DaemonsMCP, transitioning from file-based storage to a full SQL Server + Entity Framework Core stack with clean architecture patterns, REST API access, and a modern Angular management interface.
- SQL Server Backend: Full relational database with Entity Framework Core
- Clean Architecture: Domain, Application, Infrastructure, and Host layers
- MediatR CQRS: Command/query separation for maintainable code
- REST API: Full-featured API alongside MCP protocol support
- Angular UI: Web-based configuration and management interface
- Real-time Indexing: File watcher with debounced batch processing
- Hierarchical Items: Flexible tree-based organization for notes, tasks, and metadata
- Advanced Code Parsing: Roslyn-powered namespace, class, and method extraction
- Multi-Project Support: Manage multiple codebases simultaneously
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Client Applications β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ€
β Claude Desktop β Web Browser β
β (MCP Protocol) β (Angular SPA) β
ββββββββββββ¬ββββββββββββ΄βββββββββββββ¬ββββββββββββββββββββββββββ
β β
β JSON-RPC β HTTP/REST
β β
ββββββββββββΌββββββββββββ β
β DaemonsMCP Host β β
ββββββββββββ¬ββββββββββββ βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββ
β β ASP.NET Core API β
β βββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
ββββββββββ¬ββββββββ
β MediatR Commands/Queries
β
ββββββββββββΌβββββββββββββββββββββββ
β Application Layer (CQRS) β
β - FileSystem Handlers β
β - Items Handlers β
β - Indexing Handlers β
β - Validation & Business Logic β
ββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββΌβββββββββββββββββββββββ
β Infrastructure Layer β
β - EF Core DbContext β
β - File Watcher Service β
β - Roslyn Code Parser β
ββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββΌβββββββββββββββββββββββ
β SQL Server Database β
β - Projects β
β - FileSystemNodes β
β - ObjectHierarchy β
β - Items & Types β
βββββββββββββββββββββββββββββββββββ
- .NET 8.0 SDK or later
- SQL Server 2019+ (Express/Developer/Standard/Enterprise)
- Node.js 20+ and npm 10+ (for Angular client)
- Visual Studio 2022 or VS Code
- Clone the V3 branch:
git clone -b V3 https://github.com/yourusername/DaemonsMCP.git
cd DaemonsMCP-
Configure Database:
Edit
server/DaemonsMCP.Api/appsettings.json:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=DaemonsMCP;Trusted_Connection=true;TrustServerCertificate=true"
}
}- Run Migrations:
cd server/DaemonsMCP.Api
dotnet ef database update- Start the Host:
dotnet run-
Configure Claude Desktop:
Add to
claude_desktop_config.json:
{
"mcpServers": {
"daemonsmcp-v3": {
"command": "dotnet",
"args": ["run", "--project", "C:/path/to/DaemonsMCP/server/DaemonsMCP.Api"],
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}See Installation & Setup for detailed instructions.
Projects define the root directories Claude can access. Each project has:
- Unique ID and name
- Root path (all operations are scoped within this path)
- Security isolation (no directory traversal attacks)
- Independent file system indexing
All files and folders are tracked as nodes with:
- Hierarchical parent-child relationships
- Relative paths from project root
- Metadata (size, type, timestamps)
- Full-text search capabilities
Code structures parsed from C# files:
- Namespaces β Interfaces/Classes β Methods/Properties/Fields/Events
- Fully qualified names and signatures
- File references for quick navigation
- Searchable by identifier name
Flexible hierarchical tree for organizing:
- Development notes and documentation
- Task lists and workflows
- Code annotations and references
- Custom taxonomies with Types and Status
Via MCP:
Note, Claude does not have access to add a project yet.
Via API: Note after starting API browse to https://localhost:44356/swagger/index.html and use the UI. where name is the Name to refer to this project when chatting with the AI assistant. rootPath is the folder you are sharing. description is used to pass any global project instructions to the AI assistant.
POST https://localhost:44356/api/projects
{
"name": "MyApp",
"rootPath": "C:\\Code\\MyApp",
"description": "My application codebase"
}Via MCP:
Ask Claude: "Search for files containing 'controller' in MyApp"
Via API:
GET https://localhost:44356/api/filesystem/search?projectId=1&filter=controller&includeFiles=trueVia MCP:
Ask Claude: "Show me all classes in the MyApp.Services namespace"
Via API:
GET https://localhost:44356/api/hierarchy/search?projectId=1&searchTerm=MyApp.Services&identifierTypeId=3- Windows 10/11 or Windows Server 2019+
- 4 GB RAM
- SQL Server Express 2019+
- .NET 8.0 Runtime
- 500 MB disk space
- 8 GB RAM
- SQL Server Developer/Standard 2022+
- SSD storage
- Dedicated database server for multi-user scenarios
| Feature | V2.4 | V3 (D3Core) |
|---|---|---|
| Storage | PackedTables (files) | SQL Server + EF Core |
| Setup Complexity | Minimal | Moderate |
| Configuration | JSON file | Database + JSON |
| Scalability | Small codebases | Enterprise scale |
| Web Interface | None | Full Angular SPA |
| REST API | None | Complete REST API |
| Multi-user | No | Yes (via API) |
| Real-time Updates | Manual | File watcher + debouncing |
| Code Parsing | Basic | Advanced (Roslyn) |
| Extensibility | Limited | Highly extensible |
See Extending the System for information on:
- Adding new MCP tools
- Creating custom command handlers
- Extending the domain model
- Building UI features
MIT License in the sources.