MCPToolAnnotations

org.llm4s.mcp.MCPToolAnnotations
See theMCPToolAnnotations companion object
final case class MCPToolAnnotations(title: Option[String], readOnlyHint: Option[Boolean], destructiveHint: Option[Boolean], idempotentHint: Option[Boolean], openWorldHint: Option[Boolean])

The annotations an MCP server attaches to a tool in tools/list (MCP specification, "Tool Annotations"): hints about what the tool does, which a client may use to decide, for example, whether to ask for approval before calling it. They are hints, not guarantees.

Every field is optional in the protocol, so an absent one is None; toToolHints fills it in with the specification's conservative default.

Value parameters

destructiveHint

the tool may perform destructive updates (default true; meaningful only when not read-only)

idempotentHint

calling it again with the same arguments has no further effect (default false; meaningful only when not read-only)

openWorldHint

the tool may interact with an open world of external entities (default true)

readOnlyHint

the tool does not modify its environment (default false)

title

a human-readable title for the tool

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

The hints a middleware reads, with the specification's default for each one the server left out.

The hints a middleware reads, with the specification's default for each one the server left out.

Attributes

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product