TinyTasks MCP Server
Click on "Deploy 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., "@TinyTasks MCP Servershow me my pending tasks and their statistics"
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.
🤖 TinyTasks MCP Server
Servidor MCP híbrido que funciona tanto con Claude Desktop como con Claude Web.
✅ Estado del Proyecto
API NestJS: ✅ Funcionando en
https://forgetful-production-a037.up.railway.appMCP Server Local: ✅ Listo para Claude Desktop
MCP Server Web: ✅ Listo para despliegue y Claude Web
8 Herramientas: ✅ Todas implementadas y probadas
🛠️ Herramientas Disponibles
get_api_status - Estado de la API
get_tasks_stats - Estadísticas de tareas
list_tasks - Listar tareas (con filtros)
get_task - Obtener tarea específica
create_task - Crear nueva tarea
update_task - Actualizar tarea
toggle_task - Alternar estado
delete_task - Eliminar tarea
🌐 Para Claude Web (Servidor Público)
Opción 1: Desplegar en Railway
Instalar Railway CLI:
npm i -g @railway/cliCrear nuevo proyecto:
railway login
railway init
railway upConfigurar variables:
railway variables set WEB_MODE=trueObtener URL:
railway statusOpción 2: Desplegar en Vercel
Instalar Vercel CLI:
npm i -g vercelDesplegar:
vercel --prodUsar en Claude Web
Una vez desplegado, tendrás una URL como:
Railway:
https://tu-proyecto.railway.appVercel:
https://tu-proyecto.vercel.app
Endpoints disponibles:
GET /- Información del servidorGET /mcp/tools- Lista de herramientasPOST /mcp/execute- Ejecutar herramienta
Ejemplo de uso en Claude Web:
Puedes usar mi MCP server en: https://tu-proyecto.railway.app
Herramientas disponibles en: https://tu-proyecto.railway.app/mcp/tools
Para ejecutar una herramienta, haz POST a: https://tu-proyecto.railway.app/mcp/execute
con el body: {"tool": "get_tasks_stats"}🖥️ Para Claude Desktop (Servidor Local)
1. Configurar Claude Desktop
Edita: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"tinytasks": {
"command": "node",
"args": ["/Users/franciscogoulu/Desktop/Fran Dev/Forgetful3/mcp-tinytasks-server/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}2. Reiniciar Claude Desktop
🧪 Probar Localmente
Modo Claude Desktop:
node index.jsModo Claude Web:
WEB_MODE=true node index.jsLuego visita: http://localhost:3001
📋 Endpoints de la API Web
GET /
Información del servidor
GET /mcp/tools
Lista todas las herramientas disponibles
POST /mcp/execute
Ejecuta una herramienta específica
Body:
{
"tool": "get_tasks_stats",
"arguments": {}
}Ejemplo con argumentos:
{
"tool": "create_task",
"arguments": {
"title": "Nueva tarea desde Claude Web",
"priority": "high"
}
}🔍 Verificar Funcionamiento
Probar API directamente:
curl https://tu-mcp-server.railway.app/mcp/toolsEjecutar herramienta:
curl -X POST https://tu-mcp-server.railway.app/mcp/execute \
-H "Content-Type: application/json" \
-d '{"tool": "get_api_status"}'🎯 Resumen de Opciones
Para Claude Desktop:
Usa el servidor local con protocolo MCP nativo
Configuración en
claude_desktop_config.json
Para Claude Web:
Despliega el servidor como API REST
Usa endpoints HTTP para comunicación
Accesible desde cualquier lugar
¡Ambos modos consumen la misma API de TinyTasks! # Updated Sun Jun 15 20:54:37 -03 2025
Available Tools
8 toolscreate_taskC
Crea una nueva tarea
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Título de la tarea (requerido) | |
| detail | No | Descripción detallada de la tarea | |
| priority | No | Prioridad de la tarea |
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. 'Crea una nueva tarea' implies a write operation (creation), but it doesn't disclose any behavioral traits such as permissions required, whether the operation is idempotent, what happens on failure, or the expected response format. For a mutation tool with zero annotation coverage, this is a significant gap that leaves the agent guessing about critical aspects.
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 extremely concise with a single Spanish phrase ('Crea una nueva tarea') that directly states the tool's action. There is no wasted language or unnecessary elaboration, making it front-loaded and efficient. However, this conciseness comes at the cost of completeness, as noted in other dimensions.
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 a creation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns, how errors are handled, or any side effects. While the schema covers parameters well, the overall context for using this mutation tool is insufficient, especially compared to sibling tools that might offer more guidance.
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 100% description coverage, with clear documentation for all three parameters (title, detail, priority) including required status and enum values. The description adds no parameter information beyond what the schema provides, so it doesn't compensate but also doesn't detract. According to the rules, with high schema coverage (>80%), the baseline score is 3 even with no param info in the description.
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 'Crea una nueva tarea' (Creates a new task) is a tautology that essentially restates the tool name 'create_task' in Spanish. While it indicates the action and resource, it doesn't provide any specific details about what kind of task creation this involves or how it differs from sibling tools like 'update_task' or 'toggle_task'. The purpose is clear at a basic level but lacks 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. It doesn't mention prerequisites, context for task creation, or how it relates to sibling tools such as 'update_task' (for modifying existing tasks) or 'list_tasks' (for viewing tasks). Without any usage instructions, the agent must infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_taskC
Elimina permanentemente una tarea
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID único de la tarea a eliminar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'permanentemente,' hinting at irreversibility. It lacks details on permissions needed, error handling, confirmation prompts, or side effects, which are critical for a destructive operation.
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, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the core action without unnecessary elaboration.
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 destructive tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like confirmation needs, error cases, or return values, leaving significant gaps for safe agent invocation.
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 100%, so the schema fully documents the 'id' parameter. The description adds no additional meaning beyond implying the ID refers to a task, which is already clear from the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
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 ('elimina permanentemente') and resource ('una tarea'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'toggle_task' or 'update_task' which also modify tasks, missing explicit 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. It doesn't mention prerequisites (e.g., task must exist), exclusions, or compare to siblings like 'toggle_task' for archiving instead of deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_statusB
Obtiene el estado actual de la API de TinyTasks
| 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 what the tool does ('Obtiene el estado actual'), but doesn't reveal any behavioral traits like what 'estado' includes (e.g., uptime, version, error rates), whether it requires authentication, rate limits, or what format the status information returns. For a tool with zero annotation coverage, 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 a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized for a simple tool and front-loaded with the essential information. Every word earns its place.
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 simplicity (0 parameters, no output schema, no annotations), the description is complete in stating the basic purpose. However, it lacks context about what 'API status' entails, which is crucial for an agent to understand what information will be returned. Without an output schema or details in the description, the agent is left guessing about the response format and content.
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 with 100% schema description coverage (empty schema), so there are no parameters to document. The description doesn't need to compensate for any parameter gaps, and it appropriately doesn't mention parameters. A baseline of 4 is given since no parameter information is needed or expected.
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 with a specific verb ('Obtiene') and resource ('estado actual de la API de TinyTasks'), making it immediately understandable. It doesn't explicitly differentiate from sibling tools, but since siblings are all task-related operations (create, delete, get, list, toggle, update tasks) and this tool checks API status, the distinction is implicit rather than explicit.
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. While the purpose is clear, there's no mention of typical use cases (e.g., health checks, monitoring, troubleshooting) or when NOT to use it. The agent must infer usage from the tool name and context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskC
Obtiene los detalles de una tarea específica
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID único de la tarea (UUID) |
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. While 'obtiene' implies a read operation, the description doesn't specify whether this requires authentication, what happens with invalid IDs, whether it's idempotent, or what format the response takes. For a read tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
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, efficient Spanish sentence that gets straight to the point. There's zero wasted language or unnecessary elaboration. It's appropriately sized for a simple retrieval tool with one parameter.
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 read operation with no annotations and no output schema, the description is incomplete. It doesn't explain what 'detalles' includes (fields returned), error responses, authentication requirements, or typical use cases. Given the lack of structured output information, the description should provide more context about what the tool returns and how to interpret results.
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 schema description coverage is 100% with the single parameter 'id' well-documented as a UUID. The description doesn't add any parameter semantics beyond what the schema already provides - it doesn't explain where to find task IDs, provide examples of valid IDs, or describe ID format requirements. Baseline 3 is appropriate when the schema does the heavy lifting.
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 ('obtiene' - gets/retrieves) and resource ('detalles de una tarea específica' - details of a specific task). It distinguishes from siblings like list_tasks (which lists multiple tasks) and create_task/update_task (which modify tasks). However, it doesn't explicitly mention what 'detalles' includes or the exact scope of information returned.
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. It doesn't mention when to use get_task versus list_tasks (for multiple tasks) or get_tasks_stats (for aggregated statistics). There's no information about prerequisites, error conditions, or typical usage patterns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tasks_statsB
Obtiene estadísticas de las tareas: total, completadas, pendientes
| 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. It states what the tool does (get statistics) but doesn't describe behavioral traits such as whether it's read-only, requires authentication, has rate limits, or what the output format looks like. For a tool with zero annotation coverage, this is a significant gap in transparency.
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, efficient sentence that directly states the tool's purpose and the specific statistics it retrieves. It's front-loaded with the main action ('Obtiene estadísticas') and includes no redundant information, making it appropriately sized and well-structured.
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 (0 parameters, no output schema, no annotations), the description is minimally adequate. It explains what the tool does but lacks details on behavioral aspects and output format. Without annotations or an output schema, the description should ideally provide more context about the return values, but it meets the basic requirement for a simple read operation.
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 0 parameters with 100% coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here. Baseline is 4 for 0 parameters, as there's nothing to compensate for, and the description doesn't contradict the schema.
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: 'Obtiene estadísticas de las tareas' (Gets task statistics) with specific metrics: 'total, completadas, pendientes' (total, completed, pending). It distinguishes from siblings like 'get_task' (single task) and 'list_tasks' (list of tasks) by focusing on aggregated statistics. However, it doesn't explicitly contrast with siblings in the text, preventing a perfect score.
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. It doesn't mention when to prefer this over 'list_tasks' for summary data or 'get_task' for detailed information, nor does it specify any prerequisites or exclusions. Usage is implied only by the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksC
Lista todas las tareas con filtro opcional por estado
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filtrar por estado: completed o pending |
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 the action ('Lista') but doesn't disclose behavioral traits such as pagination, rate limits, authentication needs, or whether it's read-only (implied but not explicit). 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 a single, efficient sentence in Spanish that directly states the purpose and key feature (optional filtering). It's front-loaded with the main action and has no wasted words, making it highly concise and well-structured.
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 lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like response format, error handling, or usage constraints, which are crucial for an agent to invoke the tool correctly in a list operation context.
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 optional filtering by status, which aligns with the single parameter in the schema. Since schema description coverage is 100%, the schema already documents the parameter well, so the description adds minimal value beyond restating what's in the schema, meeting the baseline 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 verb ('Lista todas las tareas') and resource ('tareas'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'get_task' (singular) or 'get_tasks_stats' (statistics), which is why it doesn't reach a perfect score.
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. It doesn't mention siblings like 'get_task' for single tasks or 'get_tasks_stats' for aggregated data, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_taskC
Alterna el estado de completación de una tarea
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID único de la tarea a alternar |
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 toggles completion status, implying a mutation, but doesn't describe whether this requires specific permissions, what happens on success/failure, if changes are reversible, or any rate limits. This is inadequate for a mutation tool with zero 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 a single, efficient sentence in Spanish that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, with zero waste, making it highly concise and well-structured.
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 mutation operation with no annotations and no output schema), the description is incomplete. It lacks details on behavioral traits, error handling, return values, and differentiation from siblings, leaving significant gaps for an AI agent to understand how to use it correctly.
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 schema description coverage is 100%, with the single parameter 'id' documented as 'ID único de la tarea a alternar'. The description doesn't add any meaning beyond this, such as format examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.
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 ('Alterna' meaning 'Toggles') and the resource ('estado de completación de una tarea' meaning 'completion status of a task'), providing a specific verb+resource combination. However, it doesn't explicitly distinguish this from sibling tools like 'update_task' which might also modify task status, leaving room for 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?
The description provides no guidance on when to use this tool versus alternatives like 'update_task' or 'create_task'. It lacks context about prerequisites (e.g., needing an existing task ID) or exclusions, offering only a basic functional statement without usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_taskC
Actualiza una tarea existente
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID único de la tarea a actualizar | |
| title | No | Nuevo título de la tarea | |
| detail | No | Nueva descripción de la tarea | |
| priority | No | Nueva prioridad de la tarea | |
| isDone | No | Estado de completación de la tarea |
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 updates tasks, implying mutation, but doesn't cover critical aspects like required permissions, whether changes are reversible, error handling (e.g., invalid ID), or response format. This is a significant gap for a mutation tool with zero 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 a single, efficient sentence ('Actualiza una tarea existente') that is front-loaded and wastes no words. However, it's overly terse for a mutation tool with no annotations, potentially under-specifying rather than being optimally concise, which slightly reduces its effectiveness.
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 (mutation with 5 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain behavioral traits, usage context, or return values, leaving the agent with insufficient information to reliably invoke the tool beyond basic parameter input.
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 100% description coverage, clearly documenting all 5 parameters (id, title, detail, priority, isDone) with types, enums for priority, and required fields. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without compensating value.
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 'Actualiza una tarea existente' (Updates an existing task) clearly states the verb ('actualiza') and resource ('tarea'), making the purpose understandable. However, it doesn't distinguish this tool from siblings like 'toggle_task' (which also modifies tasks) or specify what aspects can be updated beyond the general action, leaving some ambiguity in 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?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing task ID), exclusions (e.g., not for creating new tasks), or comparisons to siblings like 'toggle_task' (for toggling completion) or 'create_task' (for new tasks), leaving the agent without contextual usage cues.
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.
8 tool updates
v1.0.0- First observed
create_task - First observed
delete_task - First observed
get_api_status - First observed
get_task - First observed
get_tasks_stats - First observed
list_tasks - First observed
toggle_task - First observed
update_task
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose with no overlap: create, delete, get, list, update, toggle, and API status/statistics tools all target specific actions on tasks or system status. An agent can easily differentiate between them based on their descriptions.
All tools follow a consistent verb_noun naming pattern (e.g., create_task, delete_task, get_task) with clear, descriptive verbs. There are no deviations in style or convention across the set.
With 8 tools, this server is well-scoped for task management, covering core CRUD operations (create, get, update, delete), listing, toggling completion, and supplementary functions like stats and API status. Each tool earns its place without bloat.
The toolset provides complete coverage for task management: full CRUD (create, get, update, delete), lifecycle handling (toggle for completion), listing with filters, statistics, and system status. There are no obvious gaps that would hinder an agent's workflow.
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
MIND MCP Server — 31 tools. Persistent AI memory: knowledge graph, LIFE tasks, CRM, 50+ models.