Connecting Base44 to Knack: Complete Setup Guide

Build a custom frontend in Base44 with your data, users, and security living in Knack.

Companion video: Connect Base44 to Knack (4:35)
Time to complete: 45 to 90 minutes for your first build
Skill level: No coding required


Before You Start

What you need

RequirementDetails
Base44 accountbase44.com, "Builder" plan needed, so you can add Knack's MCP Server as a Custom MCP
Knack accountknack.com, a free trial is enough to start
Knack Builder loginThe email and password you use at dashboard.knack.com

Your Knack login must have Builder access to the app you want to work with. Account admin access is recommended.

If you are building healthcare

Use test data for every practice build. Before your app holds any real patient information, you need a Knack HIPAA plan with a signed Business Associate Agreement in place. Contact Knack about a Health plan before you go live.

How the two tools split the work

  • Knack holds your tables, your users, your roles, and your security rules
  • Base44 builds and hosts the screens your users see

The connection between them is called an MCP server. You do not need to understand what that means to use it. Practically speaking, it lets Base44 build things inside your Knack account when you ask it to, in plain English.

One boundary worth knowing up front: the connection builds your data model in Knack, meaning tables, fields, and relationships. It does not build Knack's own page screens. Base44 handles all of the screens.


Step 1: Connect Knack to Base44

This is an account-level connection. You do it once and every Base44 app you build afterward can use it.

  1. In Base44, click your profile icon in the bottom left corner
  2. Click Account Preferences
  3. Click Builder
  4. Scroll to the bottom of the Builder section and find MCP Connections
⚠️

MCP Connections is not the same as Connectors

Base44 also has an area called Connectors. The Knack connection won't work from there. Make sure you're in MCP Connections.

  1. Click Add MCP

  2. Name the connection. Knack MCP works fine.

  3. In the URL field, enter:

    https://mcp.knack.com/mcp
  4. Set the authentication method to OAuth

  5. Click Authorize and Add

  6. A Knack login window opens. Sign in with your Knack Builder credentials.

  7. Approve the authorization on the consent screen.

  8. You should now see the connection listed as active.

If you use two-factor authentication

You'll be asked for the six digit code from your authenticator app during the login step. This is normal.

How long the connection lasts

Your access refreshes automatically in the background. After 30 days of no use you'll be asked to sign in again. Nothing is lost, you just reconnect.


Step 2: Turn On Data Access Control

Your app has roles. That controls which screens people reach. It does not, by itself, control which records they can pull.

Data Access Control is the Knack feature that enforces record-level access at the data layer, so "each user only sees their own records" is true no matter how someone reaches your data.

Your AI builder can configure this through the MCP connection, including turning enforcement on. You can also set it up by hand in the Knack Builder. Either way, open the Builder afterward and confirm what actually got set.

One related setting is not available through the MCP connection. "Allow connected field lookup without table access" controls whether someone can see the name of a connected record in a table they cannot otherwise read. Set that one in the Builder.

To manually configure in the Knack Builder:

  1. In your Knack Builder, open Data Access Control
  2. Click Start Setup
  3. Work through the setup to build your access grid
  4. For each role, choose whether they see only records they own, or everything
  5. Turn on the setting to enforce data access rules for this app

This step is separate from Step 1, and it's the one people miss. A grid that's fully configured but not enforced looks finished and protects nothing. Confirm the enforcement setting is on before you move forward.

By default, roles see everything. You narrow it deliberately.

Testing that it worked

Sign in to your published Base44 app as a limited-access test user and count what you see. Sign in as an admin and count again. The numbers should differ.

If a limited-access user can see records they shouldn't, come back to this step before you go any further.


Did this page help you?