mcp-quickbase
Version:
Work with Quickbase via Model Context Protocol
48 lines (47 loc) • 1.28 kB
TypeScript
import { McpTool } from "../types/mcp";
import { ApiResponse } from "../types/api";
import { QuickbaseClient } from "../client/quickbase";
/**
* Base class for MCP tools
*/
export declare abstract class BaseTool<TParams, TResult> implements McpTool<TParams, TResult> {
/**
* Tool name
*/
abstract name: string;
/**
* Tool description
*/
abstract description: string;
/**
* Parameter schema for the tool
*/
abstract paramSchema: Record<string, unknown>;
/**
* QuickBase client instance
*/
protected client: QuickbaseClient;
/**
* Constructor
* @param client QuickBase client instance
*/
constructor(client: QuickbaseClient);
/**
* Validate parameters against schema using Zod
* @param params Parameters to validate
* @returns Validated parameters
*/
protected validateParams(params: unknown): TParams;
/**
* Execute the tool
* @param params Tool parameters
* @returns Tool result
*/
execute(params: TParams): Promise<ApiResponse<TResult>>;
/**
* Implement the tool's functionality
* @param params Tool parameters
* @returns Tool result
*/
protected abstract run(params: TParams): Promise<TResult>;
}