Knack MCP by usefulapi
Server Details
Read, create, update and delete records; inspect objects, fields and schema in your Knack database.
- Status
- Healthy
- Uptime
- 83.3% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 9 tools
Each tool targets a distinct operation: CRUD for records, listing fields/objects/records, fetching application schema, and a generic request. No overlap in purpose.
All tools use 'knack_' prefix with verb_noun pattern (create_record, delete_record, etc.). The exception is 'knack_request' which lacks a verb, causing slight inconsistency.
9 tools is well-scoped for a Knack integration, covering essential CRUD, listing, schema retrieval, and an escape hatch.
Core CRUD operations are present, plus listing and schema. Missing batch operations or advanced filtering, but the generic request tool fills some gaps.
Available Tools
9 toolsknack_create_recordCreate a recordDestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | 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 | Yes | The Knack object (table) key, e.g. "object_1". |
knack_delete_recordDelete a recordDestructiveInspect
MUTATES Knack data — permanently DELETES a record (irreversible). Knack API: DELETE /objects/{object_key}/records/{record_id}. Knack returns { delete: true } on success.
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes | The record id (a hex string returned by Knack). | |
| objectKey | Yes | The Knack object (table) key, e.g. "object_1". |
knack_get_applicationGet application schemaRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | No | Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID. |
knack_get_recordGet a recordRead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes | The record id (a hex string returned by Knack). | |
| objectKey | Yes | The Knack object (table) key, e.g. "object_1". |
knack_list_fieldsList fields for an objectRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | No | Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID. | |
| objectKey | Yes | The Knack object (table) key, e.g. "object_1". |
knack_list_objectsList objects (tables)Read-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| appId | No | Optional Knack Application ID; defaults to the configured KNACK_APPLICATION_ID. |
knack_list_recordsList recordsRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| filters | No | 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 | Yes | The Knack object (table) key, e.g. "object_1". | |
| sort_field | No | Field key to sort by, e.g. "field_25". | |
| sort_order | No | Sort direction: "asc" or "desc". | |
| rows_per_page | No | Records per page (1-1000, default 25). |
knack_requestRaw Knack API GETRead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | API path starting with a slash, e.g. "/objects/object_1/records". | |
| query | No | Optional query params object. |
knack_update_recordUpdate a recordDestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | 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 | Yes | The record id (a hex string returned by Knack). | |
| objectKey | Yes | The Knack object (table) key, e.g. "object_1". |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
- Changed
knack_create_record1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knack_delete_record1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knack_get_application1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knack_get_record1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knack_list_fields1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knack_list_objects1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knack_list_records1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knack_request1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
knack_update_record1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
9 tool updates
- First observed
knack_create_record - First observed
knack_delete_record - First observed
knack_get_application - First observed
knack_get_record - First observed
knack_list_fields - First observed
knack_list_objects - First observed
knack_list_records - First observed
knack_request - First observed
knack_update_record
Related MCP Connectors
List and create Keap contacts, companies, tasks, opportunities, orders, tags and campaigns.
Read and write Less Annoying CRM contacts, notes, tasks, events, pipelines and groups.
Read SlickText contacts, lists, campaigns, analytics and inbox; create and update contacts.
241Read and write Insightly contacts, organisations, leads, opportunities, tasks and notes.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables comprehensive interaction with Airtable bases including record management with automatic type conversion for all field types. It supports batch operations, schema discovery, and secure authentication using Personal Access Tokens.9 npmMIT
- FlicenseBqualityCmaintenanceEnables creating and inspecting Seed tables and relationships through the Seed backend HTTP API.25-
- AlicenseNot gradedqualityNot gradedmaintenanceEnables complete interaction with Airtable databases through 16 CRUD operations including batch processing, schema management, and record manipulation. Designed for AI applications and n8n workflows with HTTP streaming support.-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with FileMaker databases via the Model Context Protocol, providing dynamic script discovery, full CRUD operations, and OData query capabilities with flexible authentication.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.