Skip to main content
Glama

MCP Project — Deadline / Study schedule tracker

Major assignment for the MCP course (FIT-HCMUS, lecturer Kha Do) — based on the slides MCP — Plug Your Agent Into Everything.

Structure

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

Related MCP server: ScienceTokyoLMS-mcp

Server topic: Deadline / study schedule tracker

  • Tools

    • add_deadline({ title, subject, due }) — add a deadline

    • list_deadlines({ subject?, onlyPending? }) — list, with filtering

    • complete_deadline({ id }) — mark as complete, returns isError: true if the id is wrong

  • Resource: deadline://list — the full list, read-only

  • Prompt: plan_my_week — asks the model to plan the week from existing deadlines

Running each part

1. stdio server (test with Inspector)

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

2. HTTP server (local, then 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 the MCP_KEY environment variable, expose the PORT, /health is used for the platform's health check.

3. Agent host (using both servers + 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 will: connect the stdio server + HTTP server → merge the tool list → build the skill index from skills/ → run the think/decide/act/observe loop, automatically calling use_skill when the question matches a skill description, then call the corresponding MCP tool.

Self-tested

  • Smoke test stdio server: called all 3 tools, read the resource, fetched the prompt, checked isError when completing a non-existent id — all as expected.

  • HTTP server: request without key → 401; with correct key → initialize handshake succeeds; /health returns ok.

Still to do before submission

  • Deploy the HTTP version to a public platform (Render/Fly/Railway/Cloudflare Workers…), set MCP_KEY, record the URL + key for the grader

  • Install Ollama + pull qwen3.5:4b, try running agent/host.js with a real model (the test above only tests the MCP layer, it doesn't call the LLM)

  • Record a short demo video (see the "Submission" section below)

F
license - not found
Not graded
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A task manager MCP server that demonstrates all three MCP primitives (tools, resources, prompts). Enables users to manage tasks, read task summaries and details, and run structured planning/review prompts through natural language.
  • A
    license
    Not graded
    quality
    C
    maintenance
    A personal MCP server for managing a folder of markdown notes. It provides tools to search and list notes, resources to access individual notes, and a prompt for weekly summaries.
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • An MCP server for deep research or task groups

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ntmthu22/22127403_mcp-homework'

If you have feedback or need assistance with the MCP directory API, please join our Discord server