Mcp.TaskAndResearch
1.0.0-beta1
See the version list below for details.
dotnet tool install --global Mcp.TaskAndResearch --version 1.0.0-beta1
dotnet new tool-manifest
dotnet tool install --local Mcp.TaskAndResearch --version 1.0.0-beta1
#tool dotnet:?package=Mcp.TaskAndResearch&version=1.0.0-beta1&prerelease
nuke :add-package Mcp.TaskAndResearch --version 1.0.0-beta1
MCP Task and Research Server
A Model Context Protocol (MCP) server for task management and research workflows, with an optional Blazor Server UI dashboard.
Quick Start (5 minutes)
Step 1: Clone & Publish
git clone https://github.com/your-repo/mcp-task-and-research.git
cd mcp-task-and-research
dotnet publish src/Mcp.TaskAndResearch/Mcp.TaskAndResearch.csproj -c Release -o ./publish
Step 2: Add VS Code MCP Configuration
Create or edit .vscode/mcp.json in any project where you want to use the task manager:
{
"servers": {
"task-and-research": {
"type": "stdio",
"command": "dotnet",
"args": [
"C:/path/to/mcp-task-and-research/publish/Mcp.TaskAndResearch.dll"
],
"env": {
"DATA_DIR": "C:/path/to/your-project/.mcp-tasks",
"TASK_MANAGER_UI": "true",
"TASK_MANAGER_UI_AUTO_OPEN": "true"
}
}
}
}
Important: Use absolute paths for both the DLL and
DATA_DIRto ensure the server works correctly regardless of the working directory.
Example Configuration (Windows)
{
"servers": {
"task-and-research": {
"type": "stdio",
"command": "dotnet",
"args": [
"C:\\dg-task manager\\mcp-task-and-research\\publish\\Mcp.TaskAndResearch.dll"
],
"env": {
"DATA_DIR": "C:\\projects\\my-project\\.mcp-tasks",
"TASK_MANAGER_UI": "true",
"TASK_MANAGER_UI_AUTO_OPEN": "true"
}
}
}
}
Step 3: Start Using
- Reload VS Code or use "Developer: Reload Window" (
Ctrl+Shift+P) - The browser opens automatically to the Tasks UI (if
TASK_MANAGER_UI_AUTO_OPEN=true) - Use MCP tools via Copilot/Claude:
plan_task,execute_task,verify_task, etc.
Environment Variables
| Variable | Default | Description |
|---|---|---|
DATA_DIR |
.mcp-tasks |
Use absolute path! Folder for task data storage |
TASK_MANAGER_UI |
false |
Enable Blazor web dashboard (auto-selects available port starting at 9998) |
TASK_MANAGER_UI_AUTO_OPEN |
false |
Auto-open browser when server starts |
Features
MCP Tools
- Task Management: Create, update, split, verify, and manage tasks with dependencies
- Research Mode: In-depth exploration of programming topics
- Process Thought: Record structured reasoning steps
- Project Rules: Initialize and manage project conventions
Blazor UI Dashboard
When TASK_MANAGER_UI=true:
- Tasks View: DataGrid with sorting, filtering, search, status indicators
- Task Details: Dialog for viewing/editing tasks, dependencies, related files
- History View: Browse all task activity including archived tasks (see below)
- Settings View: Configure preferences, theme, language
History & Task Archival
When you clear the task list (via clear_all_tasks MCP tool or UI), completed tasks are automatically saved to snapshot files in the memories/ folder. The History View displays:
- Active tasks: Current tasks from
tasks.json - Archived tasks: Previously cleared tasks from all snapshot files
This means you never lose visibility into past work - cleared tasks remain viewable in History indefinitely.
UI Features
- Dark/Light Theme: Toggle with persistent preference
- Keyboard Shortcuts:
Ctrl+N(new),Ctrl+F(search),Ctrl+S(save),Ctrl+R(refresh),Esc(close),?(help) - Responsive Layout: Mobile-friendly with adaptive navigation
- Real-time Updates: Tasks sync instantly between MCP and UI
- Error Handling: User-friendly error messages with recovery
Architecture
How It Works
┌─────────────────┐ ┌──────────────────┐
│ MCP Client │────▶│ MCP Server │
│ (Copilot/Claude)│ │ (stdio) │
└─────────────────┘ └────────┬─────────┘
│
┌────────▼─────────┐
│ Shared DI │
│ Container │
└────────┬─────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
┌────────▼────────┐ ┌──────▼───────┐ ┌───────▼───────┐
│ TaskStore │ │ MemoryStore │ │ RulesStore │
│ (tasks) │ │ (context) │ │ (conventions)│
└────────┬────────┘ └──────────────┘ └───────────────┘
│
┌────────▼────────┐
│ Blazor UI │ (optional, auto-port)
│ (MudBlazor) │
└─────────────────┘
- Shared Services: UI and MCP share the same data stores via DI
- Real-time Sync: Changes via MCP tools appear instantly in UI and vice versa
- Conditional Hosting: UI only starts when
TASK_MANAGER_UI=true
Project Structure
src/Mcp.TaskAndResearch/
├── Config/ # Configuration and path resolution
├── Data/ # TaskStore, MemoryStore, data models
├── Prompts/ # Prompt template builders
├── Server/ # MCP server configuration
├── Tools/ # MCP tool implementations
├── UI/ # Blazor UI (when enabled)
│ ├── Components/ # Razor components
│ ├── Services/ # UI services
│ └── Theme/ # MudBlazor theme
└── wwwroot/ # Static assets
Development
Prerequisites
- .NET 9 SDK
- VS Code with GitHub Copilot or Claude extension
Build from Source
# Clone the repository
git clone https://github.com/your-repo/mcp-task-and-research.git
cd mcp-task-and-research
# Build (debug)
dotnet build
# Run tests
dotnet test
# Publish release build
dotnet publish src/Mcp.TaskAndResearch/Mcp.TaskAndResearch.csproj -c Release -o ./publish
Rebuilding After Updates
When you pull updates from the repository:
cd mcp-task-and-research
git pull
dotnet publish src/Mcp.TaskAndResearch/Mcp.TaskAndResearch.csproj -c Release -o ./publish
Note: You must stop the MCP server before republishing (reload VS Code or close it), otherwise the DLL will be locked.
Run Standalone (Development)
For development without an MCP client:
# MCP server only (no UI)
dotnet run --project src/Mcp.TaskAndResearch
# With UI enabled
set TASK_MANAGER_UI=true && dotnet run --project src/Mcp.TaskAndResearch
# Then open http://localhost:9998
Using dotnet run vs Published DLL
| Method | Command | Best For |
|---|---|---|
dotnet run |
dotnet run --project path/to/csproj |
Development, debugging |
| Published DLL | dotnet path/to/Mcp.TaskAndResearch.dll |
Production, multi-project use |
For production use, always use the published DLL - it's faster to start and doesn't require recompilation.
Known Limitations
- JSON File Storage: Tasks are persisted to
DATA_DIR/tasks.json- changes from both UI and MCP tools are saved immediately - Single Project: Currently reads from one
DATA_DIR; no multi-project switching in UI - No Authentication: UI has no auth; use for local development only
- SignalR Reconnection: Brief stale data possible during connection recovery
License
MIT License - See LICENSE file for details
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.8 | 196 | 1/27/2026 |
| 1.2.1 | 136 | 1/26/2026 |
| 1.1.0 | 141 | 1/26/2026 |
| 1.0.23 | 142 | 1/21/2026 |
| 1.0.22 | 135 | 1/16/2026 |
| 1.0.21 | 138 | 1/16/2026 |
| 1.0.12 | 137 | 1/13/2026 |
| 1.0.11 | 133 | 1/13/2026 |
| 1.0.10 | 140 | 1/13/2026 |
| 1.0.9 | 130 | 1/12/2026 |
| 1.0.8 | 137 | 1/12/2026 |
| 1.0.7 | 134 | 1/12/2026 |
| 1.0.6 | 127 | 1/12/2026 |
| 1.0.5 | 121 | 1/12/2026 |
| 1.0.3 | 130 | 1/12/2026 |
| 1.0.2 | 132 | 1/12/2026 |
| 1.0.1 | 140 | 1/12/2026 |
| 1.0.0 | 132 | 1/12/2026 |
| 1.0.0-beta1 | 119 | 1/12/2026 |