Skip to main content
Glama
MauricioChaves00

MCP Todo Server (TypeScript)

MCP Todo Server (TypeScript)

Базовый сервер MCP, управляющий списком задач, хранящимся в локальном JSON-файле. Разработан для Внеклассной работы 1 (MCP) по Программированию IV, UNA.

Предоставляемые возможности

Тип

Имя

Описание

Resource

tasks://list

Возвращает полный список задач в формате JSON

Tool

add_task(name, descripcion, prioridad)

Добавляет новую задачу

Tool

complete_task(task_id)

Отмечает задачу как выполненную

Prompt

daily_summary

Генерирует сводку состояния задач

Related MCP server: Todo MCP Server

Установка

  1. Клонировать этот репозиторий и перейти в папку:

    git clone <url-del-repo>
    cd mcp-todo-server-ts
  2. Установить зависимости:

    npm install
  3. Скомпилировать проект TypeScript:

    npm run build

Запуск

Для тестирования сервера с официальным MCP Inspector (веб-интерфейс, в котором можно вызывать ресурс, инструменты и подсказку без необходимости в Claude Desktop):

npm run inspector

Для прямого запуска:

npm start

Подключение к Claude Desktop

См. инструкции в разделе настройки claude_desktop_config.json из Упражнения 3 данной работы. Команда для регистрации указывает на скомпилированный файл, например:

{
  "mcpServers": {
    "todo-server": {
      "command": "node",
      "args": ["C:\\ruta\\completa\\a\\mcp-todo-server-ts\\build\\server.js"]
    }
  }
}

Структура проекта

mcp-todo-server-ts/
├── src/
│   └── server.ts        # Servidor MCP principal (código fuente)
├── build/                # Generado por "npm run build" (no se sube a git)
├── tasks.json            # Almacenamiento de tareas
├── package.json          # Dependencias y scripts
├── tsconfig.json         # Configuración de TypeScript
└── README.md             # Este archivo

Выполненные тесты

(Заполнить скриншотами из npm run inspector, показывающими как минимум 3 взаимодействия: например, добавить две задачи и завершить одну, а также запрос ресурса и подсказки daily_summary.)

Available Tools

2 tools
add_taskB

Agrega una nueva tarea con nombre, descripcion y prioridad

ParametersJSON Schema
NameRequiredDescriptionDefault
nombreYesNombre corto de la tarea
prioridadYesPrioridad de la tarea
descripcionYesDetalle de la tarea

TDQS

B3.3/5.0
Behavior2/5

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 only states the action and fields, omitting behavioral details such as return value, idempotency, duplicate handling, or any side effects. This is insufficient for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded Spanish sentence with no superfluous words. It efficiently conveys the core action and inputs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the description lacks key contextual details such as what is returned after creation, constraints on the task (e.g., uniqueness), or how it relates to the sibling 'complete_task'. It is minimally complete but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the baseline is 3. The description merely lists the parameters ('nombre, descripcion y prioridad') without adding new meaning or usage context beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'agrega' (adds) and the resource 'nueva tarea' (new task), mentioning the three fields. It is specific and avoids tautology. It could be a 5 if it distinguished from the sibling 'complete_task', but it does not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating tasks, but provides no explicit when-to-use or alternatives to the sibling tool 'complete_task'. The context is clear from the name, but no exclusions or guidance is given, so a middle score is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_taskC

Marca una tarea como completada dado su id

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesId numerico de la tarea a completar

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates a state change (mark as completed) but does not disclose any behavioral traits such as reversibility, side effects, or required permissions. Without annotations, more transparency is expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It is efficient but could benefit from slight expansion to improve completeness without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description adequately covers the core action. However, it lacks context about side effects, usage boundaries, and alternatives, which limits completeness for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has one parameter (task_id) which is already described in the input schema. The tool description adds no additional meaning beyond that. With 100% schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (marca/completa) and resource (tarea/task) along with the input (id). It distinguishes the action from the sibling tool 'add_task' by focusing on completion rather than creation, but does not explicitly contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description lacks any context about prerequisites, when not to use it, or reference to the sibling tool 'add_task'.

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.

  1. 2 tool updatesv1.0.0
    • First observedadd_task
    • First observedcomplete_task

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

Only two tools exist, 'add_task' and 'complete_task', each with a clearly distinct purpose: creating a task vs marking it complete. No overlap or ambiguity.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern in snake_case (add_task, complete_task), making the naming predictable and easy to understand.

Tool Count2/5

With only two tools, the server is too minimal for a typical todo server. Essential operations like listing, getting, updating, and deleting tasks are missing, making it feel incomplete for its intended scope.

Completeness1/5

The tool surface is severely incomplete for a todo server. There is no way to view tasks, update task details, delete tasks, or query specific tasks. The agent can only add and complete, which is insufficient.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that allows AI assistants to manage todo lists stored in a simple markdown file, supporting creation, reading, updating, and deletion of todo items with persistent IDs.
    5
    10 npm
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A simple MCP server for managing todo items with SQLite database storage, supporting add, list, and remove operations.
    7 npm
    6
    ISC
  • F
    license
    Not graded
    quality
    B
    maintenance
    A 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.
    200 npm
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A simple MCP server that turns a JSON file into a todo list, letting users add, list, complete, delete, and clear tasks through natural language in MCP-compatible clients.
    -