Deadline Tracker MCP Server

Deadline Tracker MCP Server

This MCP server helps users manage deadlines and study schedules, providing tools to add, list, and complete deadlines, a read-only resource for all deadlines, and a prompt for weekly planning.

Category
Visit Server

README

Đồ án MCP — Deadline / Lịch học tracker

Bài tập lớn môn MCP (FIT-HCMUS, GV Kha Do) — dựa trên slide MCP — Plug Your Agent Into Everything.

Cấu trúc

mcp-homework/
├── server/
│   ├── core.js     ← logic MCP thật: 3 tools + 1 resource + 1 prompt
│   ├── server.js   ← chạy core qua stdio
│   └── http.js      ← chạy core qua Streamable HTTP + API key guard + /health
├── agent/
│   ├── host.js     ← agent = MCP HOST (load config, merge tools, dispatch, use_skill)
│   └── config.json ← khai báo model + các MCP server cần nối + nơi chứa skills
├── skills/
│   └── deadline-review/SKILL.md ← 1 skill orchestrate tool của server
└── README.md

Đề tài server: Deadline / lịch học tracker

  • Tools
    • add_deadline({ title, subject, due }) — thêm deadline
    • list_deadlines({ subject?, onlyPending? }) — liệt kê, có lọc
    • complete_deadline({ id }) — đánh dấu hoàn thành, trả isError: true nếu id sai
  • Resource: deadline://list — toàn bộ danh sách, chỉ đọc
  • Prompt: plan_my_week — yêu cầu model lên kế hoạch tuần từ deadline hiện có

Chạy từng phần

1. stdio server (test bằng Inspector)

npm install
npx @modelcontextprotocol/inspector node server/server.js

2. HTTP server (local, rồi deploy public)

MCP_KEY=$(openssl rand -hex 32) node server/http.js
# test:
npx @modelcontextprotocol/inspector   # chọn Streamable HTTP, URL http://localhost:3000/mcp,
                                       # header Authorization: Bearer <MCP_KEY>

Deploy (Render/Fly/Railway...): set biến môi trường MCP_KEY, expose cổng PORT, /health dùng cho health check của nền tảng.

3. Agent host (dùng cả 2 server + skill)

cd agent && npm install
# cần Ollama chạy sẵn model qwen3.5:4b (hoặc đổi model/baseURL trong config.json)
node host.js "deadline tuần này của tôi thế nào?"

host.js sẽ: nối server stdio + server HTTP → gộp tool list → build index skill từ skills/ → chạy vòng lặp think/decide/act/observe, tự gọi use_skill khi câu hỏi khớp mô tả skill, rồi gọi tool MCP tương ứng.

Đã tự kiểm thử

  • Smoke test stdio server: gọi cả 3 tool, đọc resource, lấy prompt, kiểm tra isError khi complete id không tồn tại — tất cả đúng như kỳ vọng.
  • HTTP server: request thiếu key → 401; có key đúng → handshake initialize thành công; /health trả ok.

Còn cần làm trước khi nộp

  • [ ] Deploy bản HTTP lên nền tảng public (Render/Fly/Railway/Cloudflare Workers…), set MCP_KEY, ghi lại URL + key cho người chấm
  • [ ] Cài Ollama + pull qwen3.5:4b, chạy thử agent/host.js với model thật (bản test ở trên chỉ kiểm thử tầng MCP, chưa gọi LLM)
  • [ ] Quay video demo ngắn (xem mục "Nộp bài" bên dưới)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured