Skills/npm/todo.txt-mcp

todo.txt-mcp@3.5.0

VERIFIED· startup only

Publisher claims: "Model Context Protocol server for managing a todo.txt file" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher arnoarnoarno · publishing for 7 daysInstalls 1,394Last detonated 14 h ago
$claude mcp add todo.txt-mcp -- npx -y @arnoarnoarno/todo.txt-mcp
WatchReport an issue

Coverage

Startup only; authenticated tool behavior not tested.
Tested
server startup over stdio (initialize sent) · every file read, file written and host contacted by what ran
Not tested
the tool list (the server exited before answering) · what the tools do when called with real credentials
Needs
MCP_AUTH_TOKEN — give it to the server where it runs, through vet-skills run --secrets, so the value never enters the server's environment. Never paste a credential into a chat, a ticket or a report.

What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.

Before you give it your token

It will ask for
MCP_ALLOW_WEAK_TOKENMCP_AUTH_TOKENMCP_AUTH_TOKEN_FILEMCP_AUTH_TOKENSMCP_METRICS_TOKENMIN_TOKEN_LENGTHRECOMMENDED_BASE64URL_TOKEN_LENGTHRECOMMENDED_HEX_TOKEN_LENGTHConfiguration, not credentials: MCP_ALLOWED_HOSTS, MCP_ALLOWED_ORIGINS, MCP_LOG_LEVEL, MCP_METRICS_ENABLED, MCP_METRICS_RATE_LIMIT_PER_MIN, MCP_READ_ONLY, MCP_READYZ_RATE_LIMIT_PER_MIN, MCP_TRANSPORT, TODOTXT_MCP_MAX_FILE_BYTES, TODOTXT_MCP_MAX_LINE_CHARS, TODOTXT_MCP_MAX_READ_TODOS, TODOTXT_MCP_MAX_TODOS, TRUST_PROXY
Where it talks to
no vendor host named in the code
What the honeypot saw
no credential files read · no network
What we could not test
the tool list (the server exited before answering) · what the tools do when called with real credentials

Connect it with a scoped credential, under the guard. It asks for MCP_ALLOW_WEAK_TOKEN, MCP_AUTH_TOKEN, MCP_AUTH_TOKEN_FILE, MCP_AUTH_TOKENS, MCP_METRICS_TOKEN, MIN_TOKEN_LENGTH, RECOMMENDED_BASE64URL_TOKEN_LENGTH, RECOMMENDED_HEX_TOKEN_LENGTH and talks to its vendor. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind. What the tools do with a real credential was not observed.

$vet-skills run --net declared -- npx -y @arnoarnoarno/todo.txt-mcp

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; startup only; authenticated tool behavior not tested) on 2026-11-14 and scored it 82/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed (it asks for MCP_AUTH_TOKEN); the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 54 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
14sprocessdependency install exit 0
34sprocessrelaunched with a decoy MCP_AUTH_TOKEN (tagged; nothing real)
54sclaimedstartup only: exited before answering, asking for MCP_AUTH_TOKEN (a decoy value was refused)
54sprocessscript backend runs setup only
54sprocessno install scripts to re-run

Static findings

MEDIUM
File permission modification commanddist/logic/todo-file-helpers.js:102 · File permission modification command — agent changes file ownership/permissions// chmod afterwards to keep the exact bits of the replaced file.Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
HIGH
Access to sensitive file pathsbin/backup-todo.sh:8 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# This script only copies todo.txt. It never reads or writes tokens, .env, orFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File permission modification commandbin/backup-todo.sh:37 · File permission modification command — agent changes file ownership/permissionschmod 600 "$DEST"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification commanddist/logic/auth-tokens.js:256 · File permission modification command — agent changes file ownership/permissions`(mode ${octal}). Restrict it with "chmod 600" so only the server user ` +Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Process kill commanddist/logic/file-lock.js:310 · Process kill command — agent can terminate processes// after `kill -9`, once the process has been reaped) can be reclaimedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05

Cost to the agent

Instructions loaded
≈54 tok
1 file · 43 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for @arnoarnoarno/todo.txt-mcp@3.5.0 as of 13 h ago. This is the package itself, not its dependencies.