Knack Backend MCP Server
Connect a Knack backend (data model and users/roles) to AI-powered development tools using the Knack Builder MCP Server.
What is an MCP Server?
MCP (Model Context Protocol) is an open standard that lets AI assistants and coding tools connect directly to external services and take real actions on your behalf — not just generate code, but actually read data, create records, and modify app structure in real time.
When you connect an MCP server to an AI tool like Lovable, Claude Code, or Bolt, the AI gains a set of callable functions that go beyond its built-in knowledge. Instead of describing how to do something, it can just do it.
For Knack builders, this means:
- Describe your app in plain English and the AI creates your tables, fields, and relationships directly in your Knack application — no manual Builder clicks required.
- Ask the AI to inspect your existing schema, suggest changes, or fix structural issues, and it reads your Knack app's backend schema to give accurate, grounded answers.
- Use your preferred AI coding environment as the interface for building your Knack data model, then hand off to Knack's Builder or live app for the rest.
The Knack MCP server is the bridge that makes this possible. It handles authentication, translates the AI's intent into Knack API calls, and ensures everything it creates lands safely inside your Knack application.
Table of Contents
- Overview
- Prerequisites
- Authentication
- Sample Prompt
- Tool Reference
- Limitations & Important Notes
- Connecting in Specific Tools
Overview
The Knack MCP server allows AI development tools to directly read and build your Knack application's data model — creating tables, defining fields, setting up relationships, and updating your app structure — all through natural language conversation.
All tables, fields, and data are created and stored inside your Knack application, hosted on Knack's cloud infrastructure. Nothing is stored locally or inside the AI tool — the AI acts as the interface, while Knack remains the system of record for your data model. You can verify and manage everything the AI creates at any time from the Knack Builder area by logging in through your Knack Dashboard.
Instead of manually configuring your Knack schema through the Builder interface, you describe what you need in plain English and the AI handles the data model construction, using the Knack MCP server as the secure bridge to your application.
Note: The Knack MCP server is focused on building your app's backend data model — tables, fields, and relationships. It does not support frontend / Page / Theme building.
Additionally, for authenticating live-app end users and making record-data API calls from a generated UI, please see the Runtime Data API guide.
Prerequisites
Before connecting, make sure you have the following:
| Requirement | Details |
|---|---|
| Knack account | Sign up at knack.com — a free trial is sufficient to get started |
| Knack application | An existing app or a new one created in the Knack Builder |
| Builder credentials | The email and password you use to log into you Knack Dashboard and Builder area (dashbaord.knack.com) |
Important: The credentials used during authentication must belong to a user with Builder access to the Knack application you want to work with. Account-level admin access is recommended.
Authentication
The Knack MCP server uses OAuth 2.1 with PKCE — the same secure standard used by modern web applications. You do not need to generate API keys or copy tokens manually. The entire flow is handled through a browser window.
What happens when you connect
- The AI tool contacts the MCP server and receives a
401 Unauthorizedresponse with a pointer to the authorization server. - The tool discovers the Knack OAuth server automatically by following the standard OAuth discovery protocol.
- A Knack login window opens in your browser (either a popup or a new tab).
- You log in using your Knack Builder credentials (the email and password you use to sign in to your Knack Dashboard at
dashboard.knack.com). - You approve the authorization — a consent screen confirms that the tool will be granted access to manage your app's schema.
- The tool receives a secure access token and stores it. The connection is established.
What credentials to use
Use your Knack Builder login credentials:
- Email: the email address registered to your Knack account
- Password: your Knack Builder password
These are the same credentials you use to log into the Knack Builder at
builder.knack.com. Do not use live app user credentials.
Token lifetime
| Token | Lifetime |
|---|---|
| Access token | 1 hour |
| Refresh token | 30 days |
The AI tool handles token refresh automatically. If your session expires after 30 days, you will be prompted to log in again.
Two-factor authentication (2FA)
If your Knack account has 2FA enabled, you will be prompted to enter your TOTP code during the login step. This is the 6-digit code from your authenticator app (e.g. Google Authenticator, Authy).
Sample Prompt
Once connected, try this prompt to get started building a Knack app:
I need to build a project management application in Knack.
The app needs:
- A Projects table with fields for: project name, status (active/on hold/completed),
start date, due date, and a description
- A Tasks table with fields for: task name, assignee (text), priority
(high/medium/low), due date, completion checkbox, and notes
- A connection from Tasks to Projects so each task belongs to a project
- A People table for team members with: full name, email, role, and department
Please create this data model in my Knack application, using descriptive names
for all tables and fields. After creating the schema, give me a summary of
what was built.
Tool Reference
The Knack MCP server exposes the following tools to the AI. These are invoked automatically based on your conversation — you do not call them directly.
Application Management
listApplications
listApplicationsLists all Knack applications accessible to your account, including both applications you own and any shared applications you've been granted access to.
resolveApplication
resolveApplicationLooks up a Knack application by name and returns its ID. Use this when you know the app name but need the ID to perform other operations.
createApplication
createApplicationCreates a new, empty Knack application in your account. Only creates the blank application shell — tables, fields, and data model must be built separately after the app exists.
deleteApplication
deleteApplicationPermanently deletes an entire Knack application — its schema, all tables, fields, pages, and records. This action cannot be undone. The AI will require you to type a confirmation phrase before executing.
updateKnackApplicationInfo
updateKnackApplicationInfoUpdates the application's display name and/or short description. Useful for giving a newly created app a meaningful identity.
getKnackApplicationInformation
getKnackApplicationInformationReads your application's structure in a single batched call. This is the primary inspection tool — the AI calls it before making any changes to understand what already exists in your app. Can retrieve app metadata, tables, field definitions, pages, views, and active theme.
Tables & Fields
createKnackObjectWithFields
createKnackObjectWithFieldsCreates a new table and its fields in a single operation. This is the primary tool for building your data model from scratch. Supports all standard field types. Connection fields and formula fields must be added separately using upsertField after the table is created.
updateKnackObject
updateKnackObjectUpdates settings on an existing table. Can rename the table, set the display field (the field shown as the record label throughout the app), and configure the default sort order. All three settings are independent — only pass the ones you want to change.
deleteKnackObject
deleteKnackObjectPermanently deletes an entire table — its schema, all fields, and all records. This action cannot be undone. The AI will display the table name and record count before asking for your explicit confirmation. The Accounts table cannot be deleted.
deleteKnackField
deleteKnackFieldPermanently removes a field from a table. This action cannot be undone. The AI will ask for your confirmation before executing. Cannot delete the last field in a table, fields in the Accounts table, or fields that have existing record data.
upsertField
upsertFieldCreates or updates a field in a table. More flexible than createKnackObjectWithFields — supports all field types including connections, formulas, equations, and text formulas. Use this to add relationships between tables after they've been created. Note: field types cannot be changed on an existing field.
Records
manageKnackRecord
manageKnackRecordCreates, reads, lists, updates, or deletes individual records in a table. Supports filtering, sorting, and pagination for list operations. All write operations use field keys (e.g. field_1) as property names.
createKnackApplicationSampleRecords
createKnackApplicationSampleRecordsPopulates one or more tables with AI-generated sample data records. Useful for testing your data model or demonstrating your app. Maximum of 10 records per table per call.
deleteKnackRecords
deleteKnackRecordsPermanently deletes all records from a table. This action cannot be undone and always deletes every record — there is no partial deletion. The AI will confirm the record count with you before executing.
Authentication
registerLiveAppOAuthClient
registerLiveAppOAuthClientRegisters an OAuth client so your custom frontend can authenticate end users against your Knack application. Returns a client_id for use in the OAuth 2.0 authorization code + PKCE flow. See the Runtime Data API for the full authentication guide.
Skills & Context
loadSkill
loadSkillLoads up-to-date implementation guides that give the AI precise, authoritative context for building against the Knack API. When you ask the AI to build something — record lists, login screens, file uploads, dashboards — it calls this tool first to load the relevant skill before writing any code.
Available skills cover the full spectrum of Knack development: app setup, records (CRUD), authentication (OAuth + PKCE login flows), aggregates and reports, and file/image assets. The AI selects and loads only what's needed for your specific request.
This means you don't need to paste API documentation or token-handling instructions into your AI tool manually — the MCP server supplies that context automatically, on demand, for every task.
Limitations & Important Notes
Backend Schema-only access (no Frontend Page / UI access)
The Knack MCP server manages your application's data model (tables, fields, relationships, app settings). The Frontend UI design and implementation — screens, forms, layouts, and user interactions — is either built by you in your frontend AI/vibe-coding platform of choice, or you can build no-code Pages within the Knack Builder area
Destructive operations require confirmation
Any tool that permanently deletes data (deleteKnackField, deleteKnackObject, deleteKnackRecords, deleteApplication) will always ask for your explicit confirmation before executing. Never confirm deletion unless you are certain.
Field type changes are not supported
Changing an existing field's type (e.g., from short_text to number) is not supported via the MCP server. To change a field type, you must delete the field and create a new one — be aware this will remove any existing data in that field.
Connection and formula fields
Connection fields and formula fields (sum, count, etc.) cannot be created as part of createKnackObjectWithFields. Create the tables first, then add connections and formulas using upsertField.
User-role table fields
The password and user_roles fields are automatically managed by Knack when creating user-role tables. Do not attempt to create these fields manually — they will be rejected.
Accounts table
The Accounts table is a protected system table. Its fields cannot be deleted, and the table itself cannot be deleted.
Access is scoped to your account
The MCP server only has access to applications owned by the Knack account you authenticated with. It cannot access other accounts' applications.
Connecting in Specific Tools
The Knack MCP server uses the standard MCP protocol with OAuth 2.1, so it works with any MCP-compatible AI tool. Below are step-by-step instructions for the most popular platforms.
Lovable
-
In your Lovable project, navigate to Connectors in the left sidebar or top navigation menu, then select Custom MCP.
Note: The exact menu path may vary depending on your Lovable version. Look for "Connectors", "Integrations", or "MCP Servers" in the project settings.
-
Click Add MCP Server (or + New Connector) and select the option for an external/custom MCP server.
-
In the Server URL field, enter
https://mcp.knack.com/mcp -
Select "OAuth" as the authentication method.
-
Click Save or Connect. Lovable will immediately attempt to reach the MCP server, which triggers the authentication flow described above.
-
Start chatting in Lovable to build apps powered by your Knack data!
- If you're connecting an existing Knack app, be sure to add your AppID to the chat conversation.
- If you have an existing Lovable frontend/project that you want to migrate to a Knack backend, start by saying "Migrate the backend tables and user roles to be based in Knack. Create a new Knack app in my account using the Knack MCP Server"
Base44
-
In your Base44 account go to your Account Settings > click "MCP Connections" in the menu > then click "Add MCP"
Note: The "Integrations" area is different than the "MCP Connections" area. Please make sure you navigate to the appropriate area!
-
Name your Knack MCP Server connection.
-
In the URL field, enter
https://mcp.knack.com/mcp -
Select "OAuth" as the authentication method.
-
Click Save or Connect. Base44 will immediately attempt to reach the MCP server, which triggers the authentication flow described above.
-
Start chatting in Base44 to build apps powered by your Knack data!
- If you're connecting an existing Knack app, be sure to add your AppID to the chat conversation.
- If you have an existing Base44 frontend/project that you want to migrate to a Knack backend, start by saying "Migrate the backend tables and user roles to be based in Knack. Create a new Knack app in my account using the Knack MCP Server"
Replit
-
Open your Replit project and navigate to Tools → Secrets (or AI Settings, depending on your plan).
-
Find the MCP Servers configuration section in your project's AI settings.
-
Add a new MCP server entry with the server URL set to
https://mcp.knack.com/mcp -
Save the configuration. Replit's AI agent will prompt you to complete the OAuth authentication flow in a browser popup on first use.
Bolt
-
In your Bolt project, open the Settings panel and navigate to Integrations or MCP Servers.
-
Click Add Integration and select MCP Server as the type.
-
Enter
https://mcp.knack.com/mcpas the server URL and give it a name (e.g.,Knack). -
Click Connect. The OAuth flow will open in a new browser tab — log in with your Knack Builder credentials to authorize access.
Claude Code
Claude Code supports MCP servers via its configuration file. You can add the Knack MCP server globally (available in all projects) or per-project.
Option A — Global config (available in all Claude Code sessions):
Add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"knack": {
"url": "https://mcp.knack.com/mcp",
"transport": "https"
}
}
}Option B — Project config (available only in the current project):
Add to .claude/mcp.json in your project root:
{
"mcpServers": {
"knack": {
"url": "https://mcp.knack.com/mcp",
"transport": "https"
}
}
}After saving, restart Claude Code (or run /mcp to reload servers). On first use, Claude Code will open a browser window for the OAuth authentication flow.
GitHub Codespaces
Codespaces supports MCP servers when using Claude-powered AI extensions or through the Claude Code CLI.
Via Claude Code CLI in a Codespace:
-
In your Codespace terminal, install Claude Code:
npm install -g @anthropic-ai/claude-code -
Create or edit
.claude/mcp.jsonin your project root:
{
"mcpServers": {
"knack": {
"url": "https://mcp.knack.com/mcp",
"transport": "https"
}
}
}- Run
claudeto start a session. On first use, Claude Code will prompt you to open a browser URL to complete the OAuth authentication flow. Copy the URL from the terminal and open it in a local browser to log in.
Via VS Code extension in a Codespace:
If you are using a VS Code-based Codespace with an MCP-compatible AI extension, add the server to that extension's MCP settings using the server URL https://mcp.knack.com/mcp and follow its OAuth connection flow.
OpenAI Codex
OpenAI Codex supports MCP servers via its configuration file. You can add the Knack MCP server globally (available in all projects) or per-project.
Option A — Global config (available in all Codex sessions):
Add to ~/.codex/config.toml:
[[mcp_servers]]
name = "knack"
url = "https://mcp.knack.com/mcp"
type = "streamable_http"Option B — Project config (available only in the current project):
Create or edit codex.toml in your project root:
[[mcp_servers]]
name = "knack"
url = "https://mcp.knack.com/mcp"
type = "streamable_http"After saving, start or restart a Codex session. On first use, Codex will open a browser window to complete the OAuth authentication flow — log in with your Knack Builder credentials to authorize access.
Updated 1 day ago

