UNPKG

@nestjs-mcp/server

Version:

Modular library for building scalable MCP servers with NestJS, providing decorators and integration patterns as a wrapper for the official MCP TypeScript SDK.

31 lines (30 loc) 1.59 kB
import { ToolAnnotations } from '@modelcontextprotocol/sdk/types'; import { ZodRawShapeCompat } from '@modelcontextprotocol/sdk/server/zod-compat.js'; export interface ToolBaseOptions { name: string; } export interface ToolWithDescriptionOptions extends ToolBaseOptions { description: string; } export interface ToolWithParamsSchemaOptions extends ToolBaseOptions { paramsSchema: ZodRawShapeCompat; } export interface ToolWithParamsSchemaAndDescriptionOptions extends ToolWithParamsSchemaOptions { description: string; } export interface ToolWithAnnotationsOptions extends ToolBaseOptions { annotations: ToolAnnotations; } export interface ToolWithAnnotationsAndDescriptionOptions extends ToolWithAnnotationsOptions { description: string; } export interface ToolWithParamsSchemaAndAnnotationsOptions extends ToolBaseOptions { paramsSchema: ZodRawShapeCompat; annotations: ToolAnnotations; } export interface ToolWithParamsSchemaAndAnnotationsAndDescriptionOptions extends ToolWithParamsSchemaAndAnnotationsOptions { description: string; } export type ToolOptions = ToolBaseOptions | ToolWithDescriptionOptions | ToolWithParamsSchemaOptions | ToolWithParamsSchemaAndDescriptionOptions | ToolWithAnnotationsOptions | ToolWithAnnotationsAndDescriptionOptions | ToolWithParamsSchemaAndAnnotationsOptions | ToolWithParamsSchemaAndAnnotationsAndDescriptionOptions; export declare const MCP_TOOL = "__mcp_tool__"; export declare function Tool(options: ToolOptions): (target: object, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;