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
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
Scored across 12 tools
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.
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.
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.
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 toolscall-api-readARead-onlyIdempotentInspect
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-writeADestructiveInspect
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-recordsBDestructiveInspect
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-docARead-onlyIdempotentInspect
Get comprehensive documentation for Teable features and configurations. Use this tool to understand configuration formats before creating or updating resources. Workflow:
Identify the category needed (field, view, or record)
Query the specific subtopic (e.g., "field.formula" or "field.colors")
Use examples from documentation to construct correct configurations
Inputs: topic (required), baseId (required).
get-fieldsARead-onlyIdempotentInspect
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-recordsARead-onlyIdempotentInspect
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-metaARead-onlyIdempotentInspect
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-basesARead-onlyIdempotentInspect
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-apiARead-onlyIdempotentInspect
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-queryARead-onlyIdempotentInspect
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-recordsADestructiveInspect
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
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Every spreadsheet is a table: Excel, CSV, Parquet and JSON as SQL tables for AI agents.
Orbit is an MCP server that gives your AI agents a 4000+ tools, a shared memory brain and a live dashboard OS. Every agent reads active decisions, logs outputs to a searchable vault, and reports status in real time. 2-minute setup via MCP; works across Claude, ChatGPT, Codex, Cursor, Gemini, and Manus. Finally Agents work, agents that grow your business and bring you customers. https://orbitagents.xyz
Shared tables and Markdown docs for teams and AI-built apps, with scoped access and audited changes.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceThis 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
- AlicenseNot gradedqualityDmaintenanceMCP 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
- AlicenseNot gradedqualityCmaintenanceAn 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 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server enabling AI agents to read, write, and manage Google Sheets, including sheet manipulation, row/column operations, dropdowns, checkboxes, and conditional formatting.12 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.