Skip to main content
Glama

MCP プロジェクト — 締切/学習スケジュールトラッカー

MCP 科目の課題 (FIT-HCMUS、講師 Kha Do) — スライド 『MCP — Plug Your Agent Into Everything』に基づく。

構成

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

サーバーのテーマ: 締切/学習スケジュールトラッカー

  • Tools

    • add_deadline({ title, subject, due }) — 締切を追加

    • list_deadlines({ subject, onlyPending }) — 一覧表示(フィルタ付き)

    • complete_deadline({ id }) — 完了にマーク、id が間違っていれば isError: true を返す

  • Resource: deadline://list — 全リスト、読み取り専用

  • Prompt: plan_my_week — 既存の締切からモデルに週の計画を立てさせる

各パートの実行

1. stdio サーバー (Inspector でテスト)

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

2. HTTP サーバー (ローカル、その後パブリックにデプロイ)

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>

デプロイ (Render/Fly/Railway...): 環境変数 MCP_KEY を設定し、PORT を公開、 /health はプラットフォームのヘルスチェックに使用。

3. エージェントホスト (両サーバー + スキルを使用)

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 は: stdio サーバー + HTTP サーバーに接続 → ツールリストを統合 → skills/ からスキルインデックスを構築 → think/decide/act/observe のループを実行、質問がスキルの説明に一致する場合は use_skill を自動呼び出し、その後対応する MCP ツールを呼び出す。

自己テスト済み

  • stdio サーバーのスモークテスト: 3 つのツールすべてを呼び出し、リソースを読み、プロンプトを取得、存在しない id の完了での isError を確認 — すべて期待通り。

  • HTTP サーバー: キーがないリクエスト → 401; 正しいキーがあれば → ハンドシェイク initialize 成功; /health は ok を返す。

提出前にやるべきこと

  • HTTP 版をパブリックプラットフォーム (Render/Fly/Railway...) にデプロイし、MCP_KEY を設定、採点者用に URL + キーを記録

  • Ollama をインストールして qwen3:8b を pull、agent/host.js を実際のモデルでテスト実行(上のテスト版は MCP レイヤーのみの検証で、LLM はまだ呼んでいない)

  • 短いビデオを撮る(下記「提出」参照)

Related MCP Connectors

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.
    -
  • F
    license
    Not graded
    quality
    D
    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.
    -