Local Task Manager MCP Server
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., "@Local Task Manager MCP Serveradd a task to buy groceries"
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.
Local Task Manager MCP Server
A beginner-friendly Model Context Protocol server built with Python and FastMCP.
This project demonstrates how an MCP server can expose structured tools that allow an AI application to create, read, update, and delete tasks stored in a local JSON file.
Features
Add a task
List all tasks
Filter completed or incomplete tasks
Mark a task as completed
Delete a task
Persist task data in
tasks.jsonReturn structured MCP responses
Handle invalid task IDs and input errors
Related MCP server: task-mcp-node
MCP Tools
add_task
Creates a new task.
Inputs:
title: Required task titledescription: Optional task description
list_tasks
Lists saved tasks.
Optional input:
completed: Filter by completion status
complete_task
Marks a task as completed.
Input:
task_id: ID of the task
delete_task
Deletes a task.
Input:
task_id: ID of the task
Project Structure
task-manager-mcp/
├── main.py
├── tasks.json
├── pyproject.toml
├── uv.lock
└── README.mdRequirements
Python 3.10 or later
uvNode.js and npm for MCP Inspector
Install Dependencies
uv syncRun with MCP Inspector
uv run mcp dev main.pyThe Inspector should display these tools:
add_task
list_tasks
complete_task
delete_taskExample Task
{
"id": 1,
"title": "Prepare Day 5 MCP article",
"description": "Connect the Task Manager MCP Server to Trello",
"completed": false
}Example Flow
User request
↓
MCP client
↓
Local Task Manager MCP Server
↓
Python tool
↓
tasks.json
↓
Structured responseWhat This Project Teaches
Creating an MCP server with FastMCP
Exposing Python functions using
@mcp.tool()Generating tool schemas from type hints
Returning structured data
Validating tool inputs
Handling expected errors
Persisting data in a local JSON file
Testing MCP tools with MCP Inspector
Roadmap
The next version will connect the same task-management capabilities to Trello:
add_task → Create a Trello card
list_tasks → List Trello cards
complete_task → Move a card to Done
delete_task → Archive a Trello cardAuthor
Akbar Shaik
Machine Learning Engineer teaching MCP servers and AI agents from scratch.
Available Tools
3 toolscomplete_taskB
Mark a task as completed and return the updated task.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| title | Yes | |
| completed | Yes | |
| description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It states the action and return value, but omits details such as idempotency, side effects on related data, permission requirements, or behavior when the task is already completed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's purpose. It avoids unnecessary words, though some important information is missing, which prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 parameter, output schema exists), the description is insufficient. It lacks preconditions, error handling, behavioral details, and clarity on what constitutes completion, leaving the agent with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter (task_id) with 0% description coverage. The description adds no additional meaning beyond the parameter name, failing to compensate for the lack of schema descriptions. The agent receives no guidance on the parameter's format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (mark as completed) and the resource (task), and returns the updated task. It distinguishes from sibling tools: list_tasks lists tasks and delete_task deletes, while this tool completes a specific task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to mark a task as completed, but it does not specify when not to use it or provide alternatives. The context is clear but lacks explicit guidance on preconditions or exclusion cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_taskA
Delete a task by ID and return the deleted task.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| title | Yes | |
| completed | Yes | |
| description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states that the tool returns the deleted task, which adds some transparency, but it does not mention side effects (e.g., irreversibility), authorization needs, or the permanence of deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core action and return value, with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one parameter and no annotations, the description covers purpose and return value. However, it lacks comparison to sibling tools (e.g., when to delete vs. complete) and does not mention any confirmation or undo behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'by ID', which contextualizes the task_id parameter beyond the schema title, but does not explain how to obtain the ID or its format. With 0% schema description coverage, the description provides minimal added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete' and the resource 'task', and specifies that it returns the deleted task. This distinguishes it from siblings like list_tasks (does not delete) and complete_task (does not delete).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as complete_task. The description does not mention prerequisites or conditions for deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksA
List tasks, optionally filtered by completion status.
| Name | Required | Description | Default |
|---|---|---|---|
| completed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It does not mention that this is a read-only operation, nor any details about pagination, ordering, or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, clearly conveying the tool's purpose and optional filtering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple schema (one optional parameter) and existence of an output schema, the description adequately explains the input but could mention the return format (array of tasks) for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds meaning to the only parameter 'completed' by stating it filters by completion status. This is sufficient for a single optional parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and resource 'tasks', and specifies optional filtering by completion status. This distinguishes it from sibling tools complete_task and delete_task which are mutations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for viewing tasks, but does not explicitly state when to use vs. alternatives, nor provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
complete_task - First observed
delete_task - First observed
list_tasks
TDQS
Each tool has a distinct purpose: listing tasks, marking as completed, and deleting. No overlap in functionality.
All tools follow a consistent verb_noun pattern using snake_case: list_tasks, complete_task, delete_task.
Three tools is a reasonable minimal set for a simple task manager, though it could be slightly expanded.
Missing essential operations like create_task and update_task, leaving a significant gap that prevents full task lifecycle management.
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 Connectors
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
A basic MCP server to operate on the Postman API.
MCP Server for an Agent Task Marketplace
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceA lightweight task management MCP server that enables CRUD operations on tasks stored in a single JSON file, including listing, creating, updating progress, and setting priorities.221-
- FlicenseCqualityCmaintenanceA simple MCP server for managing tasks via a local JSON file, demonstrating resources, tools, and prompts for task reading, creation, and analysis.1-
- FlicenseCqualityCmaintenanceA simple MCP server demonstrating resources, tools, and prompts using a local task list. It enables reading, creating, and analyzing tasks through MCP.1-
- AlicenseNot gradedqualityCmaintenanceMCP server that integrates with myTinyTodo to list, create, edit, and complete tasks via its JSON HTTP API.MIT
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/akbarshaik2243/task-manager-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server