Mini Task MCP Server
README.md
# Mini Task MCP Server
A simple **Model Context Protocol (MCP)** project built with **TypeScript and Node.js**.
This project demonstrates how an MCP Client communicates with an MCP Server and uses MCP tools to manage tasks through a standardized protocol.
---
## š Features
- MCP Server implementation
- MCP Client implementation
- STDIO transport communication
- Task management system
- Create new tasks
- View all tasks
- Update existing tasks
- Complete tasks
- Delete tasks
- JSON file-based storage
- Type-safe development using TypeScript
---
## š ļø Tech Stack
- **Node.js**
- **TypeScript**
- **Model Context Protocol SDK**
- **Zod Validation**
- **JSON Storage**
---
# š MCP Architecture
```
User
|
|
MCP Client
|
|
Model Context Protocol
|
|
MCP Server
|
|
Task Management Tools
|
|
tasks.json
```
---
# š§ Available MCP Tools
## 1. add_task
Creates a new task.
Example:
```json
{
"title": "Complete MCP project",
"description": "Finish MCP server implementation"
}
```
---
## 2. list_tasks
Returns all available tasks.
Example response:
```json
[
{
"id": 1,
"title": "Learn MCP",
"status": "pending"
}
]
```
---
## 3. update_task
Updates an existing task.
Example:
```json
{
"id": 1,
"title": "Updated task title"
}
```
---
## 4. complete_task
Marks a task as completed.
Example:
```json
{
"id": 1
}
```
---
## 5. delete_task
Deletes a task using its ID.
Example:
```json
{
"id": 1
}
```
---
# š Project Structure
```
mini-task-mcp
ā
āāā src
ā āāā server.ts # MCP Server implementation
ā āāā client.ts # MCP Client implementation
ā
āāā tasks.json # Task storage
ā
āāā package.json
āāā package-lock.json
āāā tsconfig.json
āāā README.md
āāā .gitignore
```
---
# āļø Installation
Clone the repository:
```bash
git clone https://github.com/yourusername/mini-task-mcp.git
```
Navigate into project:
```bash
cd mini-task-mcp
```
Install dependencies:
```bash
npm install
```
---
# ā¶ļø Running the Project
## Build TypeScript
```bash
npm run build
```
---
## Start MCP Server
```bash
npm start
```
---
## Run MCP Client
```bash
npm run client
```
---
# š How MCP Works in This Project
1. The MCP Client sends a request.
2. The MCP Server receives the request.
3. The server identifies the required tool.
4. The selected tool performs the task operation.
5. The result is returned back to the client.
Example:
```
Client
|
| Request: Add Task
ā
MCP Server
|
| Executes add_task tool
ā
tasks.json updated
|
ā
Response returned to Client
```
---
# šÆ Project Purpose
The purpose of this project is to understand the fundamentals of **Model Context Protocol (MCP)** and how AI applications can securely interact with external tools and data sources.
This mini project demonstrates the foundation required for building AI assistants that can perform real-world operations using connected services.
---
# š® Future Improvements
- Add SQLite database support
- Add authentication system
- Add REST API support
- Add AI-powered task assistant
- Connect with LLM-based MCP clients
- Add cloud deployment support
---
# šØāš» Author
**Mohd Samir Shaikh**
Mini MCP Task Management ProjectTDQS
B3.4/5.0
Scored across 6 tools
Disambiguation5/5
Each tool has a unique action (add, complete, delete, get, list, update) with no overlap, making selection unambiguous.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern in snake_case (e.g., add_task, complete_task), adhering perfectly to the convention.
Tool Count5/5
With 6 tools covering core task operations (CRUD + status), the count is well-scoped for a local task manager.
Completeness4/5
Covers the full lifecycle except for a 'reopen' or 'set pending' operation; update_task only modifies title/description, not status, which is a minor gap.
Maintenance
ActivityStale
ResponsivenessNo issues