An intelligent task management system based on MCP, providing an efficient programming workflow framework for AI Agents with an optional web-based GUI.
🚀 An intelligent task management system based on Model Context Protocol (MCP), providing an efficient programming workflow framework for AI Agents.
Shrimp Task Manager guides Agents through structured workflows for systematic programming, enhancing task memory management mechanisms, and effectively avoiding redundant and repetitive coding work.
ENABLE_GUI=true
in your .env
file. When enabled, a WebGUI.md
file containing the access address will be created in your DATA_DIR
. You can customize the web port by setting WEB_PORT
(if not specified, an available port will be automatically selected).Shrimp Task Manager offers a structured approach to AI-assisted programming through guided workflows and systematic task management.
Shrimp is essentially a prompt template that guides AI Agents to better understand and work with your project. It uses a series of prompts to ensure the Agent aligns closely with your project's specific needs and conventions.
Before diving into task planning, you can leverage the research mode for technical investigation and knowledge gathering. This is particularly useful when:
Simply tell the Agent "research [your topic]" or "enter research mode for [technology/problem]" to begin systematic investigation. The research findings will then inform your subsequent task planning and development decisions.
When working with a new project, simply tell the Agent "init project rules". This will guide the Agent to generate a set of rules tailored to your project's specific requirements and structure.
To develop or update features, use the command "plan task [your description]". The system will reference the previously established rules, attempt to understand your project, search for relevant code sections, and propose a comprehensive plan based on the current state of your project.
During the planning process, Shrimp guides the Agent through multiple steps of thinking. You can review this process and provide feedback if you feel it's heading in the wrong direction. Simply interrupt and share your perspective - the Agent will incorporate your feedback and continue the planning process.
When you're satisfied with the plan, use "execute task [task name or ID]" to implement it. If you don't specify a task name or ID, the system will automatically identify and execute the highest priority task.
If you prefer to execute all tasks in sequence without manual intervention for each task, use "continuous mode" to automatically process the entire task queue.
Due to LLM token limits, context may be lost during lengthy conversations. If this occurs, simply open a new chat session and ask the Agent to continue execution. The system will pick up where it left off without requiring you to repeat the task details or context.
You can switch the language of system prompts by setting the TEMPLATES_USE
environment variable. It supports en
(English) and zh
(Traditional Chinese) by default. Furthermore, you can copy an existing template directory (e.g., src/prompts/templates_en
) to the location specified by DATA_DIR
, modify it, and then point TEMPLATES_USE
to your custom template directory name. This allows for deeper prompt customization. For detailed instructions.
Shrimp Task Manager includes a specialized research mode designed for systematic technical investigation and knowledge gathering.
Research Mode is a guided workflow system that helps AI Agents conduct thorough and systematic technical research. It provides structured approaches to exploring technologies, comparing solutions, investigating best practices, and gathering comprehensive information for programming tasks.
Research Mode is particularly valuable for:
Simply tell the Agent to enter research mode with your topic:
The system will guide the Agent through structured research phases, ensuring thorough investigation while maintaining focus on your specific needs.
💡 Recommendation: For the best research mode experience, we recommend using Claude 4 Sonnet, which provides exceptional analytical capabilities and comprehensive research synthesis.
Shrimp Task Manager has long-term memory capabilities, automatically saving task execution history and providing reference experiences when planning new tasks.
Through effective use of the task memory function, the system can continuously accumulate experience, with intelligence level and work efficiency continuously improving.
The Project Rules feature helps maintain consistency across your codebase:
⚠️ Recommendation: Initialize project rules when your project grows larger or undergoes significant changes. This helps maintain consistency and quality as complexity increases.
Use the init_project_rules
tool to set up or update project standards when:
You can easily access this feature with simple natural language commands:
This tool is particularly valuable when your codebase expands or undergoes significant structural changes, helping maintain consistent development practices throughout the project lifecycle.
To install Shrimp Task Manager for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @cjo4m06/mcp-shrimp-task-manager --client claude
# Install dependencies
npm install
# Build and start service
npm run build
Shrimp Task Manager can be used with any client that supports the Model Context Protocol, such as Cursor IDE.
Shrimp Task Manager offers two configuration methods: global configuration and project-specific configuration.
Shrimp Task Manager now supports the ListRoots protocol, which enables automatic project isolation and flexible path configuration:
If your client supports ListRoots (e.g., Cursor IDE):
If your client doesn't support ListRoots:
~/.cursor/mcp.json
)mcpServers
section:Option A: Absolute Path (Project Isolation Mode)
{
"mcpServers": {
"shrimp-task-manager": {
"command": "node",
"args": ["/path/to/mcp-shrimp-task-manager/dist/index.js"],
"env": {
"DATA_DIR": "/Users/username/ShrimpData", // Absolute path - creates project folders automatically
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
Option B: NPX with Absolute Path
{
"mcpServers": {
"shrimp-task-manager": {
"command": "npx",
"args": ["-y", "mcp-shrimp-task-manager"],
"env": {
"DATA_DIR": "/Users/username/ShrimpData", // Absolute path - creates project folders automatically
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
⚠️ Please replace
/path/to/mcp-shrimp-task-manager
and/Users/username/ShrimpData
with your actual paths.💡 Absolute Path Advantage: With ListRoots support, Shrimp automatically creates separate folders for each project (e.g.,
/Users/username/ShrimpData/my-project/
,/Users/username/ShrimpData/another-project/
), enabling perfect project isolation with a single global configuration.💡 Optional: You can add
"WEB_PORT": "3000"
to theenv
section to specify a custom port for the web GUI. If not specified, an available port will be automatically selected.
You can also set up dedicated configurations for each project. This method allows using relative paths for project-contained data storage:
.cursor
directory in the project rootmcp.json
file in this directory with the following content:Option A: Relative Path (Project-Contained Mode)
{
"mcpServers": {
"shrimp-task-manager": {
"command": "node",
"args": ["/path/to/mcp-shrimp-task-manager/dist/index.js"],
"env": {
"DATA_DIR": ".shrimp", // Relative path - creates folder within project root
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
Option B: NPX with Relative Path
{
"mcpServers": {
"shrimp-task-manager": {
"command": "npx",
"args": ["-y", "mcp-shrimp-task-manager"],
"env": {
"DATA_DIR": "shrimp-data", // Relative path - creates folder within project root
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
Option C: Absolute Path (Alternative)
{
"mcpServers": {
"shrimp-task-manager": {
"command": "npx",
"args": ["-y", "mcp-shrimp-task-manager"],
"env": {
"DATA_DIR": "/Users/username/ShrimpData", // Absolute path with project isolation
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
⚠️ Please replace
/path/to/mcp-shrimp-task-manager
with your actual path.💡 Relative Path Advantage: Data is stored within your project directory (e.g.,
./shrimp-data/
), making it easy to include or exclude from version control as needed.💡 Optional: You can add
"WEB_PORT": "3000"
to theenv
section to specify a custom port for the web GUI. If not specified, an available port will be automatically selected.
The DATA_DIR parameter is the directory where Shrimp Task Manager stores task data, conversation logs, and other information. The new implementation supports both absolute and relative paths with intelligent behavior based on your client's capabilities.
If your client supports the ListRoots protocol (like Cursor IDE), Shrimp Task Manager automatically detects your project root and provides enhanced functionality:
Absolute Path Mode (Project Isolation):
"DATA_DIR": "/Users/username/ShrimpData"
{DATA_DIR}/{project-name}/
automatically/Users/username/ShrimpData/my-app/
Relative Path Mode (Project-Contained):
"DATA_DIR": ".shrimp"
or "DATA_DIR": "shrimp-data"
{project-root}/{DATA_DIR}/
within your project./shrimp-data/
If your client doesn't support ListRoots, the system falls back to legacy behavior:
Legacy Warning: Without ListRoots support, using relative paths may cause:
- Data files not found, causing system initialization failure
- Task status loss or inability to save correctly
- Inconsistent application behavior across different environments
- System crashes or failure to start
Use Absolute Path (Global) when:
Use Relative Path (Project-Specific) when:
Use Legacy Mode when:
Shrimp Task Manager supports customizing prompt behavior through environment variables, allowing you to fine-tune AI assistant responses without modifying code. You can set these variables in the configuration or through an .env
file:
{
"mcpServers": {
"shrimp-task-manager": {
"command": "node",
"args": ["/path/to/mcp-shrimp-task-manager/dist/index.js"],
"env": {
"DATA_DIR": "/path/to/project/data",
"MCP_PROMPT_PLAN_TASK": "Custom planning guidance...",
"MCP_PROMPT_EXECUTE_TASK_APPEND": "Additional execution instructions...",
"TEMPLATES_USE": "en",
"ENABLE_GUI": "false"
}
}
}
}
There are two customization methods:
MCP_PROMPT_[FUNCTION_NAME]
): Completely replace the default promptMCP_PROMPT_[FUNCTION_NAME]_APPEND
): Add content to the existing promptAdditionally, there are other system configuration variables:
en
. Currently available options are en
and zh
. To use custom templates, copy the src/prompts/templates_en
directory to the location specified by DATA_DIR
, rename the copied directory (e.g., to my_templates
), and set TEMPLATES_USE
to the new directory name (e.g., my_templates
)true
to enable, false
to disable (default)ENABLE_GUI
is set to true
For detailed instructions on customizing prompts, including supported parameters and examples, see the Prompt Customization Guide.
You can enable Cursor Settings => Features => Custom modes, and configure the following two modes:
You are a professional task planning expert. You must interact with users, analyze their needs, and collect project-related information. Finally, you must use "plan_task" to create tasks. When the task is created, you must summarize it and inform the user to use the "TaskExecutor" mode to execute the task.
You must focus on task planning. Do not use "execute_task" to execute tasks.
Serious warning: you are a task planning expert, you cannot modify the program code directly, you can only plan tasks, and you cannot modify the program code directly, you can only plan tasks.
You are a professional task execution expert. When a user specifies a task to execute, use "execute_task" to execute the task.
If no task is specified, use "list_tasks" to find unexecuted tasks and execute them.
When the execution is completed, a summary must be given to inform the user of the conclusion.
You can only perform one task at a time, and when a task is completed, you are prohibited from performing the next task unless the user explicitly tells you to.
If the user requests "continuous mode", all tasks will be executed in sequence.
💡 Choose the appropriate mode based on your needs:
- Use TaskPlanner mode when planning tasks
- Use TaskExecutor mode when executing tasks
If your tool doesn't support Custom modes, you can:
Please plan the following task: ......
or Please start executing the task...
After configuration, you can use the following tools:
Category | Tool Name | Description |
---|---|---|
Task Planning | plan_task | Start planning tasks |
Task Analysis | analyze_task | In-depth analysis of task requirements |
process_thought | Step-by-step reasoning for complex problems | |
Solution Assessment | reflect_task | Reflect and improve solution concepts |
Research & Investigation | research_mode | Enter systematic technical research mode |
Project Management | init_project_rules | Initialize or update project standards and rules |
Task Management | split_tasks | Break tasks into subtasks |
list_tasks | Display all tasks and status | |
query_task | Search and list tasks | |
get_task_detail | Display complete task details | |
delete_task | Delete incomplete tasks | |
Task Execution | execute_task | Execute specific tasks |
verify_task | Verify task completion |
This project is licensed under the MIT License - see the LICENSE file for details.
For the best experience, we recommend using the following models:
Due to differences in training methods and understanding capabilities across models, using other models might lead to varying results for the same prompts. This project has been optimized for Claude 3.7 and Gemini 2.5.
Interact with the accounting data in your business using our official MCP server
Human-in-the-loop platform - Allow AI agents and automations to send requests for approval to your gotoHuman inbox.
Connects AI agents to the Feishu/Lark platform for automating tasks like document processing, conversation management, and calendar scheduling.
Interact with the Folderr API to manage and communicate with Folderr Assistants.
A server for integrating Jira with Claude, enabling project and issue management. Requires configuration via environment variables.
A Jira integration that allows LLMs to act as project managers and personal assistants for teams.
Interact with and manage your Bitrix24 CRM instance through a powerful set of tools.
Interacting with Obsidian via REST API
A simple note-taking server for recording and managing notes with AI models, using AWS DynamoDB for storage.
Automate your local browser