We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/weibaohui/k8m'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
export interface HPA {
apiVersion: 'autoscaling/v2';
kind: 'HorizontalPodAutoscaler';
metadata: {
name: string;
namespace?: string;
labels?: { [key: string]: string };
annotations?: { [key: string]: string };
};
spec: {
scaleTargetRef: {
apiVersion: string;
kind: string;
name: string;
};
minReplicas?: number;
maxReplicas: number;
metrics: Array<{
type: 'Resource' | 'Pods' | 'Object' | 'External' | 'ContainerResource';
resource?: {
name: string;
target: {
type: 'Utilization' | 'AverageValue' | 'Value';
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
containerResource?: {
container: string;
name: string;
target: {
type: 'Utilization' | 'AverageValue' | 'Value';
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
pods?: {
metric: {
name: string;
selector?: {
matchLabels?: { [key: string]: string };
matchExpressions?: Array<{
key: string;
operator: string;
values?: string[];
}>;
};
};
target: {
type: 'Utilization' | 'AverageValue' | 'Value';
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
external?: {
metric: {
name: string;
selector?: {
matchLabels?: { [key: string]: string };
matchExpressions?: Array<{
key: string;
operator: string;
values?: string[];
}>;
};
};
target: {
type: 'Utilization' | 'AverageValue' | 'Value';
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
object?: {
describeObject: {
apiVersion: string;
kind: string;
name: string;
};
metric: {
name: string;
selector?: {
matchLabels?: { [key: string]: string };
matchExpressions?: Array<{
key: string;
operator: string;
values?: string[];
}>;
};
};
target: {
type: 'Utilization' | 'AverageValue' | 'Value';
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
}>;
behavior?: {
scaleUp?: {
policies?: Array<{
type: 'Pods' | 'Percent';
value: number;
periodSeconds: number;
}>;
selectPolicy?: 'Max' | 'Min' | 'Disabled';
};
scaleDown?: {
policies?: Array<{
type: 'Pods' | 'Percent';
value: number;
periodSeconds: number;
}>;
selectPolicy?: 'Max' | 'Min' | 'Disabled';
};
};
};
status?: {
observedGeneration?: number;
lastScaleTime?: string;
currentReplicas: number;
desiredReplicas: number;
currentMetrics: Array<{
type: 'Resource' | 'Pods' | 'Object' | 'External' | 'ContainerResource';
resource?: {
name: string;
current: {
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
containerResource?: {
container: string;
name: string;
current: {
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
pods?: {
metric: {
name: string;
selector?: {
matchLabels?: { [key: string]: string };
matchExpressions?: Array<{
key: string;
operator: string;
values?: string[];
}>;
};
};
current: {
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
external?: {
metric: {
name: string;
selector?: {
matchLabels?: { [key: string]: string };
matchExpressions?: Array<{
key: string;
operator: string;
values?: string[];
}>;
};
};
current: {
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
object?: {
describeObject: {
apiVersion: string;
kind: string;
name: string;
};
metric: {
name: string;
selector?: {
matchLabels?: { [key: string]: string };
matchExpressions?: Array<{
key: string;
operator: string;
values?: string[];
}>;
};
};
current: {
averageUtilization?: number;
averageValue?: string;
value?: string;
};
};
}>;
conditions: Array<{
type: string;
status: 'True' | 'False' | 'Unknown';
lastTransitionTime: string;
reason: string;
message: string;
}>;
};
}