Task Researcher MCP Server

Researcher for AI Coding that analyzes task complexity and runs deep research (STORM) to decompose complex tasks into subtasks, as an MCP Server or

Local serverstdioPython

What is the Task Researcher MCP server?

Most planning and project tracking work still happens through a UI a human drives. Task Researcher MCP server moves it into the conversation instead. Researcher for AI Coding that analyzes task complexity and runs deep research (STORM) to decompose complex tasks into subtasks, as an MCP Server or CLI.

The short version

A Python task management system designed for AI-driven development, featuring integrated, in-depth research capabilities using the knowledge-storm library. Break down complex projects, generate tasks, and leverage automated research to inform implementation details.

The tools it exposes

The server publishes 9 tools. What each one is for:

  • parse_inputs — Generates initial tasks from configured spec files
  • update_tasks — Updates tasks from a given ID based on a prompt
  • generate_task_files — Creates individual phase_XX_task_YYY.txt files
  • expand_task — Expands a single task into subtasks (supports research=True for STORM)
  • expand_all_tasks — Expands all eligible pending tasks (supports research=True)
  • analyze_complexity — Analyzes task complexity and saves a report
  • validate_dependencies — Checks dependencies for issues
  • fix_dependencies — Attempts to automatically fix dependency issues
  • research_topic — Runs STORM to generate a research report on a topic

Getting it running

Installation goes through your MCP client rather than a global install: point it at knowledge-storm on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

What it needs from you

Configuration is passed through the environment: ANTHROPIC_API_KEY, BING_SEARCH_API_KEY, TAVILY_API_KEY, GOOGLE_API_KEY, YDC_API_KEY, TASKS_FILE_PATH. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Python 3.10+ * An API key for at least one supported LLM provider (e.g., Anthropic, Google Gemini, OpenAI) set in a .env file (used for task generation, complexity analysis, etc.). * knowledge-storm library (pip install knowledge-storm). * API key for a search engine supported by knowledge-storm (e.g., Bing Search, You.com, Tavily) set in .env (Required for --research in expand

How it compares

Among the planning and project tracking options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Task Researcher's toolset — parse_inputs, update_tasks, generate_task_files and 6 more — is a fair guide to whether it matches your workflow. It is maintained by tejpalvirk; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Task Researcher's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Task Researcher.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
parse_inputsGenerates initial tasks from configured spec files.
update_tasksUpdates tasks from a given ID based on a prompt.
generate_task_filesCreates individual phase_XX_task_YYY.txt files.
expand_taskExpands a single task into subtasks (supports research=True for STORM).
expand_all_tasksExpands all eligible pending tasks (supports research=True).
analyze_complexityAnalyzes task complexity and saves a report.
validate_dependenciesChecks dependencies for issues.
fix_dependenciesAttempts to automatically fix dependency issues.
research_topicRuns STORM to generate a research report on a topic.

How to install the Task Researcher MCP server

{
  "mcpServers": {
    "task-researcher": {
      "command": "uvx",
      "args": ["knowledge-storm"],
      "env": {
        "ANTHROPIC_API_KEY": "your-value",
        "BING_SEARCH_API_KEY": "your-value",
        "TAVILY_API_KEY": "your-value",
        "GOOGLE_API_KEY": "your-value",
        "YDC_API_KEY": "your-value",
        "TASKS_FILE_PATH": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Python 3.10+ * An API key for at least one supported LLM provider (e.g., Anthropic, Google Gemini, OpenAI) set in a .env file (used for task generation, complexity analysis, etc.). * knowledge-storm library (pip install knowledge-storm). * API key for a search engine supported by knowledge-storm (e.g., Bing Search, You.com, Tavily) set in .env (Required for --research in expand
VariableDescriptionRequired
ANTHROPIC_API_KEYCredential the server authenticates with.Yes
BING_SEARCH_API_KEYCredential the server authenticates with.Yes
TAVILY_API_KEYCredential the server authenticates with.Yes
GOOGLE_API_KEYCredential the server authenticates with.Yes
YDC_API_KEYCredential the server authenticates with.Yes
TASKS_FILE_PATHFilesystem location the server is allowed to use.Optional

Example prompts to try

  • Use Task Researcher to parse inputs.
  • Use Task Researcher to update tasks.
  • Use Task Researcher to generate task files.

Frequently asked questions

`expand --research` triggers the full STORM-based workflow, performing live web searches to inform subtasks. `analyze-complexity --research-hint` modifies the prompt to ask the primary LLM to leverage its internal knowledge more deeply without any live search.