A TypeScript-based Model Context Protocol (MCP) server for Quickbase, designed for seamless integration with Claude Desktop and other AI assistants.
π Community Project Notice
This is a community-developed integration that is not an official Quickbase product. While it uses Quickbase's public APIs, it is not officially supported by Quickbase, Inc. This project is provided "as is" and maintained by the community. For official Quickbase products and support, please visit quickbase.com.
curl -fsSL https://raw.githubusercontent.com/danielbushman/MCP-Quickbase/main/check_dependencies.sh | bashAdd this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"quickbase": {
"command": "npx",
"args": ["-y", "mcp-quickbase"],
"env": {
"QUICKBASE_REALM_HOST": "your-realm.quickbase.com",
"QUICKBASE_USER_TOKEN": "your-user-token",
"QUICKBASE_APP_ID": "your-app-id"
}
}
}
}That's it! Restart Claude Desktop and you can start using Quickbase tools.
# Use directly with npx (no installation needed)
npx -y mcp-quickbase
# Or install globally
npm install -g mcp-quickbase# Clone the repository
git clone https://github.com/danielbushman/MCP-Quickbase.git
cd MCP-Quickbase
# Install dependencies
npm install
# Build the project
npm run buildFor source installation, use this Claude Desktop configuration:
{
"mcpServers": {
"quickbase": {
"command": "node",
"args": ["/path/to/MCP-Quickbase/dist/mcp-stdio-server.js"],
"env": {
"QUICKBASE_REALM_HOST": "your-realm.quickbase.com",
"QUICKBASE_USER_TOKEN": "your-user-token",
"QUICKBASE_APP_ID": "your-app-id"
}
}
}
}The server can start without environment variables configured, but tools will not be functional until proper configuration is provided. Use the check_configuration tool to verify your setup.
QUICKBASE_REALM_HOST- Your Quickbase realm (e.g.,company.quickbase.com)QUICKBASE_USER_TOKEN- Your Quickbase API token (Get one here)
QUICKBASE_APP_ID- Default application ID
QUICKBASE_CACHE_ENABLED- Enable caching (true/false, default:true)QUICKBASE_CACHE_TTL- Cache duration in seconds (default:3600)DEBUG- Enable debug logging (true/false, default:false)LOG_LEVEL- Logging level (DEBUG/INFO/WARN/ERROR, default:INFO)
check_configuration- Check if Quickbase configuration is properly set uptest_connection- Test connection to Quickbaseconfigure_cache- Configure caching behavior
create_app- Create new Quickbase applicationsupdate_app- Update existing applicationslist_tables- List all tables in an application
create_table- Create new tablesupdate_table- Update table propertiesget_table_fields- Get field information for a table
create_field- Create new fields in tablesget_field- Get properties of a specific fieldupdate_field- Update field propertiesdelete_field- Delete a field from a table
query_records- Query records with filtering, sorting, and groupBycreate_record- Create single recordsupdate_record- Update existing recordsbulk_create_records- Create multiple recordsbulk_update_records- Update multiple records
upload_file- Upload files to file attachment fieldsdownload_file- Download files from records
get_relationships- Get table relationshipscreate_relationship- Create a new table relationshipupdate_relationship- Update an existing relationshipdelete_relationship- Delete a table relationship
run_report- Execute Quickbase reports
Query all customers from the Customers table
Create a new customer record with name "Acme Corp" and status "Active"
Upload invoice.pdf to the Documents field in record 123
- API tokens are handled securely and never logged
- All file operations are sandboxed to the working directory
- Supports field-level permissions and access controls
- Node.js 18+
- Valid Quickbase account with API access
- Claude Desktop (for MCP integration)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.