# knack MCP server

Read, create, update and delete records; inspect objects, fields and schema in your Knack database.

## Links
- Registry page: https://www.getdrio.com/mcp/io-usefulapi-knack
- Repository: https://github.com/m190/usefulapi-mcp

## Install
- Endpoint: https://knack.usefulapi.io/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://knack.usefulapi.io/mcp

## Tools
- knack_get_application (Get application schema) - 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. Endpoint: https://knack.usefulapi.io/mcp
- knack_list_objects (List objects (tables)) - 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. Endpoint: https://knack.usefulapi.io/mcp
- knack_list_fields (List fields for an object) - 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. Endpoint: https://knack.usefulapi.io/mcp
- knack_list_records (List records) - 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. Endpoint: https://knack.usefulapi.io/mcp
- knack_get_record (Get a record) - 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). Endpoint: https://knack.usefulapi.io/mcp
- knack_request (Raw Knack API GET) - 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}. Endpoint: https://knack.usefulapi.io/mcp
- knack_create_record (Create a record) - 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. Endpoint: https://knack.usefulapi.io/mcp
- knack_update_record (Update a record) - 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. Endpoint: https://knack.usefulapi.io/mcp
- knack_delete_record (Delete a record) - MUTATES Knack data — permanently DELETES a record (irreversible). Knack API: DELETE /objects/{object_key}/records/{record_id}. Knack returns { delete: true } on success. Endpoint: https://knack.usefulapi.io/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.usefulapi
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 18, 2026
- Source: https://registry.modelcontextprotocol.io
