System Task MCP
This server provides tools to manage projects and tasks in System Task via MCP.
Monitor & Report
Daily brief: See overdue, due today, and total estimated time.
Projects overview: List all projects with progress, overdue, and unassigned counts.
Project report: Detailed report including totals, board columns, priority breakdown, and created vs completed tasks.
Project risks: Surface overdue, undated, and unassigned tasks.
Team workload: View each person's open/overdue tasks, estimated hours, and who has nothing assigned.
Team members: List members of a project.
Search tasks: Filter by project, assignee, status, date range, unassigned.
Get full task: Retrieve complete details (title, description, subtasks).
Account info: Verify connected account and timezone.
Trash: View trashed lists.
Manage Tasks & Projects
Create demand: Formal task for others with objective, deliverable, verifiable done-when; supports assignee, due date, priority, estimate, and subtasks.
Create task: Simple personal to-do.
Update task: Mark complete/reopen, reschedule, reprioritize, change estimate, edit title/description.
Assign task: Set or clear a single assignee.
Move task: Transfer to another project, moves recurring series unless specified otherwise.
Comment on task: Add comments with optional @mentions for notifications.
Create / Rename / Delete / Restore / Purge lists: Manage projects (lists) with full lifecycle including trash and permanent deletion.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@System Task MCPWhat do I have on my plate today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
System Task — MCP plugin for Claude Code
Run your projects and your team from a conversation: see how each project is doing, who is overloaded, who has nothing assigned, and register work in a shape people can actually execute and verify.
System Task is a task and project app for small teams — web, Android and Windows. This plugin connects it to Claude Code.
Install
In Claude Code:
/plugin marketplace add luis1amaral/system-task-mcp/plugin install system-task/plugin configure system-taskThe third command asks for one thing — your access token. Generate it in the System Task app
under Settings → Agent access, tap Connect Claude Code, and paste it. (install prompts too
when the token is missing; configure always does, and is also how you replace it later.) It goes
into the client's own credential store — never into a project file, never into your shell history.
Don't have an account yet? Create one at system-task.defaltm.com.
Related MCP server: TaskFlow MCP Server
Where the token lives (and why you only paste it once)
Each MCP client keeps its own copy of the plugin config, so a second app — or the same one after a reinstall — used to start disconnected and ask for the token again. It looks like the token vanished; it never did.
So the server reads it from two places, in this order:
Order | Source | Who fills it |
1 |
| the plugin, from the client's config |
2 |
| written automatically the first time a token arrives through the environment |
The file is created with mode 0600 inside a 0700 directory, holds one line, and is what makes
every new client start already connected. The environment always wins — it is what the client was
told to use right now — and a new token there replaces the stored one.
SYSTEM_TASK_TOKEN_FILE=/other/path— use a different file.SYSTEM_TASK_TOKEN_PERSIST=0— never write it to disk (you then supply the variable every time).
The startup line on stderr says which source was used, e.g. system-task: pronto (…) [token: ambiente]. The token itself never appears in a log or an error message — only the path.
What the token can and cannot do
The agent token is not a second login. The server only accepts it on a closed list of routes: read reports, search, create and edit tasks, comment, move. It deletes nothing, cannot touch your account, cannot see billing and cannot mint another token.
If it ever leaks, you revoke it in two taps on the same screen — and the "last used" column tells you whether it is still plugged into some machine.
Commands
The plugin ships two slash commands:
Command | Does |
| Your day in one call: due today, overdue, estimated time |
| Tasks, optionally for one project. Also takes |
Tools
Read
Tool | Answers |
| What is yours today, what is late, how much time that adds up to |
| Every project, with progress, overdue and unassigned counts |
| One project: totals, board columns, created vs. completed |
| Overdue, undated, unassigned — oldest first |
| Workload per person and who has nothing assigned |
| Who is on the project |
| Search by project, assignee, status, period |
| One task in full — the escape hatch when a title is truncated |
| Which account the token opens |
| What is in the lists trash, ready to restore or purge |
Write
Tool | Does |
| Registers a demand (objective + deliverable + done-when) |
| Creates a simple task of your own |
| Complete, reschedule, reprioritise, estimate |
| Set or clear the assignee (one, or nobody) |
| Move between projects (a recurring task moves its whole series) |
| Comment on a task (an |
| Creates a list (the app's "project") |
| Renames a list, and/or changes its color/icon |
| Sends a list to the trash — reversible, tasks go with it |
| Restores a list from the trash, tasks included |
| Deletes a list for good — only when the user explicitly asks for that |
The demand format
systemtask_demand_create requires three things, and that is the point of the plugin:
objective — what needs to exist (becomes the title);
deliverable — what is concretely handed over;
doneWhen — a criterion another person can verify without asking anyone.
The how is never prescribed: the method belongs to whoever does the work. Subtasks only when the demand has genuinely independent deliverables — the default is not to split.
That discipline is what stops a task from sitting open for two months because nobody can assert it is finished.
Example prompts
"How are my projects doing?" "In The City, who has nothing assigned?" "Create a demand for João: ship the pricing page, done when /pricing returns 200 with the 3 plans, due Friday" "What do I have today?" "Show me what's overdue in the Vendas project"
Self-hosting
Pointing the plugin at your own System Task API is an environment variable, not a plugin option:
set SYSTEM_TASK_API_URL. It is deliberately not in the configure panel — the plugin should ask
for one thing only.
Development
npm install
npm run build
node scripts/smoke.mjs # protocol only (no token)
SYSTEM_TASK_TOKEN=stk_... node scripts/smoke.mjs # + read tools against the API
node scripts/token-file.mjs # the token cascade (env → file), no real token
npm run check # tsc + build + both of the abovescripts/smoke.mjs speaks JSON-RPC to the built binary over stdin/stdout, exactly like an MCP
client — including a check that nothing but the protocol is written to stdout (the number one
failure in stdio servers: one console.log corrupts the channel).
dist/ is committed on purpose: installing a plugin copies the folder and does not run
npm install. When releasing, run npm run build and bump version in
.claude-plugin/plugin.json — without the bump, nobody receives the update.
License
MIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceIntegrates Claude with Todoist for natural language task management, supporting project and section organization, task creation, updating, completion, and deletion using everyday language.191123MIT
- AlicenseAqualityDmaintenanceIntegrates task management capabilities into Claude Desktop, enabling users to create, track, search, and manage tasks with status updates, team assignments, overdue tracking, and automated standup reports.6MIT
- AlicenseAqualityFmaintenanceEnables Claude to interact with Super Productivity's local REST API for task, project, and tag management, including CRUD operations, status checks, and daily planning prompts.17397MIT
- AlicenseBqualityDmaintenanceEnables Claude to interact with Things 3 task management, allowing natural language task creation, project analysis, and GTD workflow automation.2444MIT
Related MCP Connectors
Manage projects, tasks, time tracking, and team collaboration through natural language.
Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.
Project management MCP for AI agents with safe task reads and writes.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/luis1amaral/system-task-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server