Add resources and prompts

Design useful capability boundaries

Review names, descriptions, schemas, output size, and side effects so the model can choose the right capability safely.

8 minute lesson

~~~

Read the complete capability list as if you had never seen the source. The model sees names, descriptions, and schemas before it sees implementation details.

Our four boundaries answer different questions:

CapabilityQuestion it answersSide effect
search_notesWhich notes match this term?None
get_noteWhat does this known note contain?None
notes://catalogWhich notes are available?None
review_projectHow should a review request be phrased?None

Search and catalog overlap slightly, but they support different discovery paths. The catalog is stable context. Search accepts a bounded query. If both returned the same complete dataset, one should disappear.

Keep names stable and descriptions concrete. Bound string length, result count, and result size. A read-only operation can still expose too much data or consume too many backend resources.

If you add writes later, separate them from reads:

get_note       reads one note
update_note    changes one note
delete_note    removes one note

Do not hide all three behaviors behind manage_note. A specific name and schema let a host request meaningful approval for a consequential action.

Annotations such as readOnlyHint and destructiveHint improve presentation. They are untrusted metadata, not enforcement. Actual safety comes from handler behavior, authorization, and least-privilege credentials.

Delete capabilities that do not make the workflow clearer. A smaller surface is easier for models to choose and people to audit.

Lesson completed

Take this course offline

Get every free book and course as PDF and EPUB files.

Get the download library →