@takashito/linode-mcp-server
Version:
MCP server for Linode API
56 lines (55 loc) • 1.4 kB
TypeScript
import { AxiosInstance } from 'axios';
import { PaginatedResponse, PaginationParams } from './common';
/**
* Interface for Tag
*/
export interface Tag {
label: string;
}
/**
* Interface for creating a Tag
*/
export interface CreateTagRequest {
label: string;
entities?: {
linodes?: number[];
domains?: number[];
nodebalancers?: number[];
volumes?: number[];
};
}
/**
* Client for Linode Tags API
*/
export interface TagsClient {
/**
* Get a list of Tags
* @param params - Pagination parameters
* @returns A paginated list of Tags
*/
getTags(params?: PaginationParams): Promise<PaginatedResponse<Tag>>;
/**
* Get a specific Tag by label
* @param label - The label of the Tag
* @returns The Tag object
*/
getTag(label: string): Promise<Tag>;
/**
* Create a new Tag
* @param data - The data for the new Tag
* @returns The newly created Tag
*/
createTag(data: CreateTagRequest): Promise<Tag>;
/**
* Delete a Tag
* @param label - The label of the Tag to delete
* @returns Empty response on success
*/
deleteTag(label: string): Promise<{}>;
}
/**
* Create a new Tags client
* @param axios - The Axios instance for API calls
* @returns A new Tags client
*/
export declare function createTagsClient(axios: AxiosInstance): TagsClient;