Lesson 12 MCP Concepts & Protocol
Theme:

Homework

Three tasks exploring the MCP ecosystem, server design, and conceptual understanding.

Complete all three lab exercises before starting the homework. Tasks 1 and 2 require Claude Desktop or another MCP host.

📥 Reference Solution

⬇ lab_answer.pdf

Task 1 — Install 3 MCP Servers

Objective

Install and configure 3 different MCP servers in Claude Desktop (or another MCP host).

Instructions

  1. Choose 3 servers from the official MCP servers repository (e.g., filesystem, GitHub, fetch)
  2. Add each server to your claude_desktop_config.json
  3. Restart Claude Desktop and verify each server connects
  4. For each server, demonstrate one successful tool call
  5. Document the configuration and results in your notebook

Deliverable

A notebook with your config JSON, screenshots or logs of each server connecting, and one tool call per server.

Self-check: All 3 servers appear in Claude Desktop and respond to tool calls.

Task 2 — Design Your Own MCP Server

Objective

Design (but do not build yet) the schema for your own MCP server. You will build it in Lesson 13.

Instructions

  1. Choose a domain you care about (e.g., a todo app, a recipe manager, a bookmark organiser)
  2. Define 3–5 tools with names, descriptions, and JSON Schema input definitions
  3. Define 1–2 resources with URI schemes and descriptions
  4. Define 1 prompt template
  5. Document your design in a structured format
{
  "tools": [
    {"name": "add_todo", "description": "Add a new todo item", "input_schema": {...}},
    {"name": "list_todos", "description": "List all todos", "input_schema": {...}}
  ],
  "resources": [
    {"uri": "todo://all", "description": "All todo items as JSON"}
  ],
  "prompts": [
    {"name": "plan_day", "description": "Plan tasks for today based on the todo list"}
  ]
}

Deliverable

A notebook with your full server design including tool schemas, resource URIs, and prompt template.

Self-check: Each tool has a complete JSON Schema for its input. Resources have clear URI schemes. The prompt includes argument definitions.

Task 3 — Explain Tool vs Resource vs Prompt

Objective

Write a clear explanation of the three MCP primitives, aimed at a developer who knows LLMs but has never heard of MCP.

Instructions

  1. In 300–500 words, explain Tools, Resources, and Prompts
  2. For each, include: what it is, who controls it (model / application / user), and a concrete example
  3. Explain when you would choose one over another
  4. Include a comparison table

Deliverable

A markdown cell in your notebook with the explanation, examples, and comparison table.

Self-check: A colleague unfamiliar with MCP could read your explanation and understand the distinction between the three primitives.

Submission Checklist