Tasks MCP Server
Provides local task storage and management using SQLite database for persisting task data, titles, descriptions, and status information.
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., "@Tasks MCP ServerAdd task with title Prepare presentation and description Finish slides for Monday meeting"
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.
Tasks MCP
Configure mcp client vscode
// For use with vscode and copilot
{
"servers": {
"tasks-mcp": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--directory",
"path-to/tasks-mcp",
"src/main.py"
],
"env": {
"TRANSPORT": "stdio"
},
}
},
"inputs": []
}
// For use with continue.dev extension
name: Tasks MCP Server
version: 0.0.1
schema: v1
mcpServers:
- name: Task MCP
command: uv
args:
- run
- --directory
- /path-to/tasks-mcp
- src/main.py
env: {
TRANSPORT: "stdio"
}
Runing server mode
// env variables
TRANSPORT=streamable-http
DATABASE_PATH=~/.tasks.sqlite3 # default data folrder on MCP project
HOST=0.0.0.0
PORT=8000// Running local python server
make install
make run// Run in docker
make docker.build
make docker.runCommon Natural Language Commands
You can interact with the Tasks MCP server using natural language commands. Here are some examples:
Add a task with title {title} and description {description}
Example: "Add task with title Buy groceries and description Get milk, eggs, and bread."
List all tasks
Example: "Show me all my tasks" or "List tasks created"
Get details of a specific task
Example: "Show details for task 2"
Update a task's title or description
Example: "Update task 3 with title Review project plan and description Check deadlines and deliverables."
Change the status of a task
Example: "Mark task 4 as in progress" or "Complete the task for dinner"
Delete a task
Example: "Delete task 5"
You can use these commands in English or Spanish. The system will interpret your intent and perform the requested action.
Libraries Used
This project uses the following main libraries:
mcp[cli]: Provides the Model Context Protocol (MCP) server and CLI tools for building and running MCP-compatible agents and servers.
pydantic-settings: For configuration management and environment variable parsing.
sqlite3 (Python standard library): Used for local task data storage.
dataclasses (Python standard library): For structured data models.
See pyproject.toml for the full list of dependencies.
Available Tools
7 toolsadd_task_toolB
Add a new task. Args: title (str): The title of the task. description (str): The description of the task. optional value.
Returns: Task: The newly created task object.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| title | Yes | The title of the task |
| status | No | |
| created_at | No | |
| description | No | The description of the task |
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 behavioral disclosure. It states 'Add a new task', implying a write operation, but doesn't mention permissions, side effects, error conditions, or rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in transparency, as critical behavioral traits are left unspecified.
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 well-structured and appropriately sized, with a clear purpose statement followed by parameter and return sections. Every sentence adds value, such as specifying optionality for 'description'. Minor improvements could include integrating the parameter details more seamlessly, but overall it's efficient and front-loaded.
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 tool's complexity (a write operation with 2 parameters), no annotations, and an output schema present (which covers return values), the description is moderately complete. It explains the action and parameters but lacks behavioral context like error handling or permissions. The output schema reduces the need to describe returns, but more guidance on usage and transparency would enhance 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?
The description adds meaningful context beyond the input schema, which has 0% description coverage. It explains that 'title' is required and 'description' is optional, clarifying parameter roles that aren't evident from the schema alone. However, it doesn't detail constraints like length limits or content rules, preventing a perfect score.
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 ('Add a new task') and resource ('task'), making the purpose immediately understandable. It distinguishes itself from siblings like 'delete_task_tool' or 'update_task_tool' by specifying creation rather than modification or deletion. However, it doesn't explicitly differentiate from other task-related tools beyond the verb, keeping it at a 4 rather than a 5.
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 provides no guidance on when to use this tool versus alternatives like 'update_task_tool' or 'tasks_list_tool'. It lacks context about prerequisites, such as whether a task list must exist first, or exclusions, like when not to use it. This absence of usage context leaves the agent without clear direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_task_toolB
Delete a task by ID. Args: task_id (int): The ID of the task to delete.
Returns: None
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 behavioral disclosure. It states the tool deletes a task but fails to mention critical traits like whether deletion is permanent or reversible, what happens to associated data, required permissions, or error handling (e.g., for invalid IDs). This leaves significant gaps for safe agent usage.
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 front-loaded with the core purpose ('Delete a task by ID.') and uses a structured format for args and returns, making it easy to parse. However, the 'Args:' and 'Returns:' sections are somewhat redundant given the input/output schemas, slightly reducing efficiency.
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 tool's destructive nature, no annotations, and a simple input schema, the description is minimally adequate but incomplete. It covers the basic operation and parameter but lacks details on behavioral risks, error cases, or output implications (though the output schema indicates 'None', reducing need for return value explanation). More context on safety and usage would improve 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?
The description adds meaningful context for the single parameter 'task_id' by specifying it as 'The ID of the task to delete', which clarifies its purpose beyond the schema's basic type definition. Since schema description coverage is 0% and there's only one parameter, this compensates adequately, though it could detail ID format or validation rules.
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 specific action ('Delete') and resource ('a task by ID'), distinguishing it from sibling tools like 'add_task_tool', 'update_task_tool', or 'get_task_tool'. It directly communicates the tool's function without ambiguity.
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 like 'update_task_tool' for modifying tasks or 'filter_tasks_tool' for managing tasks without deletion. The description lacks context about prerequisites, such as confirming task existence or handling dependencies, which is critical for a destructive operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
filter_tasks_toolC
Filter tasks by status and title. Args: status (TaskStatus): The status to filter tasks. Optional value. title (str): The title to filter tasks. Optional value. description (str): The description to filter tasks. Optional value. created_at (str): The creation date to filter tasks. Optional value.
Returns: list[Task]: A list of tasks matching the specified status and title.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| title | No | ||
| description | No | ||
| created_at | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool returns 'A list of tasks matching the specified status and title' but doesn't mention whether all filters are AND/OR combined, what happens when no filters are provided, pagination behavior, error conditions, or performance characteristics. For a filtering tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.
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 well-structured with clear sections (purpose, args, returns). It's appropriately sized for a filtering tool. However, the purpose statement mentions only two filter criteria while the tool actually supports four, creating a minor inconsistency. The 'Args' section could be more efficiently integrated.
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 tool has an output schema (list[Task]), the description doesn't need to explain return values in detail. However, with no annotations, 4 parameters at 0% schema coverage, and multiple sibling tools, the description should provide more context about filtering logic, performance, and differentiation from alternatives. It's minimally adequate but leaves important questions unanswered.
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?
Schema description coverage is 0%, so the description must compensate. It lists all four parameters with brief explanations, but provides minimal semantic context. It doesn't explain what TaskStatus enum values mean (0, 1, 2), date format for 'created_at', or how string matching works for 'title' and 'description'. The description adds basic parameter identification but lacks meaningful semantic details.
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 tool's purpose: 'Filter tasks by status and title.' It specifies the verb ('filter') and resource ('tasks'), though it mentions only two filter criteria in the purpose statement while the actual implementation includes four. It distinguishes from siblings like 'get_tasks_status' or 'tasks_list_tool' by emphasizing filtering capabilities.
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 provides no guidance on when to use this tool versus alternatives like 'get_tasks_status' or 'tasks_list_tool'. It doesn't mention prerequisites, performance considerations, or typical use cases. The agent must infer usage from the tool name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tasks_statusC
Get the status tasks values. Returns: dict: The status tasks values.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states it returns a dictionary of status tasks values, without explaining what 'status tasks values' means, whether this is a read-only operation, what permissions might be required, or any other behavioral characteristics. This leaves the agent with insufficient information about how the tool behaves.
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 brief with two sentences, but the first sentence is tautological and adds little value. The second sentence about the return type is useful but could be more informative. While appropriately sized, the content isn't front-loaded with meaningful information that helps the agent understand the tool's purpose.
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 complexity of having multiple sibling tools with similar names and no annotations or output schema, the description is incomplete. It doesn't clarify what differentiates this tool from 'get_task_tool' or 'tasks_list_tool', nor does it explain what 'status tasks values' means in context. For a tool with 0 parameters but potentially important distinctions from siblings, more context is needed.
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 tool has 0 parameters, and schema description coverage is 100%. With no parameters to document, the description doesn't need to provide parameter semantics. The baseline for 0 parameters is 4, as there's nothing for the description to compensate for regarding parameters.
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 states 'Get the status tasks values' which is a tautology that essentially restates the tool name 'get_tasks_status'. It doesn't provide a clear, specific verb+resource combination or distinguish this tool from its siblings like 'get_task_tool' or 'tasks_list_tool'. The description is vague about what exactly 'status tasks values' means.
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 provides no guidance on when to use this tool versus its siblings. With tools like 'get_task_tool', 'tasks_list_tool', and 'filter_tasks_tool' available, there's no indication whether this tool retrieves all task statuses, aggregated status values, or something else. No context, exclusions, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_toolB
Get a task by ID. Args: task_id (int): The ID of the task to retrieve.
Returns: Task: The task object if found, otherwise None.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
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 carries the full burden. It mentions the return behavior ('The task object if found, otherwise None'), which is helpful, but lacks details on error handling, authentication needs, rate limits, or other behavioral traits. This is a significant gap for a tool with no annotation coverage.
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 appropriately sized and front-loaded, with a clear purpose statement followed by structured sections for Args and Returns. Every sentence earns its place, making it efficient and easy to parse.
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 tool's low complexity (1 parameter) and the presence of an output schema (which handles return values), the description is mostly complete. It covers the basic purpose and parameter semantics, but gaps in behavioral transparency and usage guidelines prevent a higher score.
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?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that 'task_id' is 'The ID of the task to retrieve', which clarifies the parameter's purpose beyond the schema's basic type. However, it doesn't specify format constraints or examples, leaving some semantic gaps.
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 'Get' and resource 'task by ID', making the purpose specific and understandable. However, it doesn't differentiate from siblings like 'get_tasks_status' or 'tasks_list_tool' which might also retrieve tasks, leaving room for ambiguity in sibling distinction.
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 'filter_tasks_tool' or 'tasks_list_tool'. The description only states what it does, not when it's appropriate, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks_list_toolC
Get a list of tasks. Args: task_limit (int): The maximum number of tasks to return. Default is 10.
Returns: list[Task]: A list of tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| task_limit | 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 carries the full burden. It states it returns a list of tasks but doesn't disclose behavioral traits such as whether it requires authentication, how it handles pagination, what sorting or filtering options exist, or if there are rate limits. For a list tool with no annotations, this is insufficient.
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 appropriately sized and front-loaded with the purpose, followed by structured sections for Args and Returns. It avoids unnecessary fluff, though the formatting could be slightly more polished.
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 tool's low complexity (1 parameter) and the presence of an output schema (which handles return values), the description is somewhat complete but lacks critical context like usage guidelines and behavioral transparency. It's adequate for a simple list tool but has clear 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 description adds minimal semantics beyond the input schema: it explains that 'task_limit' is the maximum number of tasks to return with a default of 10. However, with 0% schema description coverage and only 1 parameter, this provides some value but doesn't fully compensate for the lack of schema details (e.g., range constraints or usage context).
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 states 'Get a list of tasks' which clearly indicates the verb (get) and resource (tasks), but it doesn't differentiate this from sibling tools like 'filter_tasks_tool' or 'get_task_tool' which likely serve similar purposes. The purpose is clear but lacks sibling differentiation.
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 provides no guidance on when to use this tool versus alternatives like 'filter_tasks_tool' or 'get_task_tool'. It mentions a default task limit but doesn't explain when this tool is appropriate compared to other task-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_task_toolC
Update an existing task. Args: task (Task): The task object containing updated information.
Returns: Task: The updated task object.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| title | No | ||
| description | No | ||
| status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| title | Yes | The title of the task |
| status | No | |
| created_at | No | |
| description | No | The description of the task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states this is an update operation, implying mutation, but doesn't disclose behavioral traits like required permissions, whether partial updates are allowed, what happens with null values, or error conditions. The mention of 'The task object containing updated information' is vague and doesn't add meaningful behavioral context beyond the basic action.
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 appropriately sized and front-loaded with the core purpose in the first sentence. The 'Args' and 'Returns' sections are structured clearly, though they could be more informative. There's no wasted text, but the brevity comes at the cost of completeness.
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 a mutation tool with 4 parameters, 0% schema description coverage, no annotations, but with an output schema (which handles return values), the description is minimally adequate. It covers the basic action and I/O structure but lacks crucial details like parameter meanings, usage context, and behavioral transparency, making it incomplete for safe and effective use.
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?
Schema description coverage is 0%, so the description must compensate. It mentions 'task (Task): The task object containing updated information' but provides no details on what fields can be updated, their formats, or constraints. This adds minimal semantic value beyond the schema's property names like 'id', 'title', 'description', and 'status', leaving parameters largely undocumented.
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 ('Update') and resource ('an existing task'), making the purpose immediately understandable. It distinguishes this from creation tools like 'add_task_tool' by specifying 'existing task', though it doesn't explicitly differentiate from other update-related operations that might exist in the sibling set.
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. With siblings like 'add_task_tool', 'delete_task_tool', and 'get_task_tool', there's no indication of when this update operation is appropriate versus creating new tasks, deleting them, or retrieving them. The description assumes the user already knows when updates are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes (add, delete, get, update, list, filter, get status), but 'tasks_list_tool' and 'filter_tasks_tool' could cause confusion as both retrieve lists of tasks. The descriptions clarify that one is a simple list with a limit, while the other allows filtering by multiple criteria, but the overlap in functionality might lead to misselection in some contexts.
The naming is mixed with no clear pattern: 'add_task_tool', 'delete_task_tool', 'filter_tasks_tool', 'get_tasks_status', 'get_task_tool', 'tasks_list_tool', 'update_task_tool'. Some use verb_noun_tool (e.g., add_task_tool), others use noun_verb_tool (e.g., tasks_list_tool), and 'get_tasks_status' lacks the '_tool' suffix. This inconsistency reduces predictability but remains readable.
With 7 tools, this is well-scoped for a task management server. Each tool serves a clear purpose in handling tasks, such as CRUD operations, listing, filtering, and retrieving status values. The count is neither too sparse nor bloated, fitting typical use cases effectively.
The tool set provides complete coverage for task management: create (add_task_tool), read (get_task_tool, tasks_list_tool, filter_tasks_tool), update (update_task_tool), delete (delete_task_tool), and additional utility (get_tasks_status). There are no obvious gaps; agents can perform all essential lifecycle operations without dead ends.
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
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
AI teammate for tasks: builds your list from meetings, email and chats, and checks off done work.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables task management through natural language with full CRUD operations including add, list, update, complete, and delete tasks with JSON persistence.
- FlicenseCqualityDmaintenanceEnables managing todo lists and tasks through natural language, supporting creation, status changes, and deletion.7
- FlicenseNot gradedqualityDmaintenanceEnables users to manage a personal todo list with CRUD operations, keyword search, and local SQLite storage. Designed for AI agent productivity tools.
- AlicenseNot gradedqualityBmaintenanceEnables managing Nextcloud tasks through natural language, including creating, updating, completing, and deleting tasks.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/chipocrudos/tasks-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server