# cjo4m06/mcp-shrimp-task-manager architecture

> Architecture diagram of the GitHub repository cjo4m06/mcp-shrimp-task-manager, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/cjo4m06/mcp-shrimp-task-manager
- Repository: https://github.com/cjo4m06/mcp-shrimp-task-manager

## Overview

Shrimp Task Manager is an MCP server that helps AI clients plan, decompose, execute, and track development tasks, with persistent task memory and optional web interfaces. The principal workflow begins with an AI client invoking registered tools; task tools use prompts and, for supported operations, the task model. Planning and decomposition can incorporate specialized agents. The repository also includes an optional lightweight web GUI and a separate React Task Viewer. Some tool implementations and viewer-server wiring were not sampled, so those relationships are shown only where documented or evidenced.

Main entry points: [`src/index.ts`](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/index.ts) (MCP Server), [`src/tools/task`](https://github.com/cjo4m06/mcp-shrimp-task-manager/tree/main/src/tools/task) (Task Tools), [`src/tools/research/researchMode.ts`](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/tools/research/researchMode.ts) (Research Mode), [`src/models/taskModel.ts`](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/models/taskModel.ts) (Task Memory)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mcp["MCP Runtime"]
  node_runtime["MCP Server<br/>[index.ts]"]
  node_datafiles["Data Paths<br/>[paths.ts]"]
end

subgraph group_workflow["Task Workflows"]
  node_toolset["Task Tools"]
  node_research["Research Mode<br/>[researchMode.ts]"]
  node_projectrules["Project Rules"]
  node_thought["Thought Processing<br/>[processThought.ts]"]
  node_taskstore[("Task Memory<br/>[taskModel.ts]")]
end

subgraph group_intelligence["Prompts &amp; Agents"]
  node_prompts["Prompt Templates<br/>[loader.ts]"]
  node_agentfiles["Agent Definitions<br/>[agentLoader.ts]"]
  node_agentmatch["Agent Matching<br/>[agentMatcher.ts]"]
end

subgraph group_interfaces["Web Interfaces"]
  node_webgui["Lightweight Web GUI<br/>[webServer.ts]"]
  node_viewer["Task Viewer<br/>[App.jsx]"]
  node_viewertable["Task Table<br/>[TaskTable.jsx]"]
  node_historytasks["History Tasks"]
  node_taskdetail["Task Details<br/>[TaskDetailView.jsx]"]
  node_viewerapi["Viewer Server<br/>[server.js]"]
end

node_ai(("AI Client"))
node_vieweruser(("Task Viewer User"))

node_ai -->|"invokes tools"| node_runtime
node_runtime -->|"dispatches calls"| node_toolset
node_runtime -->|"dispatches calls"| node_research
node_runtime -->|"dispatches calls"| node_projectrules
node_runtime -->|"dispatches calls"| node_thought
node_toolset -->|"reads and updates"| node_taskstore
node_toolset -->|"generates prompts"| node_prompts
node_research -->|"generates prompts"| node_prompts
node_toolset -->|"matches agents"| node_agentmatch
node_agentmatch -->|"loads definitions"| node_agentfiles
node_taskstore -->|"resolves storage paths"| node_datafiles
node_runtime -->|"starts optionally"| node_webgui
node_vieweruser -->|"manages tasks"| node_viewer
node_viewer -->|"renders"| node_viewertable
node_historytasks -->|"opens details"| node_taskdetail

click node_runtime "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/index.ts"
click node_toolset "https://github.com/cjo4m06/mcp-shrimp-task-manager/tree/main/src/tools/task"
click node_research "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/tools/research/researchMode.ts"
click node_projectrules "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/tools/project/initProjectRules.ts"
click node_thought "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/tools/thought/processThought.ts"
click node_taskstore "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/models/taskModel.ts"
click node_prompts "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/prompts/loader.ts"
click node_agentfiles "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/utils/agentLoader.ts"
click node_agentmatch "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/utils/agentMatcher.ts"
click node_datafiles "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/utils/paths.ts"
click node_webgui "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/web/webServer.ts"
click node_viewer "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/src/App.jsx"
click node_viewertable "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/src/components/TaskTable.jsx"
click node_historytasks "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/src/components/HistoryTasksView.jsx"
click node_taskdetail "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/src/components/TaskDetailView.jsx"
click node_viewerapi "https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/server.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_runtime,node_datafiles,node_ai toneBlue
class node_toolset,node_research,node_projectrules,node_thought,node_taskstore toneAmber
class node_prompts,node_agentfiles,node_agentmatch toneMint
class node_webgui,node_viewer,node_viewertable,node_historytasks,node_taskdetail,node_viewerapi,node_vieweruser toneRose
```

## Components

### MCP Runtime

- [MCP Server](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/index.ts): `src/index.ts`
- [Data Paths](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/utils/paths.ts): `src/utils/paths.ts`

### Task Workflows

- [Task Tools](https://github.com/cjo4m06/mcp-shrimp-task-manager/tree/main/src/tools/task): `src/tools/task`
- [Research Mode](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/tools/research/researchMode.ts): `src/tools/research/researchMode.ts`
- [Project Rules](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/tools/project/initProjectRules.ts): `src/tools/project/initProjectRules.ts`
- [Thought Processing](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/tools/thought/processThought.ts): `src/tools/thought/processThought.ts`
- [Task Memory](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/models/taskModel.ts): `src/models/taskModel.ts`

### Prompts & Agents

- [Prompt Templates](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/prompts/loader.ts): `src/prompts/loader.ts`
- [Agent Definitions](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/utils/agentLoader.ts): `src/utils/agentLoader.ts`
- [Agent Matching](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/utils/agentMatcher.ts): `src/utils/agentMatcher.ts`

### Web Interfaces

- [Lightweight Web GUI](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/src/web/webServer.ts): `src/web/webServer.ts`
- [Task Viewer](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/src/App.jsx): `tools/task-viewer/src/App.jsx`
- [Task Table](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/src/components/TaskTable.jsx): `tools/task-viewer/src/components/TaskTable.jsx`
- [History Tasks](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/src/components/HistoryTasksView.jsx): `tools/task-viewer/src/components/HistoryTasksView.jsx`
- [Task Details](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/src/components/TaskDetailView.jsx): `tools/task-viewer/src/components/TaskDetailView.jsx`
- [Viewer Server](https://github.com/cjo4m06/mcp-shrimp-task-manager/blob/main/tools/task-viewer/server.js): `tools/task-viewer/server.js`

### Other components

- **AI Client**
- **Task Viewer User**

## Connections

- AI Client → MCP Server: invokes tools (evidence: `README.md`)
- MCP Server → Task Tools: dispatches calls (evidence: `src/index.ts`)
- MCP Server → Research Mode: dispatches calls (evidence: `src/index.ts`)
- MCP Server → Project Rules: dispatches calls (evidence: `src/index.ts`)
- MCP Server → Thought Processing: dispatches calls (evidence: `src/index.ts`)
- Task Tools → Task Memory: reads and updates (evidence: `src/tools/task/listTasks.ts`)
- Task Tools → Prompt Templates: generates prompts (evidence: `src/tools/task/listTasks.ts`)
- Research Mode → Prompt Templates: generates prompts (evidence: `src/tools/research/researchMode.ts`)
- Task Tools → Agent Matching: matches agents (evidence: `src/tools/task/splitTasks.ts`)
- Agent Matching → Agent Definitions: loads definitions (evidence: `src/utils/agentMatcher.ts`)
- Task Memory → Data Paths: resolves storage paths (evidence: `src/models/taskModel.ts`)
- MCP Server → Lightweight Web GUI: starts optionally (evidence: `src/index.ts`)
- Task Viewer User → Task Viewer: manages tasks (evidence: `README.md`)
- Task Viewer → Task Table: renders (evidence: `tools/task-viewer/src/App.jsx`)
- History Tasks → Task Details: opens details (evidence: `tools/task-viewer/src/components/HistoryTasksView.jsx`)
