@jorgeceballos/mcp-server-oci
Version:
Model Context Protocol server for Oracle Cloud Infrastructure
153 lines (152 loc) • 3.44 kB
TypeScript
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";
}[];
}>;
})[];
}