Compare tools, resources, and prompts
Learn the three core server capability types and who usually controls them.
- Choose whether a use case fits a tool, resource, or prompt.
Tools are actions a model can request, such as looking up an order or creating a draft. Resources expose addressable context, such as a document or application data. Prompts provide reusable, server-defined prompt templates that a user or host can select. These categories describe how a capability is presented; the host should still give people appropriate visibility and control.
A small example
1capabilities = {
2 "search_orders": "tool: perform an action",
3 "policy://returns": "resource: read context",
4 "summarize_case": "prompt: reusable template",
5}
6for name, kind in capabilities.items():
7 print(f"{name}: {kind}")search_orders: tool: perform an action policy://returns: resource: read context summarize_case: prompt: reusable template
A tool can have side effects, so describe its behavior clearly and ask for confirmation when an action is consequential. A resource is typically addressed and read as context. Prompts make common workflows reusable, but they do not themselves enforce access control or make output correct.
Key takeaways
Choose whether a use case fits a tool, resource, or prompt.
Keep capability access explicit and handle results as untrusted input.
Lesson quiz
5 questions · pass with 4 correct · up to 50 XP
Passing this quiz completes the lesson and keeps your streak going. Questions you miss come back in review sessions later.
Questions about this lesson
Stuck? Ask. Figured something out? Share it. Explaining is one of the best ways to learn.
Loading posts…