Skip to content

Commit 75b3284

Browse files
committed
Differentiate the primitives
1 parent de7ee43 commit 75b3284

File tree

3 files changed

+23
-9
lines changed

3 files changed

+23
-9
lines changed

docs/concepts/prompts.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ description: "Create resuable prompt templates and workflows"
55

66
Prompts enable servers to define reusable prompt templates and workflows that clients can easily surface to users and LLMs. They provide a powerful way to standardize and share common LLM interactions.
77

8+
<Note>
9+
Prompts are designed to be **user-controlled**, meaning they are exposed from servers to clients with the intention of the user being able to explicitly select them for use.
10+
</Note>
11+
812
## Overview
913

1014
Prompts in MCP are predefined templates that can:

docs/concepts/resources.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ description: "Expose data and content from your servers to LLMs"
55

66
Resources are a core primitive in the Model Context Protocol (MCP) that allow servers to expose data and content that can be read by clients and used as context for LLM interactions.
77

8+
<Note>
9+
Resources are designed to be **application-controlled**, meaning that the client application can decide how and when they should be used.
10+
11+
For example, one application may require users to explicitly select resources, while another could automatically select them based on heuristics or even at the discretion of the AI model itself.
12+
</Note>
13+
814
## Overview
915

1016
Resources represent any kind of data that an MCP server wants to make available to clients. This can include:

docs/concepts/tools.mdx

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ description: "Enable LLMs to perform actions through your server"
55

66
Tools are a powerful primitive in the Model Context Protocol (MCP) that enable servers to expose executable functionality to clients. Through tools, LLMs can interact with external systems, perform computations, and take actions in the real world.
77

8+
<Note>
9+
Tools are designed to be **model-controlled**, meaning that tools are exposed from servers to clients with the intention of the AI model being able to automatically invoke them (with a human in the loop to grant approval).
10+
</Note>
11+
812
## How tools work
913

1014
Tools in MCP follow a request-response pattern where:
@@ -79,10 +83,10 @@ For long-running operations, tools can report progress using the progress notifi
7983
server.setRequestHandler(CallToolRequestSchema, async (request) => {
8084
if (request.params.name === "long_process") {
8185
const progressToken = request.params._meta?.progressToken;
82-
86+
8387
for (let i = 0; i < total; i++) {
8488
await doWork();
85-
89+
8690
// Send progress update
8791
await server.notification({
8892
method: "notifications/progress",
@@ -93,7 +97,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
9397
}
9498
});
9599
}
96-
100+
97101
return { toolResult: "Complete" };
98102
}
99103
});
@@ -121,7 +125,7 @@ Tools that interact with the local system:
121125
}
122126
```
123127

124-
### API integrations
128+
### API integrations
125129

126130
Tools that wrap external APIs:
127131

@@ -152,10 +156,10 @@ Tools that transform or analyze data:
152156
type: "object",
153157
properties: {
154158
filepath: { type: "string" },
155-
operations: {
156-
type: "array",
157-
items: {
158-
enum: ["sum", "average", "count"]
159+
operations: {
160+
type: "array",
161+
items: {
162+
enum: ["sum", "average", "count"]
159163
}
160164
}
161165
}
@@ -276,4 +280,4 @@ Consider these testing approaches:
276280
7. Test rate limiting
277281
8. Check resource cleanup
278282
9. Test timeout handling
279-
10. Verify security constraints
283+
10. Verify security constraints

0 commit comments

Comments
 (0)