LawrenceCirillo/QuickBase-MCP-Server
If you are the rightful owner of QuickBase-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The QuickBase MCP Server is a Model Context Protocol server designed to provide comprehensive and flexible operations for QuickBase applications.
quickbase_get_app_info
Get application information
quickbase_create_table
Create new table
quickbase_create_field
Create new field
quickbase_query_records
Query with filters/sorting
quickbase_create_relationship
Create table relationship
QuickBase MCP Server
A Model Context Protocol (MCP) server that provides maximum flexibility for QuickBase operations. This server allows you to create tables, add fields, modify relationships, and perform all QuickBase operations through MCP tools.
Features
Application Management
- Get application information
- List all tables
- Test connection
Table Operations
- Create new tables
- Get table information
- Update table properties
- Delete tables
Field Management
- Get all fields for a table
- Create new fields (all types supported)
- Update existing fields
- Delete fields
- Support for lookups, formulas, relationships
Record Operations
- Query records with filtering and sorting
- Get specific records
- Create single or multiple records
- Update existing records
- Delete records
- Search records by text
- Bulk operations
Relationship Management
- Create parent-child relationships
- Get existing relationships
- Foreign key management
Utility Functions
- Get and run reports
- Advanced querying capabilities
- Error handling and retry logic
Installation
- Clone and setup the server:
cd quickbase-mcp-server
npm install
- Copy environment configuration:
cp env.example .env
- Configure your QuickBase credentials in
.env
:
# QuickBase Configuration
QB_REALM=yourname.quickbase.com
QB_USER_TOKEN=your_quickbase_user_token_here
QB_APP_ID=yourid
# Optional: Default settings
QB_DEFAULT_TIMEOUT=30000
QB_MAX_RETRIES=3
# MCP Server Configuration
MCP_SERVER_NAME=quickbase-mcp
MCP_SERVER_VERSION=1.0.0
- Build the project:
npm run build
Getting Your QuickBase User Token
- Go to QuickBase → My Apps → User Account
- Click "Manage user tokens"
- Click "New user token"
- Give it a name like "MCP Server"
- Set appropriate permissions
- Copy the token to your
.env
file
Usage
Run the server standalone:
npm start
Add to your MCP client configuration:
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"quickbase": {
"command": "node",
"args": ["/path/to/quickbase-mcp-server/dist/index.js"],
"env": {
"QB_REALM": "yourname.quickbase.com",
"QB_USER_TOKEN": "your_token_here",
"QB_APP_ID": "yourid"
}
}
}
}
Available Tools
Application Tools
quickbase_get_app_info
- Get application informationquickbase_get_tables
- List all tablesquickbase_test_connection
- Test connection
Table Tools
quickbase_create_table
- Create new tablequickbase_get_table_info
- Get table detailsquickbase_delete_table
- Delete table
Field Tools
quickbase_get_table_fields
- Get all fieldsquickbase_create_field
- Create new fieldquickbase_update_field
- Update existing fieldquickbase_delete_field
- Delete field
Record Tools
quickbase_query_records
- Query with filters/sortingquickbase_get_record
- Get specific recordquickbase_create_record
- Create new recordquickbase_update_record
- Update existing recordquickbase_delete_record
- Delete recordquickbase_bulk_create_records
- Create multiple recordsquickbase_search_records
- Search by text
Relationship Tools
quickbase_create_relationship
- Create table relationshipquickbase_get_relationships
- Get existing relationships
Utility Tools
quickbase_get_reports
- Get all reportsquickbase_run_report
- Run specific report
Example Usage
Create a new table:
{
"name": "quickbase_create_table",
"arguments": {
"name": "New Projects",
"description": "Project tracking table"
}
}
Add a field to a table:
{
"name": "quickbase_create_field",
"arguments": {
"tableId": "bu65pc8px",
"label": "Project Status",
"fieldType": "text_choice",
"choices": ["Planning", "Active", "Complete", "On Hold"],
"required": true
}
}
Query records with filtering:
{
"name": "quickbase_query_records",
"arguments": {
"tableId": "bu65pc8px",
"where": "{6.EX.'John'}",
"top": 10,
"sortBy": [{"fieldId": 3, "order": "DESC"}]
}
}
Create a new record:
{
"name": "quickbase_create_record",
"arguments": {
"tableId": "bu65pc8px",
"fields": {
"6": {"value": "John Doe"},
"7": {"value": "123 Main St"},
"8": {"value": "john@example.com"}
}
}
}
Field Types Supported
text
- Single line texttext_choice
- Single choice dropdowntext_multiline
- Multi-line textrichtext
- Rich text editornumeric
- Number fieldcurrency
- Currency fieldpercent
- Percentage fielddate
- Date fielddatetime
- Date/time fieldcheckbox
- Checkbox fieldemail
- Email fieldphone
- Phone number fieldurl
- URL fieldaddress
- Address fieldfile
- File attachmentlookup
- Lookup from another tableformula
- Calculated fieldreference
- Table reference
Development
Run in development mode:
npm run dev
Run tests:
npm test
Troubleshooting
Common Issues
-
Authentication Error
- Check your user token is correct
- Verify token permissions include your app
- Ensure realm hostname is correct
-
Table/Field Not Found
- Verify table/field IDs are correct
- Check if you have permissions to access
-
Field Creation Fails
- Check field type is supported
- Verify choices are provided for choice fields
- Ensure formula syntax is correct for formula fields
Enable Debug Logging
Set environment variable:
DEBUG=quickbase-mcp:*
Implementation Notes
This server provides the maximum flexibility for QuickBase operations by:
- Direct API Access - Uses QuickBase REST API v1 directly
- Complete Field Support - Supports all QuickBase field types
- Relationship Management - Can create and manage table relationships
- Bulk Operations - Efficient bulk record operations
- Advanced Querying - Full QuickBase query syntax support
- Error Handling - Comprehensive error handling and retry logic
License
MIT License