MCP API glossary
What MCP tool annotations tell clients about a tool. Select an annotation or full API badge to open its definition here.
The signature and entry documentation describe the API’s behavior, including its calling conventions, storage and runtime checks.
MCP tool annotations#
These are server-supplied hints, not enforced guarantees. Clients must not base tool-use decisions on annotations from untrusted servers.
readOnlyHint#
True indicates that the tool leaves its environment unchanged.
Defaults to false when omitted.
References: MCP ToolAnnotations .
destructiveHint#
True indicates potentially destructive changes; false indicates additive changes only.
Defaults to true. Meaningful only when readOnlyHint is false.
References: MCP ToolAnnotations .
idempotentHint#
True indicates that repeating a call with identical arguments adds no further effects.
Defaults to false. Meaningful only when readOnlyHint is false. It does not promise identical responses.
References: MCP ToolAnnotations .
openWorldHint#
True indicates possible interaction with external entities; false indicates a closed interaction domain.
Defaults to true. This describes the interaction domain, not whether the tool writes data.
References: MCP ToolAnnotations .
title#
A display title for the tool.
The tool’s top-level title takes precedence, followed by annotations.title, then name.
References: MCP ToolAnnotations .
Symbol kinds#
Kinds identify declarations in the TypeScript API reference.
class#
A TypeScript class declaring a runtime constructor and members, with a corresponding instance type.
References: TypeScript classes .
interface#
A TypeScript type describing a structural contract. It does not create a runtime object or constructor.
References: TypeScript interfaces .
function#
A TypeScript callable with typed parameters and a return type.
References: TypeScript functions .
method#
A TypeScript function member declared on a class or object type.
References: TypeScript methods .
property#
A TypeScript object member, including a stored field or an accessor.
Getters and setters can execute code; the type declaration alone does not promise storage.
References: TypeScript fields ; TypeScript getters and setters .
attribute#
A TypeScript field or declared object member in this reference.
References: TypeScript fields .
typealias#
A TypeScript name for a type expression, including a union, object or function type.
It does not create a runtime constructor or a distinct nominal type.
References: TypeScript type aliases .
Modifiers#
Modifiers add information about calling, implementing, or accessing a declaration. Their precise effect follows the language and the signature.
static#
A TypeScript member accessed on its class constructor rather than on an instance.
References: TypeScript static members .
async#
A TypeScript async function returning a Promise. Awaiting it can suspend its caller without implying a new thread.
References: TypeScript async/await in ES6 targets .
readonly#
A TypeScript member that cannot be assigned through that typed reference after its permitted initialization.
Referenced objects may still be mutable; readonly does not freeze them.
References: TypeScript readonly fields .
overload#
Multiple TypeScript call signatures describing accepted argument and result combinations.
A function implementation supplies one body; callers use its exposed overload signatures.
References: TypeScript overloads .
private#
A TypeScript member restricted to its declaring class.
The private keyword is checked by TypeScript; JavaScript #private fields also enforce privacy at runtime.
References: TypeScript member visibility .
Package context#
Package labels identify where an API is supplied.
package#
The npm package supplying this TypeScript API. Package identity and module import paths can differ.
References: TypeScript modules and packages .