UNPKG

mcp-quickbase

Version:

Work with Quickbase via Model Context Protocol

109 lines (108 loc) 2.41 kB
import { BaseTool } from "../base"; import { QuickbaseClient } from "../../client/quickbase"; /** * Table information returned by list_tables */ export interface TableInfo { /** * The ID of the table */ id: string; /** * The name of the table */ name: string; /** * The description of the table */ description?: string; /** * The singular noun for records in this table */ singleRecordName?: string; /** * The plural noun for records in this table */ pluralRecordName?: string; /** * The date the table was created */ created?: string; /** * The date the table was last updated */ updated?: string; /** * Additional details about the table */ [key: string]: any; } /** * Parameters for list_tables tool */ export interface ListTablesParams { /** * The application ID to list tables for */ app_id?: string; /** * Whether to include hidden tables */ include_hidden?: boolean; /** * Filter tables by name (case-insensitive substring match) */ filter?: string; } /** * Response from listing tables */ export interface ListTablesResult { /** * Array of tables in the application */ tables: TableInfo[]; /** * The application ID that was queried */ appId: string; } /** * Tool for listing all tables in a Quickbase application */ export declare class ListTablesTool extends BaseTool<ListTablesParams, ListTablesResult> { name: string; description: string; /** * Parameter schema for list_tables */ paramSchema: { type: string; properties: { app_id: { type: string; description: string; }; include_hidden: { type: string; description: string; }; filter: { type: string; description: string; }; }; required: never[]; }; /** * Constructor * @param client Quickbase client */ constructor(client: QuickbaseClient); /** * Run the list_tables tool * @param params Tool parameters * @returns List of tables in the application */ protected run(params: ListTablesParams): Promise<ListTablesResult>; }