Skip to main content
Glama

Quickbase MCP Server

MIT License
2
4
  • Apple
  • Linux
create_app.ts3.24 kB
import { BaseTool } from '../base'; import { QuickbaseClient } from '../../client/quickbase'; import { createLogger } from '../../utils/logger'; const logger = createLogger('CreateAppTool'); /** * Parameters for create_app tool */ export interface CreateAppParams { /** * Name of the application to create */ name: string; /** * Description of the application */ description?: string; /** * Additional options for app creation */ options?: Record<string, any>; } /** * Response from creating an application */ export interface CreateAppResult { /** * The ID of the created application */ appId: string; /** * The name of the created application */ name: string; /** * The description of the created application */ description?: string; /** * The date the application was created */ created?: string; /** * The URL to access the application */ appUrl?: string; /** * Additional details returned from the API */ [key: string]: any; } /** * Tool for creating a new Quickbase application */ export class CreateAppTool extends BaseTool<CreateAppParams, CreateAppResult> { public name = 'create_app'; public description = 'Creates a new Quickbase application. Only use this tool when explicitly asked to create a new application.'; /** * Parameter schema for create_app */ public paramSchema = { type: 'object', properties: { name: { type: 'string', description: 'Name of the application' }, description: { type: 'string', description: 'Description of the application' }, options: { type: 'object', description: 'Additional options for app creation' } }, required: ['name'] }; /** * Constructor * @param client Quickbase client */ constructor(client: QuickbaseClient) { super(client); } /** * Run the create_app tool * @param params Tool parameters * @returns Created application details */ protected async run(params: CreateAppParams): Promise<CreateAppResult> { logger.info('Creating new Quickbase application', { name: params.name }); const { name, description, options } = params; // Prepare request body const body: Record<string, any> = { name, description: description || '' }; // Add any additional options if (options) { Object.assign(body, options); } // Create the application const response = await this.client.request({ method: 'POST', path: '/apps', body }); if (!response.success || !response.data) { logger.error('Failed to create application', { error: response.error, params }); throw new Error(response.error?.message || 'Failed to create application'); } const app = response.data as Record<string, any>; logger.info('Successfully created application', { appId: app.id, name: app.name }); return { appId: app.id, name: app.name, description: app.description, created: app.created, appUrl: app.url, ...app }; } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielbushman/MCP-Quickbase'

If you have feedback or need assistance with the MCP directory API, please join our Discord server