Skip to main content
Glama

Teable MCP (Official)

Server Details

Teable is an AI spreadsheet for business that combines a familiar spreadsheet interface with a structured database. Its remote MCP server lets AI agents inspect project and table structure, read and update records, and access the Teable API through OAuth with existing project permissions. Website: teable.ai

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
0.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
Teable

TDQS

A3.8/5.0

Scored across 12 tools

Disambiguation3/5

The specialized record and metadata tools are distinguishable, but call-api-read/write overlap heavily with them by allowing arbitrary GET/POST/PUT/PATCH/DELETE operations on tables, fields, views, and records. The descriptions give guidance, but agents must still decide between using a dedicated tool versus the generic API escape hatch.

Naming Consistency4/5

Tool names are consistently kebab-case and mostly use a verb-first pattern, such as get-records, create-records, and list-bases. Minor deviations like sql-query and the direction suffix in call-api-read are readable but slightly less predictable.

Tool Count5/5

Twelve tools is well within a reasonable range for a rich API surface. The set covers record CRUD, metadata inspection, SQL querying, documentation, API discovery, and generic API calls without feeling excessively large.

Completeness4/5

Record lifecycle and metadata operations are largely covered, and the generic API tools can fill many remaining gaps. However, get-records explicitly references get-grid-rows for current view rows, but that tool is absent, creating a dead end for live view state operations.

Publisher details

Operator
Teable AI, Inc. · Publisher source
Operator website
https://teable.ai/
Vendor relationship
Unknown
Trust center
Unknown
Restrictions
Unknown

Available Tools

12 tools
call-api-readA
Read-onlyIdempotent
Inspect

