Mcp.TaskAndResearch 1.0.22

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Mcp.TaskAndResearch --version 1.0.22
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Mcp.TaskAndResearch --version 1.0.22
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Mcp.TaskAndResearch&version=1.0.22
                    
nuke :add-package Mcp.TaskAndResearch --version 1.0.22
                    

MCP Task and Research Server

🦐 A .NET port of mcp-shrimp-task-manager β€” Intelligent task management for AI-powered development.

A powerful Model Context Protocol (MCP) server that provides advanced task management and research capabilities for AI assistants. This server enables structured task planning, dependency management, and guided research workflows β€” with an optional Blazor Server UI dashboard.

NuGet


πŸš€ Quick Start

1. Install

dotnet tool install -g Mcp.TaskAndResearch

2. Configure VS Code

Create or edit .vscode/mcp.json in your project:

{
  "servers": {
    "task-and-research": {
      "type": "stdio",
      "command": "mcp-task-and-research",
      "env": {
        "DATA_DIR": "${workspaceFolder}/.mcp-tasks",
        "TASK_MANAGER_UI": "true",
        "TASK_MANAGER_UI_AUTO_OPEN": "true"
      }
    }
  }
}

πŸ’‘ Important: Always set DATA_DIR to a project-specific path to keep tasks isolated between projects.

3. Start Using

  1. Reload VS Code (Ctrl+Shift+P β†’ "Developer: Reload Window")
  2. Browser opens automatically to the Tasks UI
  3. Use MCP tools via Copilot/Claude: plan_task, execute_task, verify_task, etc.

Update to latest version:

dotnet tool update -g Mcp.TaskAndResearch

πŸ’‘ What is This?

MCP Task and Research Server transforms how AI agents approach software development. Instead of losing context or repeating work, it provides:

  • 🧠 Persistent Memory: Tasks and progress persist across sessions
  • πŸ“‹ Structured Workflows: Guided processes for planning, execution, and verification
  • πŸ”„ Smart Decomposition: Automatically breaks complex tasks into manageable subtasks
  • 🎯 Context Preservation: Never lose your place, even with token limits
  • πŸ”— Dependency Tracking: Automatic management of task relationships

✨ Core Features

πŸ“‹ Task Management

Feature Description
Intelligent Planning Deep analysis of requirements before implementation
Task Decomposition Break down large projects into atomic, testable units
Dependency Resolution Automatic resolution by task name or ID
Progress Monitoring Real-time status tracking and updates
Verification & Scoring Score task completion against criteria
Task History Automatic snapshots and backups

πŸ”¬ Research Mode

  • Guided Research: Systematic exploration of technologies and solutions
  • State Management: Track research progress across sessions
  • Next Steps Planning: Define and follow research directions

πŸ“ Project Rules

  • Project Standards: Define and maintain coding standards across your project
  • Consistency: Ensure AI assistants follow your conventions

πŸ€” Thinking Tools

  • Process Thought: Structured thinking with branching and revision support
  • Chain-of-Thought: Encourages reflection and style consistency

πŸ’Ύ Memory & Data Management

  • Task Snapshots: Automatic preservation of task state when clear_all_tasks runs (completed tasks are stored in DATA_DIR/memory)
  • Memory Store: Dedicated memory management for context storage
  • Automatic Backups: Completed tasks are written to timestamped JSON under DATA_DIR/memory before a clear; pending tasks are dropped during clear
  • Per-Project Isolation: Set DATA_DIR to a project-scoped path (e.g., .mcp-tasks) and launch from the workspace root; without DATA_DIR, data is stored in the user-level default directory and shared across projects

πŸ–₯️ 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
  • Settings View: Configure preferences, theme, language
  • Dark/Light Theme: Toggle with persistent preference
  • Keyboard Shortcuts: Ctrl+N, Ctrl+F, Ctrl+S, Ctrl+R, Esc, ?
  • Real-time Updates: Tasks sync instantly between MCP and UI

🎯 Common Use Cases

<details> <summary><b>Feature Development</b></summary>

You: "plan task: add user authentication with JWT"
# Agent analyzes codebase, creates subtasks with dependencies

You: "execute task"
# Implements authentication step by step, tracking progress

</details>

<details> <summary><b>Bug Fixing</b></summary>

You: "plan task: fix memory leak in data processing"
# Agent researches issue, creates fix plan with verification criteria

You: "execute all pending tasks"
# Executes all fix tasks, verifying each one

</details>

<details> <summary><b>Research & Learning</b></summary>

