CourseModel Context Protocol: The Complete Course · Module 3: Tools · part 21 of 77
Part 21 · Module 3: Tools

Lesson 1: Defining a tool the model can use well

20 min read·
Module 3 · Lesson 1 · About 40 minutes · Needs: Module 1 Lessons 2 and 3 (NoteStore, a first server and client); Module 2 Lesson 1 helps (messages on the wire)

The situation

Monday 14 September 2026, week 2. The Module 1 prototype answers Nare's question, "How many participants will the nap study have?", but its search_notes tool was written in five minutes. Nare also wants the assistant to save notes, starting with the consent form due tomorrow, so create_note joins it.

Today you design both tools properly. A tool is read by two audiences: your code, which needs a strict contract, and a language model, which needs clear instructions and cannot ask what you meant. You will trace that one question, and the call search_notes(query="nap study participants") it leads to, through every part of a tool definition.

The rest of this course is yours to keep

This course is bought on its own, once, and stays readable afterwards, including the parts added to it later.

Or open everything with a plan