MCP Todo Server (TypeScript)
README.md
# MCP Todo Server (TypeScript)
Servidor MCP básico que gestiona una lista de tareas pendientes almacenada en
un archivo JSON local. Elaborado para el Trabajo Extraclase 1 (MCP) de
Programación IV, UNA.
## Capacidades expuestas
| Tipo | Nombre | Descripción |
|---|---|---|
| Resource | `tasks://list` | Retorna la lista completa de tareas en JSON |
| Tool | `add_task(nombre, descripcion, prioridad)` | Agrega una tarea nueva |
| Tool | `complete_task(task_id)` | Marca una tarea como completada |
| Prompt | `daily_summary` | Genera un resumen del estado de las tareas |
## Instalación
1. Clonar este repositorio y entrar a la carpeta:
```bash
git clone <url-del-repo>
cd mcp-todo-server-ts
```
2. Instalar las dependencias:
```bash
npm install
```
3. Compilar el proyecto TypeScript:
```bash
npm run build
```
## Ejecución
Para probar el servidor con el MCP Inspector oficial (interfaz web donde
puedes llamar el resource, los tools y el prompt sin necesitar Claude
Desktop):
```bash
npm run inspector
```
Para ejecutarlo directamente:
```bash
npm start
```
## Conexión con Claude Desktop
Ver instrucciones en la sección de configuración de `claude_desktop_config.json`
del Ejercicio 3 de este trabajo. El comando a registrar apunta al archivo
compilado, por ejemplo:
```json
{
"mcpServers": {
"todo-server": {
"command": "node",
"args": ["C:\\ruta\\completa\\a\\mcp-todo-server-ts\\build\\server.js"]
}
}
}
```
## Estructura del proyecto
```
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
```
## Pruebas realizadas
(Completar con capturas de pantalla del `npm run inspector` mostrando
al menos 3 interacciones: por ejemplo, agregar dos tareas y completar una,
más la consulta del resource y del prompt `daily_summary`.)
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
ActivityMaintained
ResponsivenessNo issues