seatable avatar

Seatable

seatable/seatable-mcp

Connects Claude to SeaTable bases with read, write, search, and query tools. Handles rows and data operations but intentionally skips schema management (no creating tables or columns), keeping the surface area safe for agent use. SeaTable Cloud users get a hosted endpoint at mcp.seatable.com with no local install. Self-hosted instances run via npx with stdio transport. Also ships managed mode for multi-tenant deployments with OAuth 2.0 support and per-token rate limiting. All writes validate against table schemas and strip read-only columns like formulas and auto-numbers. Responses include system fields like _id and timestamps. Reach for this when you need Claude to query, filter, and manipulate structured data in SeaTable without giving it the keys to alter your database structure.

GitHub stars
10
tools
18
transport
STDIO
env vars
2
last updated
Nov 11, 2026

Tools

18 tools

Public tool metadata for what this MCP can expose to an agent.

list_tablesList tables in the SeaTable base

List tables in the SeaTable base

No parameter schema in public metadata yet.

list_rowsList rows from a table with pagination (defaults: page=1, page_size=100). Use find_rows for filtering/sorting or query_sql for SQL queries.4 params

List rows from a table with pagination (defaults: page=1, page_size=100). Use find_rows for filtering/sorting or query_sql for SQL queries.

Parameters* required
pageinteger
Page number (1-based)default: 1
page_sizeinteger
Rows per page (max 1000)default: 100
tablestring
Table name
viewstring
Optional SeaTable view name
get_rowGet a row by ID from a table2 params

Get a row by ID from a table

Parameters* required
row_idstring
Row ID (the _id field)
tablestring
Target table name
add_rowAdd a new row to a table. Link and file/image columns cannot be set here — use link_rows and upload_file instead.2 params

Add a new row to a table. Link and file/image columns cannot be set here — use link_rows and upload_file instead.

Parameters* required
rowobject
Row object (column -> value)
tablestring
Target table name
append_rowsBatch insert rows. Rejects unknown columns. Link and file/image columns cannot be set here — use link_rows and upload_file instead.2 params

Batch insert rows. Rejects unknown columns. Link and file/image columns cannot be set here — use link_rows and upload_file instead.

Parameters* required
rowsarray
Array of row objects (column name -> value)
tablestring
Target table name
update_rowsBatch update rows. Rejects unknown columns. Link and file/image columns cannot be modified here — use link_rows/unlink_rows and upload_file instead.2 params

Batch update rows. Rejects unknown columns. Link and file/image columns cannot be modified here — use link_rows/unlink_rows and upload_file instead.

Parameters* required
tablestring
Target table name
updatesarray
Array of updates, each with row_id and values
delete_rowsDelete one or more rows from a table by their IDs.2 params

Delete one or more rows from a table by their IDs.

Parameters* required
row_idsarray
List of row IDs (_id field) to delete
tablestring
Target table name
find_rowsFind rows using a predicate DSL. Filtering is performed client-side. where format: {"eq":{"field":"Name","value":"foo"}} or shorthand {"Name":"foo"}. Operators: eq, ne, in, gt, gte, lt, lte, contains, starts_with, ends_with, is_null. Combine with {"and":[...]} or {"or":[...]}....6 params

Find rows using a predicate DSL. Filtering is performed client-side. where format: {"eq":{"field":"Name","value":"foo"}} or shorthand {"Name":"foo"}. Operators: eq, ne, in, gt, gte, lt, lte, contains, starts_with, ends_with, is_null. Combine with {"and":[...]} or {"or":[...]}....

Parameters* required
directionstring
Sort directionone of asc · descdefault: asc
order_bystring
Column name to sort by
pageinteger
Page number (1-based)default: 1
page_sizeinteger
Rows per page (max 1000)default: 100
tablestring
Target table name
wherevalue
Filter predicate (e.g. {"eq":{"field":"Name","value":"foo"}} or shorthand {"Name":"foo"})
search_rowsSearch rows with a filter object2 params

Search rows with a filter object

Parameters* required
queryobject
Filter object with column name -> value pairs
tablestring
Target table name
upsert_rowsBatch upsert rows by matching on one or more key columns. If a match exists, update it; otherwise insert a new row. Rejects unknown columns. Link and file/image columns cannot be set here — use link_rows/unlink_rows and upload_file instead.3 params

Batch upsert rows by matching on one or more key columns. If a match exists, update it; otherwise insert a new row. Rejects unknown columns. Link and file/image columns cannot be set here — use link_rows/unlink_rows and upload_file instead.

Parameters* required
key_columnsarray
Columns to match on for finding existing rows
rowsarray
Array of row objects (column name -> value)
tablestring
Target table name
link_rowsCreate links between rows via the dedicated links endpoint. This is the ONLY way to create links — link columns cannot be written via add_row or update_rows.3 params

