LABSCO SUMMARY
Decomposition is the feature; the CRUD is table stakes.
Task lists are easy to build and this one does not pretend otherwise — what it adds is the step where a vague task becomes a set of tractable subtasks with a complexity estimate attached, and where a product document becomes a plan without someone transcribing it. The multi-system bridging is worth noting if you already use another task server: this can sit in front rather than asking you to migrate.
What it is
A Python task-management system with an MCP interface, built on LangGraph's ReAct pattern. Beyond create-list-update-delete it does the part that is normally manual: splitting a large task into subtasks, judging complexity, and turning a PRD into structured work. It can also connect to other task systems rather than replacing them.
What you get
- Task management with status tracking and dependency handling
- Task decomposition — break a complex task into subtasks, with complexity assessment and automatic PRD parsing
- Model choice rather than a fixed provider: OpenAI, Claude and others through the same interface
- An interactive command line as well as the MCP server, so the same task store is reachable both ways
- Bridges to existing task systems including mcp-shrimp-task-manager and claude-task-master
- A LangGraph Studio path for visualising the agent graph, stepping through execution with breakpoints and editing state mid-run
Requirements
At least one model key — OPENAI_API_KEY or ANTHROPIC_API_KEY — in a .env file at the project root. Optional model settings there too: LLM_MODEL defaults to gpt-4o, TEMPERATURE to 0.2 and MAX_TOKENS to 4000. Install with uv pip install -e . or pip install -e ., plus npm install for the MCP server's Node dependencies. The MCP entry point is run_mcp.py, launched over stdio with the model key in the client's env block. LangGraph Studio, if you want it, needs langgraph-cli 0.1.55 or higher and Python 3.11+. MIT licensed.
Setup effort
Build from source — git clone https://github.com/acnlabs/OmniTaskAgent.git
USE CASES
01
Breaking down something too big to start
Hand over the task and get subtasks with a complexity assessment, rather than staring at one line that says rewrite the pipeline.
02
Turning a PRD into work items
Parse the document automatically into structured tasks instead of transcribing it by hand.
03
Tracking progress from the editor
Create, list and update tasks through the MCP connection inside Cursor or VS Code while you work.
04
Debugging the agent's reasoning
Open the graph in LangGraph Studio, set a breakpoint and step through the run to see where a plan went wrong.
BEFORE YOU INSTALL
What to know first
Requires
- OPENAI_API_KEY or ANTHROPIC_API_KEY (at least one) in a .env file at the project root or your client's env block
- Python 3.11 or higher
- npm, for the Node.js dependencies
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
TERMINAL
git clone https://github.com/acnlabs/OmniTaskAgent.git
cd OmniTaskAgent
uv venv
source .venv/bin/activate
uv pip install -e .
npm installCreate a .env file in the project root with OPENAI_API_KEY or ANTHROPIC_API_KEY (at least one)
MCP Clients
Cursor
CURSOR · JSON
{
"mcpServers": {
"task-master-agent": {
"type": "stdio",
"command": "<YOUR_PATH_TO_PYTHON>",
"args": [
"<YOUR_PATH_TO_RUN_MCP>"
],
"env": {
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}<YOUR_PATH_TO_PYTHON> is .venv/bin/python inside your OmniTaskAgent clone, and <YOUR_PATH_TO_RUN_MCP> is the full path to run_mcp.py in that clone. Set whichever key you use — OPENAI_API_KEY or ANTHROPIC_API_KEY — in this block's env, or in the .env file from the last step.
VS Code
VS CODE · JSON
{
"servers": {
"task-master-agent": {
"type": "stdio",
"command": "<YOUR_PATH_TO_PYTHON>",
"args": [
"<YOUR_PATH_TO_RUN_MCP>"
],
"env": {
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}<YOUR_PATH_TO_PYTHON> is .venv/bin/python inside your OmniTaskAgent clone, and <YOUR_PATH_TO_RUN_MCP> is the full path to run_mcp.py in that clone. Set whichever key you use — OPENAI_API_KEY or ANTHROPIC_API_KEY — in this block's env, or in the .env file from the last step.