Skip to main content
Glama

MCP Homework — Host, Two Transports, and a Skill

This project satisfies the local parts of the assignment without extra frameworks:

  • a CLI agent using Ollama qwen3.5:4b;

  • an MCP host that loads config, merges tools, and routes calls;

  • a stdio todo server with 3 tools, 1 resource, and 1 prompt;

  • the same server over authenticated local Streamable HTTP;

  • progressive skill loading through use_skill;

  • persistence, validation, recoverable MCP errors, and integration tests.

Public hosting is intentionally not performed. See PUBLIC_HTTP.md for the exact deployment steps.

Requirements

  • Node.js 20+

  • Ollama

  • qwen3.5:4b: ollama pull qwen3.5:4b

Related MCP server: Personal OS MCP

Install and verify

npm install
npm test
npm run check

Run everything locally

Use the same local key in both terminals. It is not committed.

Terminal 1 — start the authenticated HTTP server:

export MCP_KEY="$(openssl rand -hex 32)"
echo "$MCP_KEY"   # copy this value for terminal 2
npm run server:http

Terminal 2 — ensure Ollama is running, then start the agent:

export MCP_KEY="paste-the-same-value"
ollama serve      # omit if Ollama is already running

In another terminal, run:

export MCP_KEY="paste-the-same-value"
npm run agent

Try these requests:

Add "finish MCP homework" using the stdio todo server.
Add "record the demo" using the HTTP todo server.
Standup time — what should I work on today?

The last request should trigger use_skill("daily-plan"), then call both MCP servers and return Today, Later, and Blockers.

Test with MCP Inspector

Stdio:

npx @modelcontextprotocol/inspector node src/servers/stdio.js

HTTP:

export MCP_KEY="a-local-test-key"
npm run server:http
npx @modelcontextprotocol/inspector

In Inspector, select Streamable HTTP, use http://127.0.0.1:3000/mcp, and add header Authorization: Bearer a-local-test-key. Verify:

  1. add_task, list_tasks, and complete_task are listed and callable.

  2. todo://list can be read.

  3. plan_my_day can be loaded.

  4. Completing an unknown ID returns isError: true.

Project map

config.json                 agent/model/server configuration
skills/daily-plan/SKILL.md on-demand workflow
src/agent/                  MCP host, Ollama loop, and skill loader
src/todo/                   shared todo domain and MCP capabilities
src/servers/stdio.js        stdio entry point
src/servers/http.js         Streamable HTTP entry point
test/                       unit and protocol integration tests

Grading evidence

Requirement

Evidence

Agent host

src/agent, config.json; merges and routes prefixed tools

stdio server

src/servers/stdio.js; 3 tools + resource + prompt

Local HTTP

src/servers/http.js; Streamable HTTP + health + bearer auth

Skill in agent

skills/daily-plan/SKILL.md; indexed then loaded by use_skill

Error handling

Zod validation, isError, bounded agent loop, stable HTTP errors

Tests

npm test exercises repository and both MCP transports end to end

Demo and submission checklist

For a short YouTube demo:

  1. Show npm test passing.

  2. Show the stdio server in Inspector: tools, resource, and prompt.

  3. Show the HTTP server returning 401 without the key, then connecting with it.

  4. In the agent, add one task through each server.

  5. Ask “Standup time” and show automatic skill loading plus calls to both servers.

  6. Briefly open config.json and SKILL.md and explain the routing.

Submit the YouTube link and source code on Moodle. If you later deploy, also submit the public /mcp URL and a temporary grader key.

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

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    -
    quality
    C
    maintenance
    A local-stdio MCP server for a single personal Todoist account with env-gated read-only mode and prompt-injection mitigations.
    267
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    MCP server for Personal OS API that enables managing tasks, notes, projects, collections, reviews, and more through typed tools over stdio.
    66

View all related MCP servers

Related MCP Connectors

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • Hosted AgentLux MCP server for marketplace, identity, creator, services, and social flows.

  • Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

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/voleviettu/Agent-MCP'

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