Create links between rows via the dedicated links endpoint. This is the ONLY way to create links — link columns cannot be written via add_row or update_rows.

Parameters* required
link_columnstring
Name of the link column
pairsarray
Array of row ID pairs to link
tablestring
Source table name
unlink_rowsRemove links between rows via the dedicated links endpoint. This is the ONLY way to remove links — link columns cannot be modified via update_rows.3 params

Remove links between rows via the dedicated links endpoint. This is the ONLY way to remove links — link columns cannot be modified via update_rows.

Parameters* required
link_columnstring
Name of the link column
pairsarray
Array of row ID pairs to unlink
tablestring
Source table name
get_schemaReturns the normalized schema for the base

Returns the normalized schema for the base

No parameter schema in public metadata yet.

query_sqlExecute raw SQL queries against SeaTable. Supports SELECT, INSERT, UPDATE, DELETE. Use ? placeholders for parameters to prevent SQL injection.2 params

Execute raw SQL queries against SeaTable. Supports SELECT, INSERT, UPDATE, DELETE. Use ? placeholders for parameters to prevent SQL injection.

Parameters* required
parametersarray
Values for ? placeholders in the SQL query
sqlstring
SQL query (SELECT, INSERT, UPDATE, DELETE)
list_collaboratorsList users who have access to this base. Returns email (internal user ID) and display name. Use the email values when writing to collaborator columns.

List users who have access to this base. Returns email (internal user ID) and display name. Use the email values when writing to collaborator columns.

No parameter schema in public metadata yet.

upload_fileUpload a file or image to a row. Accepts base64-encoded file data and attaches it to the specified file or image column. By default appends to existing files; set replace=true to overwrite.6 params

Upload a file or image to a row. Accepts base64-encoded file data and attaches it to the specified file or image column. By default appends to existing files; set replace=true to overwrite.

Parameters* required
columnstring
Name of the file or image column
file_datastring
Base64-encoded file content
file_namestring
File name with extension (e.g. "report.pdf")
replaceboolean
Replace existing files (default: append)default: false
row_idstring
Row ID to attach the file to
tablestring
Target table name
add_select_optionsAdd new options to a single-select or multi-select column. Use this before writing rows with option values that do not exist yet.3 params

Add new options to a single-select or multi-select column. Use this before writing rows with option values that do not exist yet.

Parameters* required
columnstring
Name of the single-select or multi-select column
optionsarray
Array of options to add
tablestring
Target table name
ping_seatableHealth check that verifies connectivity and auth to SeaTable

Health check that verifies connectivity and auth to SeaTable

No parameter schema in public metadata yet.

Sponsors

Configuration

SEATABLE_SERVER_URL

URL of your SeaTable server (e.g. https://cloud.seatable.io)

SEATABLE_API_TOKEN

API token for a single SeaTable base

Readme

SeaTable MCP

The official Model Context Protocol (MCP) server for SeaTable, built and maintained by SeaTable GmbH. It lets AI agents interact with data in your bases — reading, writing, searching, linking, and querying rows through a focused set of tools. The server intentionally focuses on data operations, not schema management (creating/deleting tables or columns), keeping the tool set lean and safe for autonomous agent use.

Quick Start

The fastest way to get started depends on your setup:

  • SeaTable Cloud — Use the hosted MCP server at mcp.seatable.com, no installation needed
  • Self-hosted SeaTable — Run the MCP server locally via npx in your IDE

SeaTable Cloud (hosted MCP server)

If you use SeaTable Cloud, there is a hosted MCP server ready to use — no installation required. Configure your MCP client with the Streamable HTTP endpoint:

Claude Desktop — add to claude_desktop_config.json:


View the full README on GitHub

Details

Repository
github.com/seatable/seatable-mcp
Categories
Search & Web Crawling, Data & Analytics
Package
@seatable/mcp-seatable
Transport
STDIO
Registry
MCP registry, active

Related Search & Web Crawling MCP servers

View all
1paulbreuler avatarLimpspaulbreuler/limpsMCP planning server for AI agents — plan management, full-text search, and task lifecycle10stars
2hint-services avatarHint Services Obsidian Github Mcphint-services/obsidian-github-mcpConnect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…9stars
3cyanheads avatarEurostat Mcp Servercyanheads/eurostat-mcp-serverSearch and query the Eurostat catalogue — EU economy, demography, trade, and NUTS regional data.9stars
4maxim-mazurok avatarMicrosoft Teams APImaxim-mazurok/teams-apiAI-native Microsoft Teams integration — read chats, send messages, search people9stars
5scrypster avatarMementoscrypster/mementoPersistent memory for AI tools. Local-first knowledge graph with hybrid search.9stars
6spuentesp avatarLainspuentesp/lainHigh-performance knowledge graph MCP server for AI coding agents with semantic search.9stars