CourseModel Context Protocol · Module 3: Tools · part 19 of 83
Part 19 · Module 3: Tools

Topic 5: Tool design

16 min read·22 Sept 2026

Granularity and the cost of too many tools

Granularity is how much each tool does. A thin server exposes one tool per operation of the underlying code (get_note, get_note_tags, add_tag...). A task-shaped server exposes one tool per thing a user wants done (search_notes, create_note). Every tool definition is sent to the model on every turn of the conversation, so granularity has a direct cost in context, and more choices also mean more chances to pick the wrong one (Part B).

This script measures the definitions as a host would send them to the model: the prototype's 2 tools against a 12-tool thin wrapper over the same store.

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.