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.pdfTask 1 — Install 3 MCP Servers
Objective
Install and configure 3 different MCP servers in Claude Desktop (or another MCP host).
Instructions
- Choose 3 servers from the official MCP servers repository (e.g., filesystem, GitHub, fetch)
- Add each server to your
claude_desktop_config.json - Restart Claude Desktop and verify each server connects
- For each server, demonstrate one successful tool call
- 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
- Choose a domain you care about (e.g., a todo app, a recipe manager, a bookmark organiser)
- Define 3–5 tools with names, descriptions, and JSON Schema input definitions
- Define 1–2 resources with URI schemes and descriptions
- Define 1 prompt template
- 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
- In 300–500 words, explain Tools, Resources, and Prompts
- For each, include: what it is, who controls it (model / application / user), and a concrete example
- Explain when you would choose one over another
- 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
- Task 1: 3 MCP servers installed; config shown; one tool call per server
- Task 2: Server design with 3–5 tools, 1–2 resources, 1 prompt; complete schemas
- Task 3: Clear explanation of Tool vs Resource vs Prompt; comparison table
- All code runs without error after kernel restart + run all