Skip to content

Documentation / @agentick/mcp / RootsAPI

Interface: RootsAPI

Defined in: protocol/types.ts:547

Sugar surface for roots/list exposed on MCPHandlerContext.roots. Always present — returns empty list (and treats assertWithin/isWithin permissively) when the client did not advertise the roots capability.

Methods

assertWithin()

assertWithin(path): Promise<void>

Defined in: protocol/types.ts:562

Throws if path is outside all declared roots. No-op when no roots are declared.

Parameters

path

string

Returns

Promise<void>


isWithin()

isWithin(path): Promise<boolean>

Defined in: protocol/types.ts:556

Returns true if path (a POSIX path or file:// URI) is within any declared root. Returns true when no roots are declared (permissive default — no constraints).

Parameters

path

string

Returns

Promise<boolean>


list()

list(): Promise<Root[]>

Defined in: protocol/types.ts:549

Returns the connected client's roots, fetched once and cached.

Returns

Promise<Root[]>


resolveRelative()

resolveRelative(relativePath, opts?): Promise<string>

Defined in: protocol/types.ts:575

Joins a relative path against the first declared root, or against a root identified by name when supplied. Throws if no roots are declared, or if the named root cannot be found.

Parameters

relativePath

string

opts?
name?

string

Returns

Promise<string>


rootContaining()

rootContaining(path): Promise<Root | null>

Defined in: protocol/types.ts:568

Returns the matching root for path, or null if none contains it. When multiple roots match, returns the most specific (longest-prefix).

Parameters

path

string

Returns

Promise<Root | null>


subscribe()

subscribe(listener): () => void

Defined in: protocol/types.ts:582

Subscribe to changes — fires when the client emits notifications/roots/list_changed and the cache is refreshed. Returns an unsubscribe function.

Parameters

listener

(roots) => void

Returns

(): void

Returns

void

Released under the ISC License.