You: "research: compare Blazor vs React for this project"
# Systematic analysis with pros/cons, saved to memory

You: "plan task: migrate component to chosen framework"
# Creates migration plan based on research findings

</details>

<details> <summary><b>Project Setup</b></summary>

You: "init project rules"
# Establishes coding standards and conventions

You: "plan task: set up CI/CD pipeline"
# Creates structured plan following your project rules

</details>


πŸ› οΈ Available MCP Tools

Task Management Tools

Tool Description
plan_task Analyze requirements and create a structured task plan
split_tasks Break down complex tasks into smaller subtasks
list_tasks List all tasks with optional status filter
execute_task Execute a specific task by ID
verify_task Verify task completion with scoring
update_task Update task details, dependencies, or files
delete_task Remove a task by ID
clear_all_tasks Archive and clear all tasks
query_task Search tasks by keyword or ID
get_task_detail Get full details for a specific task

Research & Thinking Tools

Tool Description
research_mode Enter guided research mode for a topic
process_thought Record structured thinking steps
analyze_task Deep analysis of task requirements and approach
reflect_task Critical review of analysis results for optimization

Project & Utility Tools

Tool Description
init_project_rules Initialize project coding standards
get_server_info Returns basic server metadata
play_beep Play an audible beep notification (Windows only)

πŸ› οΈ Advanced Installation Options

For most users, the Quick Start above is all you need. For advanced scenarios:

Clone & Build (For Development)

git clone https://github.com/d-german/mcp-task-and-research.git
cd mcp-task-and-research
dotnet publish src/Mcp.TaskAndResearch/Mcp.TaskAndResearch.csproj -c Release -o ./publish

Then configure with the published DLL path instead of the command name.


⚠️ Data Storage & Project Isolation

TL;DR: Always set DATA_DIR to a project-specific path in your .vscode/mcp.json to keep tasks isolated between projects.

Why This Matters

Without DATA_DIR, all projects share one global task list, which causes:

  • Tasks from different projects mixed together
  • Wrong task execution (agent picks tasks from other projects)
  • Broken dependencies across unrelated projects

Use project-specific paths in each project's .vscode/mcp.json:

{
  "env": {
    "DATA_DIR": "${workspaceFolder}/.mcp-tasks"
  }
}

Or use absolute paths:

{
  "env": {
    "DATA_DIR": "C:/projects/my-project/.mcp-tasks"
  }
}

Best practices:

  • Use .mcp-tasks folder convention
  • Add to .gitignore for private tasks (or commit for team sharing)
  • One DATA_DIR per project ensures complete isolation

Environment Variables

Core Settings

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

Audio Notification Settings

Variable Default Description
ENABLE_COMPLETION_BEEP false Enable audible beep notifications via play_beep tool
BEEP_FREQUENCY 2500 Beep frequency in Hz (range: 37-32767)
BEEP_DURATION 1000 Beep duration in milliseconds (range: 100-5000)

Note: The play_beep tool only works on Windows. It's useful for getting notified when an AI agent completes a long-running task.


πŸ“š 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 memory/ 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.


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

  1. JSON File Storage: Tasks are persisted to DATA_DIR/tasks.json - changes from both UI and MCP tools are saved immediately
  2. Single Project: Currently reads from one DATA_DIR; no multi-project switching in UI
  3. No Authentication: UI has no auth; use for local development only
  4. SignalR Reconnection: Brief stale data possible during connection recovery

πŸ“„ License

MIT License - See LICENSE file for details.


🌟 Credits


<p align="center"> <a href="https://github.com/d-german/mcp-task-and-research">GitHub</a> β€’ <a href="https://www.nuget.org/packages/Mcp.TaskAndResearch">NuGet</a> β€’ <a href="https://github.com/d-german/mcp-task-and-research/issues">Issues</a> </p>

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.2.8 152 1/27/2026
1.2.1 116 1/26/2026
1.1.0 113 1/26/2026
1.0.23 123 1/21/2026
1.0.22 109 1/16/2026
1.0.21 117 1/16/2026
1.0.12 115 1/13/2026
1.0.11 114 1/13/2026
1.0.10 112 1/13/2026
1.0.9 115 1/12/2026
1.0.8 110 1/12/2026
1.0.7 113 1/12/2026
1.0.6 111 1/12/2026
1.0.5 109 1/12/2026
1.0.3 109 1/12/2026
1.0.2 116 1/12/2026
1.0.1 125 1/12/2026
1.0.0 113 1/12/2026
1.0.0-beta1 108 1/12/2026