Read, create, update and delete records; inspect objects, fields and schema in your Knack database.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
MUTATES Knack data — creates a new record in an object. Knack API: POST /objects/{object_key}/records. Provide `fields` as an object keyed by field key, e.g. { "field_1": "Acme", "field_2": 100 }. Auto Increment / Formula / Equation fields are read-only and cannot be set. Returns the created record.
The record's field values keyed by field key, e.g. { "field_1": "Acme", "field_2": 100 }. Auto Increment / Formula / Equation fields are read-only and cannot be written.
The Knack object (table) key, e.g. "object_1".
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
MUTATES Knack data — creates a new record in an object. Knack API: POST /objects/{object_key}/records. Provide `fields` as an object keyed by field key, e.g. { "field_1": "Acme", "field_2": 100 }. Auto Increment / Formula / Equation fields are read-only and cannot be set. Returns the created record.
| Argument | Type | Description |
|---|---|---|
| fields* | object | The record's field values keyed by field key, e.g. { "field_1": "Acme", "field_2": 100 }. Auto Increment / Formula / Equation fields are read-only and cannot be written. |
| objectKey* | string | The Knack object (table) key, e.g. "object_1". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"objectKey",
"fields"
],
"properties": {
"fields": {
"type": "object",
"description": "The record's field values keyed by field key, e.g. { \"field_1\": \"Acme\", \"field_2\": 100 }. Auto Increment / Formula / Equation fields are read-only and cannot be written.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"objectKey": {
"type": "string",
"description": "The Knack object (table) key, e.g. \"object_1\"."
}
}
}MUTATES Knack data — permanently DELETES a record (irreversible). Knack API: DELETE /objects/{object_key}/records/{record_id}. Knack returns { delete: true } on success.
| Argument | Type | Description |
|---|---|---|
| recordId* | string | The record id (a hex string returned by Knack). |
| objectKey* | string | The Knack object (table) key, e.g. "object_1". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"objectKey",
"recordId"
],
"properties": {
"recordId": {
"type": "string",
"description": "The record id (a hex string returned by Knack)."
},
"objectKey": {
"type": "string",
"description": "The Knack object (table) key, e.g. \"object_1\"."
}
}
}Fetch a Knack application's full schema/metadata — its objects (tables), fields, and scenes. Knack API: GET /applications/{app_id}. Returns the raw JSON as-is. app_id defaults to the configured KNACK_APPLICATION_ID.
| Argument | Type | Description |
|---|---|---|
| appId | string | Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"appId": {
"type": "string",
"description": "Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID."
}
}
}Fetch a single record by id. Knack API: GET /objects/{object_key}/records/{record_id}. Returns the bare record (with both field_x and field_x_raw values).
| Argument | Type | Description |
|---|---|---|
| recordId* | string | The record id (a hex string returned by Knack). |
| objectKey* | string | The Knack object (table) key, e.g. "object_1". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"objectKey",
"recordId"
],
"properties": {
"recordId": {
"type": "string",
"description": "The record id (a hex string returned by Knack)."
},
"objectKey": {
"type": "string",
"description": "The Knack object (table) key, e.g. \"object_1\"."
}
}
}List the fields of ONE object as [{ key, name, type, required }]. Fetches GET /applications/{app_id} and returns the fields of the object whose key === objectKey (e.g. "object_1"). app_id defaults to the configured KNACK_APPLICATION_ID.
| Argument | Type | Description |
|---|---|---|
| appId | string | Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID. |
| objectKey* | string | The Knack object (table) key, e.g. "object_1". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"objectKey"
],
"properties": {
"appId": {
"type": "string",
"description": "Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID."
},
"objectKey": {
"type": "string",
"description": "The Knack object (table) key, e.g. \"object_1\"."
}
}
}List an application's objects (tables) as a compact array [{ key, name, fieldCount }]. Convenience over GET /applications/{app_id}. app_id defaults to the configured KNACK_APPLICATION_ID.
| Argument | Type | Description |
|---|---|---|
| appId | string | Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"appId": {
"type": "string",
"description": "Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID."
}
}
}List an object's records. Knack API: GET /objects/{object_key}/records. Returns the paged envelope { total_pages, current_page, total_records, records: [...] } as-is. Records carry both field_x (formatted) and field_x_raw (structured) values. Page with page / rows_per_page (max 1000), sort with sort_field / sort_order, and filter with the `filters` object.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default 1). |
| filters | object | Optional Knack filter object, JSON-stringified into the `filters` query param. Shape: { "match": "and"|"or", "rules": [{ "field": "field_1", "operator": "is", "value": "Acme" }] }. Common operators: contains, does not contain, is, is not, starts with, ends with, higher than, lower than, is blank, is not blank. |
| objectKey* | string | The Knack object (table) key, e.g. "object_1". |
| sort_field | string | Field key to sort by, e.g. "field_25". |
| sort_order | string | Sort direction: "asc" or "desc". |
| rows_per_page | integer | Records per page (1-1000, default 25). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"objectKey"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number (default 1)."
},
"filters": {
"type": "object",
"description": "Optional Knack filter object, JSON-stringified into the `filters` query param. Shape: { \"match\": \"and\"|\"or\", \"rules\": [{ \"field\": \"field_1\", \"operator\": \"is\", \"value\": \"Acme\" }] }. Common operators: contains, does not contain, is, is not, starts with, ends with, higher than, lower than, is blank, is not blank.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"objectKey": {
"type": "string",
"description": "The Knack object (table) key, e.g. \"object_1\"."
},
"sort_field": {
"type": "string",
"description": "Field key to sort by, e.g. \"field_25\"."
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction: \"asc\" or \"desc\"."
},
"rows_per_page": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Records per page (1-1000, default 25)."
}
}
}Power-user escape hatch: GET any Knack API path not wrapped by a dedicated tool (e.g. view-based reads). READ-ONLY — only GET is allowed. Path starts with a slash (e.g. "/objects/object_1/records"). Knack API: GET {path}.
| Argument | Type | Description |
|---|---|---|
| path* | string | API path starting with a slash, e.g. "/objects/object_1/records". |
| query | object | Optional query params object. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "API path starting with a slash, e.g. \"/objects/object_1/records\"."
},
"query": {
"type": "object",
"description": "Optional query params object.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}MUTATES Knack data — updates a record. Knack API: PUT /objects/{object_key}/records/{record_id}. Provide `fields` as an object keyed by field key; only the included fields change, e.g. { "field_1": "Acme Inc" }. Auto Increment / Formula / Equation fields are read-only. Returns the updated record.
| Argument | Type | Description |
|---|---|---|
| fields* | object | The record's field values keyed by field key, e.g. { "field_1": "Acme", "field_2": 100 }. Auto Increment / Formula / Equation fields are read-only and cannot be written. |
| recordId* | string | The record id (a hex string returned by Knack). |
| objectKey* | string | The Knack object (table) key, e.g. "object_1". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"objectKey",
"recordId",
"fields"
],
"properties": {
"fields": {
"type": "object",
"description": "The record's field values keyed by field key, e.g. { \"field_1\": \"Acme\", \"field_2\": 100 }. Auto Increment / Formula / Equation fields are read-only and cannot be written.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"recordId": {
"type": "string",
"description": "The record id (a hex string returned by Knack)."
},
"objectKey": {
"type": "string",
"description": "The Knack object (table) key, e.g. \"object_1\"."
}
}
}