Skip to content

basalt / mcp-core/src / McpToolDef

Interface: McpToolDef ​

Defined in: mcp-core/src/server.ts:48

A function-shaped MCP tool. Unlike the runtime @basaltkit/mcp package (whose tools are BasaltRoutes), the core takes plain descriptors so a dev tool can expose any function — no DI container, no framework runtime.

Properties ​

description ​

> description: string

Defined in: mcp-core/src/server.ts:50


inputSchema ​

> inputSchema: Record<string, unknown>

Defined in: mcp-core/src/server.ts:51


name ​

> name: string

Defined in: mcp-core/src/server.ts:49


outputSchema? ​

> optional outputSchema?: Record<string, unknown>

Defined in: mcp-core/src/server.ts:52

Methods ​

invoke() ​

> invoke(args, ctx): Promise<McpToolResult>

Defined in: mcp-core/src/server.ts:53

Parameters ​

args ​

Record<string, unknown>

ctx ​

ToolInvokeContext

Returns ​

Promise<McpToolResult>


visible()? ​

> optional visible(ctx): boolean | Promise<boolean>

Defined in: mcp-core/src/server.ts:60

Optional listing filter: return false to leave the tool out of this caller's tools/list. It must be side-effect free (it runs on every listing) and it is NOT authorization — tools/call never consults it, so invoke must still enforce access itself. A throwing hook hides the tool.

Parameters ​

ctx ​

CallContext

Returns ​

boolean | Promise<boolean>

Released under the MIT License.