Skip to content

Version 3.0

Matt Meents edited this page Nov 30, 2025 · 2 revisions

DaemonsMCP Version 3 (D3Core) Documentation

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.


🎯 What's New in V3

  • 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

πŸ“š Documentation Index

Getting Started

Architecture

Features

Web Interface

Advanced Topics

Migration


πŸ—οΈ Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     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                β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

  • .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

Basic Setup (5 minutes)

  1. Clone the V3 branch:
   git clone -b V3 https://github.com/yourusername/DaemonsMCP.git
   cd DaemonsMCP
  1. Configure Database: Edit server/DaemonsMCP.Api/appsettings.json:
   {
     "ConnectionStrings": {
       "DefaultConnection": "Server=localhost;Database=DaemonsMCP;Trusted_Connection=true;TrustServerCertificate=true"
     }
   }
  1. Run Migrations:
   cd server/DaemonsMCP.Api
   dotnet ef database update
  1. Start the Host:
   dotnet run
  1. 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.


πŸ”‘ Key Concepts

Projects

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

File System Nodes

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

Object Hierarchy

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

Items System

Flexible hierarchical tree for organizing:

  • Development notes and documentation
  • Task lists and workflows
  • Code annotations and references
  • Custom taxonomies with Types and Status

πŸ› οΈ Common Tasks

Add a New Project

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"
}

Search for Files

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=true

Browse Code Structure

Via 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

πŸ“Š System Requirements

Minimum

  • Windows 10/11 or Windows Server 2019+
  • 4 GB RAM
  • SQL Server Express 2019+
  • .NET 8.0 Runtime
  • 500 MB disk space

Recommended

  • 8 GB RAM
  • SQL Server Developer/Standard 2022+
  • SSD storage
  • Dedicated database server for multi-user scenarios

πŸ†š V2.4 vs V3 Comparison

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

🀝 Contributing

See Extending the System for information on:

  • Adding new MCP tools
  • Creating custom command handlers
  • Extending the domain model
  • Building UI features

πŸ“ License

MIT License in the sources.


πŸ”— Quick Links