@the_cfdude/productboard-mcp
Version:
Model Context Protocol server for Productboard REST API with dynamic tool loading
363 lines (362 loc) • 9.71 kB
TypeScript
/**
* Features Tools
*/
export declare function setupFeaturesTools(): ({
name: string;
description: string;
inputSchema: {
type: string;
properties: {
name: {
type: string;
description: string;
};
description: {
type: string;
description: string;
};
status: {
type: string;
description: string;
properties: {
id: {
type: string;
description: string;
};
name: {
type: string;
description: string;
};
};
required: string[];
};
owner: {
type: string;
properties: {
email: {
type: string;
description: string;
};
};
};
parent: {
type: string;
description: string;
properties: {
id: {
type: string;
description: string;
};
type: {
type: string;
enum: string[];
description: string;
};
};
required: string[];
};
instance: {
type: string;
description: string;
};
workspaceId: {
type: string;
description: string;
};
id?: undefined;
archived?: undefined;
timeframe?: undefined;
parentId?: undefined;
componentId?: undefined;
productId?: undefined;
};
required: string[];
additionalProperties: boolean;
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
maxLength: {
type: string;
description: string;
};
truncateFields: {
type: string;
items: {
type: string;
};
description: string;
};
truncateIndicator: {
type: string;
description: string;
};
includeDescription: {
type: string;
description: string;
};
includeCustomFieldsStrategy: {
type: string;
enum: string[];
description: string;
};
includeLinks: {
type: string;
description: string;
};
includeEmpty: {
type: string;
description: string;
};
includeMetadata: {
type: string;
description: string;
};
archived: {
type: string;
description: string;
};
noteId: {
type: string;
description: string;
};
ownerEmail: {
type: string;
description: string;
};
parentId: {
type: string;
description: string;
};
statusId: {
type: string;
description: string;
};
statusName: {
type: string;
description: string;
};
timeframeDuration: {
type: string;
description: string;
};
timeframeDurationMin: {
type: string;
description: string;
};
timeframeDurationMax: {
type: string;
description: string;
};
limit: {
type: string;
description: string;
};
startWith: {
type: string;
description: string;
};
detail: {
type: string;
enum: string[];
description: string;
};
outputFormat: {
type: string;
enum: string[];
description: string;
};
includeSubData: {
type: string;
description: string;
};
instance: {
type: string;
description: string;
};
workspaceId: {
type: string;
description: string;
};
name?: undefined;
description?: undefined;
status?: undefined;
owner?: undefined;
parent?: undefined;
id?: undefined;
timeframe?: undefined;
componentId?: undefined;
productId?: undefined;
};
required?: undefined;
additionalProperties?: undefined;
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
id: {
type: string;
description: string;
};
name: {
type: string;
description: string;
};
description: {
type: string;
description: string;
};
status: {
type: string;
properties: {
id: {
type: string;
description: string;
};
name: {
type: string;
description: string;
};
};
description?: undefined;
required?: undefined;
};
owner: {
type: string;
properties: {
email: {
type: string;
description: string;
};
};
};
archived: {
type: string;
description: string;
};
timeframe: {
type: string;
description: string;
properties: {
startDate: {
type: string;
description: string;
};
endDate: {
type: string;
description: string;
};
granularity: {
type: string;
description: string;
};
};
};
parentId: {
type: string;
description: string;
};
componentId: {
type: string;
description: string;
};
productId: {
type: string;
description: string;
};
instance: {
type: string;
description: string;
};
workspaceId: {
type: string;
description: string;
};
parent?: undefined;
};
additionalProperties: boolean;
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
id: {
type: string;
description: string;
};
instance: {
type: string;
description: string;
};
workspaceId: {
type: string;
description: string;
};
name?: undefined;
description?: undefined;
status?: undefined;
owner?: undefined;
parent?: undefined;
archived?: undefined;
timeframe?: undefined;
parentId?: undefined;
componentId?: undefined;
productId?: undefined;
};
required: string[];
additionalProperties?: undefined;
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
entityType: {
type: string;
enum: string[];
description: string;
};
instance: {
type: string;
description: string;
};
workspaceId: {
type: string;
description: string;
};
};
required: string[];
};
})[];
export declare function handleFeaturesTool(name: string, args: any): Promise<{
content: {
type: string;
text: string | Partial<any>;
}[];
} | {
content: {
type: string;
text: string | {
success: boolean;
feature: any;
};
}[];
} | {
content: {
type: string;
text: string | {
success: boolean;
message: string;
};
}[];
}>;