UNPKG

@the_cfdude/productboard-mcp

Version:

Model Context Protocol server for Productboard REST API with dynamic tool loading

33 lines (32 loc) 1.15 kB
import { MultiInstanceProductboardConfig, ProductboardInstanceConfig } from '../types.js'; import { AxiosInstance } from 'axios'; declare module 'axios' { interface AxiosRequestConfig { toolName?: string; } } export interface ToolContext { config: MultiInstanceProductboardConfig; instance: ProductboardInstanceConfig; workspaceId?: string; axios: AxiosInstance; } /** * Create tool context with configuration and HTTP client */ export declare function createToolContext(instanceName?: string, workspaceId?: string): ToolContext; /** * Wrapper function to handle common tool patterns */ export declare function withContext<T>(handler: (context: ToolContext) => Promise<T>, instanceName?: string, workspaceId?: string, toolName?: string): Promise<T>; /** * Helper to format API responses consistently */ export declare function formatResponse(data: any, includeRaw?: boolean): string | { formatted: string; raw: any; }; /** * Helper to handle pagination */ export declare function handlePagination<T>(context: ToolContext, endpoint: string, params?: Record<string, any>, maxPages?: number): Promise<T[]>;