Seatable MCP server
MCP server for SeaTable — read, write, search, link, and query data in your bases
9 stars97 downloads/wk
Reviews
Write oneNobody has reviewed Seatable yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Seatable tools (23, 6 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_rowAdd a single row. For multiple rows, always use append_rows instead of calling add_row in a loop. Link and file/image columns cannot be set here — use link_rows and upload_file instead.
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. Options that already exist are skipped, so this will not create duplicates.
append_rowsBatch insert rows. Rejects unknown columns. Link and file/image columns cannot be set here — use link_rows and upload_file instead. Note: the response may contain column keys instead of column names due to a SeaTable API limitation.
create_snapshotwrite actionCreate a snapshot of the current base. Requires at least one change since the last snapshot and at least 10 minutes since the last snapshot.
delete_rowswrite actionDelete one or more rows from a table by their IDs.
download_fileRead the content of a file attached to a row in a file or image column. Use get_row first to see available files in the column, then pass the exact file_name to select a specific file. Returns JSON with: file_name, file_size (bytes), content, content_type, and download_link (only when content_type is "binary_url"). content_type values: - "text": file content returned as text (.txt, .csv, .md, .jso
echo_argsDebug tool that returns exactly what arguments the client sent
find_rowsFind rows using a predicate DSL. Filtering is performed client-side.
get_rowGet a row by ID from a table
get_row_activitiesGet the change history of a specific row. Returns a list of activities showing who changed what and when, including old and new values. 25 activities per page.
get_schemaReturns the normalized schema for the base
link_rowswrite actionCreate 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.
list_basesList available SeaTable bases. Use the returned names as the "base" parameter in other tools.
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. Call this once to resolve @auth.local addresses in collaborator columns before displaying them to the user.
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.
list_tablesList tables in the SeaTable base with their columns (name, type, key). Includes select options and link configuration where applicable.
ping_seatableHealth check that verifies connectivity and auth to SeaTable
query_sqlsearch_rowsSearch rows with a filter object
unlink_rowswrite actionRemove links between rows via the dedicated links endpoint. This is the ONLY way to remove links — link columns cannot be modified via update_rows.
update_rowswrite actionBatch update rows. Rejects unknown columns. Link and file/image columns cannot be modified here — use link_rows/unlink_rows and upload_file instead.
upload_filewrite actionUpload 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.
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.
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan102 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 16 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
Install directly
Runs npx -y @seatable/mcp-seatable on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add seatable -- npx -y @seatable/mcp-seatable
Seatable: common questions
- Is Seatable MCP server safe?
- Yes, by our scan: it is graded A (94/100). Read the Seatable safety report
- How do I install Seatable?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Seatable need an API key?
- No secret keys are declared. It reads 2 settings from the environment.
- Is Seatable maintained?
- The last commit was 16 days ago (2026-09-04). The latest release is v1.6.4.
- What can I use instead of Seatable?
- Servers from other publishers that do the same job: Link MCP server and Apple Maps MCP server.
Alternatives to Seatable
Same job from other publishers: the closest match first, then the best rated.
- LinkLocal personal memory for agents as MCP tools — remember, recall, search, context, graph traversal.not reviewedEstablishedA
- Apple MapsSearch places, estimate routes, and build Apple Maps links on macOS.not reviewedGrowingA