diff --git a/src/everything/docs/structure.md b/src/everything/docs/structure.md index 6bcedcd425..9716e0cd47 100644 --- a/src/everything/docs/structure.md +++ b/src/everything/docs/structure.md @@ -129,7 +129,7 @@ src/everything - `echo.ts` - Registers an `echo` tool that takes a message and returns `Echo: {message}`. - `get-annotated-message.ts` - - Registers an `annotated-message` tool which demonstrates annotated content items by emitting a primary `text` message with `annotations` that vary by `messageType` (`"error" | "success" | "debug"`), and optionally includes an annotated `image` (tiny PNG) when `includeImage` is true. + - Registers an `annotated-message` tool which demonstrates both tool-level annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`) and content annotations. Emits a primary `text` message with content `annotations` (`priority`, `audience`) that vary by `messageType` (`"error" | "success" | "debug"`), and optionally includes an annotated `image` (tiny PNG) when `includeImage` is true. - `get-env.ts` - Registers a `get-env` tool that returns the current process environment variables as formatted JSON text; useful for debugging configuration. - `get-resource-links.ts` diff --git a/src/everything/tools/get-annotated-message.ts b/src/everything/tools/get-annotated-message.ts index ead0660e8f..5de72b029a 100644 --- a/src/everything/tools/get-annotated-message.ts +++ b/src/everything/tools/get-annotated-message.ts @@ -21,6 +21,12 @@ const config = { description: "Demonstrates how annotations can be used to provide metadata about content.", inputSchema: GetAnnotatedMessageSchema, + annotations: { + readOnlyHint: true, // This tool only returns data, no side effects + destructiveHint: false, // Does not delete or modify anything + idempotentHint: true, // Same input always produces same output + openWorldHint: false, // Does not interact with external systems + }, }; /**