mcp-quickbase
Version:
Work with Quickbase via Model Context Protocol
109 lines (108 loc) • 2.41 kB
TypeScript
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>;
}