Atlas / MCP servers / dizlexic / Moo Tasks

Moo TasksBLOCK

mcp/dizlexic/moo-tasks-1

A simple multiuser multiboard task MCP server managed via kanban board interface. Created to allow simple self hosted agent task management.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
17 6r · 10w · 1d
Transport
streamable-http
License
MIT
Stars
45
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Moo Tasks

mootasks.dev

A kanban-style task management dashboard with an integrated MCP server. Human users manage tasks via a drag-and-drop web UI, while AI agents connect via the MCP server to discover, accept, update, and create tasks programmatically.

✨ Features

Read from source at commit 884ad4c5272dOBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add agent-task-mcp-server --env DB_PASSWORD=${DB_PASSWORD} --env NUXT_SESSION_PASSWORD=${NUXT_SESSION_PASSWORD} --env SMTP_PASSWORD=${SMTP_PASSWORD} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "agent-task-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "DB_PASSWORD": "${DB_PASSWORD}",
        "NUXT_SESSION_PASSWORD": "${NUXT_SESSION_PASSWORD}",
        "SMTP_PASSWORD": "${SMTP_PASSWORD}"
      }
    }
  }
}
03

Exposed tools (17)

6 read · 10 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
accept-taskreadAccept a task by assigning yourself and moving it to in_progress.
add-commentwriteAdd a comment to a task.
add-comment-with-attachmentwriteAdd a comment with an attachment to a task.
apply-planwriteApply a task plan to this board. This will create all tasks from the plan in the Todo column.
create-boardwriteCreate a new board on this Moo Tasks instance.
create-taskwriteCreate a new task on this board.
delete-taskdestructiveDeletes a task from the board.
generate-changelogreadGenerate a markdown changelog based on completed (done) tasks on this board.
get-commentsreadGet all comments for a task.
get-installation-instructionswriteGet instructions on how to install and set up Moo Tasks locally or use the cloud version.
get-taskreadGet full details of a task by ID.
list-plansreadDiscover available task plans (templates). Plans can be applied to a board to populate it with a set of tasks.
list-tasksreadList tasks on this board. WHEN TO USE: To discover available tasks, check board status, or find tasks by status/priority.
reject-taskwriteReject a task review and move it back to todo with a comment and correction tag. Use this for AI review.
request-correctionswriteCreate a correction task linked to a reviewed task. The original task stays in review.
submit-for-reviewwriteSubmit a task for review. Moves the task to review status.
update-task-statuswriteUpdate a task\
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (7 observation(s))
Network
declared (6 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (13)

HIGHNetwork egress · net.tls_off · CWE-200, CWE-319
server/db/index.ts:30
ssl: process.env.DB_SSL === 'REQUIRED' ? { rejectUnauthorized: false } : undefined,
Why it matters. certificate verification is disabled
Fix. leave verification on
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
app/composables/useBoardToken.ts:23
console.log('Member token generated', res.token)
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
server/api/auth/login.post.ts:38
console.log(`[Login] Password mismatch for: ${email}. Hash prefix: ${user.passwordHash.substring(0, 10)}`)
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
server/utils/password.ts:17
console.log(`[Password] Unknown hash format: ${hash.substring(0, 20)}...`);
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
delete-task
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.nuxtrc
.nuxtrc
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
app/composables/useBoards.ts:1
import type { Board } from '../../server/db/schema'
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
app/composables/useColumns.ts:1
import type { BoardColumn } from '../../server/db/schema'
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
app/composables/useTags.ts:1
import type { Tag } from '../../server/db/schema'
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
app/composables/useTasks.ts:1
import type { Task } from '../../server/db/schema'
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
server/api/ai/generate.post.ts:1
import { generateResponse } from '../../utils/ollama';
LOWObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
README.md:24
<img src="https://img.shields.io/badge/MCP-Toolkit-8B5CF6?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik0
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@nuxtjs/mcp-toolkit, @tailwindcss/vite, drizzle-kit, drizzle-orm, markdown-it, mysql2, nanoid, nodemailer
Why it matters. 26 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 884ad4c5272dfull audit observations/trust-audit/mcp-server/dizlexic__moo-tasks-1.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-08884ad4c5272dBLOCKD69first audit
06

Questions

What is the Moo Tasks MCP server?

A simple multiuser multiboard task MCP server managed via kanban board interface. Created to allow simple self hosted agent task management.

What tools does Moo Tasks expose?

17 in total: 6 read-only, 10 that write, and 1 that can delete or overwrite (delete-task). Every one is listed on this page with its risk.

Is Moo Tasks safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Moo Tasks need?

It reads DB_PASSWORD, NUXT_SESSION_PASSWORD and SMTP_PASSWORD from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Moo Tasks run?

It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as agent-task-mcp-server at 0.9.1.

How current is this page?

The grade is for one exact copy of the source (884ad4c5272d), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement