Skip to main content
Glama
LawrenceCirillo

QuickBase MCP Server

quickbase_create_record

Add a new record to a specified table in QuickBase using defined field values. Simplify data entry and organization directly via the QuickBase MCP Server.

Instructions

Create a new record in a table

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsYesField values as fieldId: {value: actualValue} pairs
tableIdYesTable ID to create record in

Implementation Reference

  • MCP tool handler for 'quickbase_create_record' that extracts arguments, calls QuickBaseClient.createRecord, and returns a success message with the new record ID.
    case 'quickbase_create_record':
      if (!args || typeof args !== 'object') {
        throw new Error('Invalid arguments');
      }
      const newRecordId = await this.qbClient.createRecord(args.tableId as string, {
        fields: args.fields as Record<string, any>
      });
      return {
        content: [
          {
            type: 'text',
            text: `Record created with ID: ${newRecordId}`,
          },
        ],
      };
  • Zod schema definition for validating input to quickbase_create_record tool.
    const CreateRecordSchema = z.object({
      tableId: z.string().describe('Table ID to create record in'),
      fields: z.record(z.any()).describe('Field values as fieldId: value pairs')
    });
  • Tool registration in quickbaseTools array, including name, description, and inputSchema for ListTools endpoint.
    {
      name: 'quickbase_create_record',
      description: 'Create a new record in a table',
      inputSchema: {
        type: 'object',
        properties: {
          tableId: { type: 'string', description: 'Table ID to create record in' },
          fields: { 
            type: 'object', 
            description: 'Field values as fieldId: {value: actualValue} pairs',
            additionalProperties: true
          }
        },
        required: ['tableId', 'fields']
      }
    },
  • Core implementation of record creation via QuickBase API POST /records, extracting new record ID from field 3.
    async createRecord(tableId: string, record: QuickBaseRecord): Promise<number> {
      const response = await this.axios.post('/records', {
        to: tableId,
        data: [{
          ...record.fields
        }]
      });
      return response.data.data[0]['3'].value; // Record ID is always field 3
    }

Latest Blog Posts

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/LawrenceCirillo/QuickBase-MCP-Server'

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