UNPKG

@unkey/api

Version:

Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@unkey/api* API.

25 lines 1.35 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js"; import { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; import { objectOutputType, ZodRawShape, ZodTypeAny } from "zod"; import { UnkeyCore } from "../core.js"; import { ConsoleLogger } from "./console-logger.js"; import { MCPScope } from "./scopes.js"; export type ToolDefinition<Args extends undefined | ZodRawShape = undefined> = Args extends ZodRawShape ? { name: string; description: string; scopes?: MCPScope[]; args: Args; tool: (client: UnkeyCore, args: objectOutputType<Args, ZodTypeAny>, extra: RequestHandlerExtra) => CallToolResult | Promise<CallToolResult>; } : { name: string; description: string; scopes?: MCPScope[]; args?: undefined; tool: (client: UnkeyCore, extra: RequestHandlerExtra) => CallToolResult | Promise<CallToolResult>; }; export declare function formatResult(value: unknown, init: { response?: Response | undefined; }): Promise<CallToolResult>; export declare function createRegisterTool(logger: ConsoleLogger, server: McpServer, sdk: UnkeyCore, allowedScopes: Set<MCPScope>, allowedTools?: Set<string>): <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>) => void; //# sourceMappingURL=tools.d.ts.map