Smithery's MCP Proxy and managed identity shut down on October 31. See what's changing

SmitherySign up for Arcade

SeaTable

seatable/seatable-mcp · github.com

This MCP server connects AI agents to https://cloud.seatable.io. Read, write, search, and link rows, run SQL queries, batch upsert data, and manage file attachments and select options. Generate an API token in your base settings to get started.

For self-hosted SeaTable servers, use the npm package — see https://github.com/seatable/seatable-mcp for setup instructions.

Tools18

Last checked October 15, 2026

  • list_tables

    List tables in the SeaTable base

  • list_rows

    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.

  • get_row

    Get a row by ID from a table

  • add_row

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

  • append_rows

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

  • update_rows

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

  • delete_rows

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

  • find_rows

    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":[...]}. Negate with {"not":{...}}.

  • search_rows

    Search rows with a filter object

  • upsert_rows

    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.

  • link_rows

    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.

  • unlink_rows

    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.

  • get_schema

    Returns the normalized schema for the base

  • query_sql

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

  • list_collaborators

    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.

  • upload_file

    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.

  • add_select_options

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

  • ping_seatable

    Health check that verifies connectivity and auth to SeaTable