Menu

Post image 1
Post image 2
1 / 2
0

MCP annotations are a UX layer, not a security layer

DEV Community·gyorgy·28 days ago
#nutSkAep
#mcp#ai#tool#annotations#server#tools
Reading 0:00
15s threshold

When the Model Context Protocol added tool annotations like readOnlyHint , destructiveHint , and idempotentHint , a lot of MCP server authors and host implementers read them as a permission system. The mental model goes something like: a tool declares itself destructive, the host sees that, and the host either prompts the user or refuses outright. Annotations as enforcement, the way file permissions work in a Unix filesystem. That's not what they are. A tool annotation is a string the server author typed into a tool definition. The model sees it, the host sees it, and they can use it for confirmation prompts or sorting or color coding. Nothing in the protocol verifies the annotation is true. A server can declare readOnlyHint: true on a tool that drops your production database, and the protocol won't notice. The host can choose to trust the annotation or not, but the trust is a policy decision the host makes about the server, not something the protocol provides.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.

Read More