What a tool is likely to do, with the meanings of the MCP tool annotations and their conservative defaults. These are hints a middleware reads (for example to ask approval for a tool that is not read-only), not guarantees: nothing checks that a tool behaves as it says.
It lives in llm4s-core so that both llm4s-agent, whose tool contract carries it, and llm4s-mcp, which reads it from a server's tool annotations, can see it: neither module depends on the other.
Value parameters
- destructive
-
MCP
destructiveHint: the tool may perform destructive updates rather than only additive ones; meaningful only when it is notreadOnly - idempotent
-
MCP
idempotentHint: calling it again with the same arguments has no further effect; meaningful only when it is notreadOnly - openWorld
-
MCP
openWorldHint: the tool may interact with an open world of external entities, such as the web, rather than a closed domain - readOnly
-
MCP
readOnlyHint: the tool does not modify its environment
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any