Read data with a GET request to the Teable REST API (reference: https://help.teable.ai/en/api-doc/overview): views, collaborators, automations and anything else search-api finds as a GET endpoint. Find the url template with search-api first. Never changes data.

Example: call-api-read({ url: "/table/{tableId}/view", params: { tableId: "tblXXX" } })

Inputs: url (required), params.

call-api-writeA
Destructive
Inspect

Create, change or delete data with a POST, PUT, PATCH or DELETE request to the Teable REST API (reference: https://help.teable.ai/en/api-doc/overview): tables, fields, views, automations and anything else search-api finds. Find the method and url template with search-api first; get-doc explains payload formats (formulas, filters, link fields).

Example: call-api-write({ method: "POST", url: "/base/{baseId}/table", params: { baseId: "bseXXX" }, data: { name: "Tasks" } })

Inputs: url (required), method (required), data, params.

create-recordsBInspect

Create records using compact array format (saves tokens).

FORMAT: { "tableId": "tblXXX", "header": ["Name", "Status", "Priority"], "records": [ ["Task A", "Done", "High"], ["Task B", "Pending", "Low"] ] }

RULES:

  • header: Array of field names (define column order)

  • records: 2D array where each row matches header order

  • Empty cells: use null or ""

VALUE TYPES:

  • Text: "Hello"

  • Number: 42 or 3.14

  • Boolean: true / false

  • Date: "2025-01-27"

  • Select: "Option A"

  • MultiSelect: ["A", "B"]

  • Link: "Record Name"

Inputs: header (required), records (required), tableId (required), typecast.

delete-recordsB
Destructive
Inspect

Delete records from a table.

Parameters:

  • tableId (required): The table ID

  • recordIds (required): Array of record IDs to delete (max 1000)

Returns:

  • success: Whether the operation succeeded

  • deletedCount: Number of records deleted

Example: { tableId: "tblXXX", recordIds: ["rec001", "rec002"] }

Inputs: tableId (required), recordIds (required).

get-docA
Read-onlyIdempotent
Inspect

Get comprehensive documentation for Teable features and configurations. Use this tool to understand configuration formats before creating or updating resources. Workflow:

  1. Identify the category needed (field, view, or record)

  2. Query the specific subtopic (e.g., "field.formula" or "field.colors")

  3. Use examples from documentation to construct correct configurations

Inputs: topic (required), baseId (required).

get-fieldsA
Read-onlyIdempotent
Inspect

Get fields metadata from a table.

Parameters:

  • tableId (required): The table ID

  • fieldId (optional): Filter by specific field ID

  • fieldName (optional): Filter by specific field name

Returns field information:

  • id: Unique field identifier

  • name: Display name

  • type: Field type (text, number, date, etc.)

  • description: Field description

  • dbFieldName: Database column name

  • options: Field configuration

Inputs: tableId (required), fieldId, fieldName.

get-recordsA
Read-onlyIdempotent
Inspect

For DATA QUERIES (search, filter, paginate). For current view rows, use get-grid-rows.

Parameters:

  • tableId (required)

  • viewId - Apply view filters (optional)

  • recordId - Fetch a specific record by ID. When provided, search/take/skip are ignored (optional)

  • take - Records to return, default 100, max 1000 (optional)

  • skip - Records to skip for pagination (optional)

  • projection - Field IDs or names to return (optional). If not provided, only first 50 fields will be returned

  • search - Search filter object: { value: "keyword", fieldId: "Name" } (fieldId accepts field name OR ID; omit for global search) (optional)

Important:

  • If user refers to rows in current view ("first 3 rows", "last row", "row N"), use get-grid-rows instead.

  • This tool queries server-persisted data. For the user's live view state (unsaved filters/sorts), use get-grid-rows.

Response (tabular format): {header: ["id", "Name"], rows: [["rec001", "Task A"]]}

Examples: All: { tableId: "tblXXX" } By ID: { tableId: "tblXXX", recordId: "recXXX" } Search: { tableId: "tblXXX", search: { value: "keyword", fieldId: "Name" } } Pagination: { tableId: "tblXXX", take: 50, skip: 100 }

Inputs: tableId (required), projection (required), skip, take, +3 more.

get-tables-metaA
Read-onlyIdempotent
Inspect

Get tables metadata in a project.

Parameters:

  • baseId (required): The project ID

  • tableId (optional): Filter by specific table ID

  • tableName (optional): Filter by specific table name

Returns table information:

  • id: Unique table identifier

  • name: Display name

  • dbTableName: Database table name (use this for SQL queries)

  • description: Table description

  • icon: Table icon

Inputs: baseId (required), tableId, tableName.

list-basesA
Read-onlyIdempotent
Inspect

List the projects (bases) the caller can access, with their IDs, names, spaces and the caller's role, one page at a time. Call this first to find the baseId other tools need; pass search or spaceId to find a specific base instead of paging through everything.

Inputs: limit, offset, search, spaceId.

search-apiA
Read-onlyIdempotent
Inspect

Search the Teable REST API (reference: https://help.teable.ai/en/api-doc/overview) by keyword or description. Returns matching endpoints within the caller's permission level: method, url template, parameters and request body schema. Run GET endpoints with call-api-read and POST/PUT/PATCH/DELETE endpoints with call-api-write, passing method and url unchanged.

Parameters:

  • query (required): search keywords in any language

  • tags: filter by API category (e.g., ["record", "field"])

  • limit: max results (default 5, max 10)

Inputs: query (required), tags, limit.

sql-queryA
Read-onlyIdempotent
Inspect

Run a read-only PostgreSQL query (SELECT only) on the tables of one project. Use it for counts, sums, grouping and reads that join several tables.

Use database names, not display names or IDs:

  • Table: the dbTableName from get-tables-meta, already in "schema.table" form; quote each part, e.g. FROM "bseXXX"."tblYYY"

  • Column: the dbFieldName from get-fields, in double quotes, e.g. "Status"

  • System columns: "__id", "__auto_number", "__created_time", "__last_modified_time", "__created_by", "__last_modified_by"

Add LIMIT 100 to queries that return rows. Timestamps are stored in UTC; convert with timezone('Asia/Shanghai', "col") when needed.

Inputs: sql (required), baseId (required).

update-recordsA
Destructive
Inspect

Update records using compact array format.

FORMAT: { "tableId": "tblXXX", "header": ["recordId", "Name", "Status"], "records": [ ["recAAA", "Updated Name A", "Done"], ["recBBB", "Updated Name B", "Pending"] ] }

RULES:

  • header: First element MUST be "recordId"

  • records: First value in each row is the record ID to update

  • Empty string "": Skip field (no change)

  • null: Clear the cell

VALUE TYPES: Same as create-records

REORDER (optional): "order": { "viewId": "viwXXX", "anchorId": "recYYY", "position": "before"|"after" } Moves record(s) before/after the anchor in the given view. Swap rows A↔B: call twice with different anchors.

Inputs: header (required), records (required), tableId (required), order, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      This MCP server enables safe local access to tables and spreadsheets for AI agents, providing typed tools for reading, previewing, and committing table changes through a permission-brokered interface.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for storing and safely auto-filling tabular data. Enables AI agents to read objects, identify empty fields, collect values, and write them back without overwriting existing data.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      An MCP server that enables AI agents to read, create, and modify Google Spreadsheets through actions like editing cells and managing sheets. It features a specialized handoff protocol to synchronize tasks and state between different LLMs using a shared spreadsheet log.
      648 npm
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources