UNPKG

@jorgeceballos/mcp-server-oci

Version:

Model Context Protocol server for Oracle Cloud Infrastructure

153 lines (152 loc) 3.44 kB
import { z } from 'zod'; import { OCIClient } from '../oci/client'; export declare class OCITools { ociClient: OCIClient; constructor(profileName?: string); /** * List OCI compartments */ listCompartments: { name: string; description: string; parameters: {}; handler: () => Promise<{ content: { text: string; type: "text"; }[]; }>; }; /** * List instances in a compartment */ listInstances: { name: string; description: string; parameters: { compartmentId: z.ZodString; }; handler: ({ compartmentId }: { compartmentId: string; }) => Promise<{ content: { text: string; type: "text"; }[]; }>; }; /** * Get instance details */ getInstance: { name: string; description: string; parameters: { instanceId: z.ZodString; }; handler: ({ instanceId }: { instanceId: string; }) => Promise<{ content: { text: string; type: "text"; }[]; }>; }; /** * Start an instance */ startInstance: { name: string; description: string; parameters: { instanceId: z.ZodString; }; handler: ({ instanceId }: { instanceId: string; }) => Promise<{ content: { text: string; type: "text"; }[]; }>; }; /** * Stop an instance */ stopInstance: { name: string; description: string; parameters: { instanceId: z.ZodString; }; handler: ({ instanceId }: { instanceId: string; }) => Promise<{ content: { text: string; type: "text"; }[]; }>; }; /** * Restart an instance */ restartInstance: { name: string; description: string; parameters: { instanceId: z.ZodString; }; handler: ({ instanceId }: { instanceId: string; }) => Promise<{ content: { text: string; type: "text"; }[]; }>; }; /** * Get all tools as an array */ getAllTools(): ({ name: string; description: string; parameters: {}; handler: () => Promise<{ content: { text: string; type: "text"; }[]; }>; } | { name: string; description: string; parameters: { compartmentId: z.ZodString; }; handler: ({ compartmentId }: { compartmentId: string; }) => Promise<{ content: { text: string; type: "text"; }[]; }>; } | { name: string; description: string; parameters: { instanceId: z.ZodString; }; handler: ({ instanceId }: { instanceId: string; }) => Promise<{ content: { text: string; type: "text"; }[]; }>; })[]; }