---
title: "SeaTable MCP server for AI agents - actionlake"
description: "Give Claude 62 SeaTable actions through one MCP server: columns, rows, row comments, tables. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/seatable
updated: 2026-10-23
---

Connectors · Developer & infrastructure

# SeaTable MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to SeaTable and the rest of your systems. It gives your agent 62 SeaTable actions (22 reads, 32 writes and 8 that wait for a confirmation) and holds the SeaTable credential itself, so the agent never does. It paces SeaTable's limits and records every call.

[Connect SeaTable free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "seatable.collaborators.list",
  intent: "check which SeaTable account is connected"
}
# List base collaborators · read · 1 upstream call
```

- 62 actions in one signed file
- 22 read look, never change
- 32 write create and update
- 8 wait for a yes destructive, confirmed first

Set up

## Connect SeaTable in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect SeaTable.
   Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_token` SeaTable API-Token for ONE base: open the base, then the base menu (three dots) > Advanced > API Token, and add a…
   - `base_uuid` Where your SeaTable lives: your base uuid
   - `host` Where your SeaTable lives: your host
   ```
   account { op: "connections.requirements", service: "seatable" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "seatable.collaborators.list" }
   # list base collaborators · read · 1 upstream call
   check { action: "seatable.tables.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

SeaTable at a glance

**Sign-in**

Session login. actionlake opens the session and renews it when it expires.

**You provide**

`api_token`

**Setup fields**

`base_uuid` `host`

**Limits we pace to**

200 calls a minute, per connection

**API covered**

SeaTable API v6.2 base operations (api-gateway v2, OpenAPI 3.0)`cloud.seatable.io`

**Built from**

SeaTable's documentation, read 23 October 2026[OpenAPI spec (GitHub)](https://github.com/seatable/openapi/blob/v6.2/base_operations.yaml) [api.seatable.com](https://api.seatable.com/reference)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

22 of 22 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line SeaTable up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in SeaTable.

62 actions in 25 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **22** read look, never change
- **32** write create and update
- **8** destructive wait for a confirmation

1. ### Columns
   9
   1 read · 7 write · 1 destructive
   Insert a column · List columns · Change a column's type · Delete a column
2. ### Rows
   7
   2 read · 4 write · 1 destructive
   Append rows · List rows · Get a row · Update rows
3. ### Row comments
   5
   3 read · 1 write · 1 destructive
   Count a row's comments
4. ### Tables
   5
   1 read · 3 write · 1 destructive
   List tables · Create a table · Rename a table · Delete a table
5. ### Views
   5
   2 read · 2 write · 1 destructive
   List views · Create a view · Get a view · Update a view
6. ### Notifications
   4
   1 read · 2 write · 1 destructive
   List base notifications · Mark all base notifications as seen · Mark a notification as seen · Delete all base notifications
7. ### Row links
   4
   1 read · 2 write · 1 destructive
   Create row links · List linked rows · Update row links · Delete row links
8. ### Select options
   3
   0 read · 2 write · 1 destructive
   Add select options · Update select options · Delete select options

**17 more areas · 20 actions**

- Big data **2**
- Big data operations **2**
- SQL **2**
- API gateway **1**
- Auto link tasks **1**
- Auto links **1**
- Big data rows **1**
- Collaborators **1**
- Column cascades **1**
- Comments **1**
- Metadata **1**
- Operation logs **1**
- Row activities **1**
- Row comment counts **1**
- Server info **1**
- Snapshots **1**
- Toasts **1**

Top actions

## The SeaTable API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 25 of SeaTable's 25 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `seatable.collaborators.list` List base collaborators | List Collaborators. | read | `identity.user.list` 474 connectors |
| `seatable.tables.list` List tables | List every table in the base with its columns and views (read from the base metadata). | read | `content.table.list` 21 connectors |
| `seatable.tables.create` Create a table | Create Table. | write | `content.table.create` 16 connectors |
| `seatable.tables.delete` Delete a table | Delete Table. | destructive | `content.table.delete` 15 connectors |
| `seatable.rows.create` Append rows | Append Row(s). | write | `content.record.create` 15 connectors |
| `seatable.rows.list` List rows | List Rows. | read | `content.record.list` 13 connectors |
| `seatable.columns.list` List columns | List Columns. | read | `content.table_field.list` 7 connectors |
| `seatable.columns.create` Insert a column | Insert Column. | write | `content.table_field.create` 7 connectors |
| `seatable.views.list` List views | List Views. | read | `content.view.list` 6 connectors |
| `seatable.row_comments.list` List a row's comments | List Row Comments. | read | `content.record_comment.list` 22 connectors |
| `seatable.row_comments.create` Comment on a row | Create Row Comment. | write | `content.record_comment.create` 21 connectors |
| `seatable.views.create` Create a view | Create View. | write | `content.view.create` 5 connectors |

Try it

## Prompts to paste into Claude.

Each one names the SeaTable actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Who has access in SeaTable? List every user and their role.
   calls `seatable.collaborators.list`
2. Write write
   Create a table in SeaTable. Show me exactly what you will send before you save it.
   calls `seatable.tables.create`

Governance for SeaTable

## Destructive actions wait for a yes.

8 SeaTable actions are destructive. These are all of them:

- Delete a table `seatable.tables.delete`
- Delete rows `seatable.rows.delete`
- Delete a column `seatable.columns.delete`
- Delete a view `seatable.views.delete`
- Delete a comment `seatable.row_comments.delete`
- Delete row links `seatable.row_links.delete`
- Delete select options `seatable.select_options.delete`
- Delete all base notifications `seatable.notifications.delete_all`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do seatable.tables.delete confirm_policy: **human**

Delete a table?

**intent:** the user asked me to delete a table

run suspended · waiting for a named person · key _seatable-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "seatable-agent",
  allowed_actions: ["seatable.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "seatable.tables.delete", approver: "lead@example.com" },
    { match: "seatable.rows.delete", approver: "lead@example.com" },
    { match: "seatable.columns.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to SeaTable only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What SeaTable costs on actionlake.

Every SeaTable action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call SeaTable refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 62 SeaTable actions
- 62 actions page each page of a long list is one call
- 22 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every SeaTable action.

62 actions by area: the id your agent calls, what it does, and its effect.

**Columns 9**

- `seatable.columns.append` Append columns write
- `seatable.columns.change_type` Change a column's type write
- `seatable.columns.create` Insert a column write
- `seatable.columns.delete` Delete a column destructive
- `seatable.columns.freeze` Freeze or unfreeze a column write
- `seatable.columns.list` List columns read
- `seatable.columns.move` Move a column write
- `seatable.columns.rename` Rename a column write
- `seatable.columns.resize` Resize a column write

**Rows 7**

- `seatable.rows.create` Append rows write
- `seatable.rows.delete` Delete rows destructive
- `seatable.rows.get` Get a row read
- `seatable.rows.list` List rows read
- `seatable.rows.lock` Lock rows write
- `seatable.rows.unlock` Unlock rows write
- `seatable.rows.update` Update rows write

**Row comments 5**

- `seatable.row_comments.count` Count a row's comments read
- `seatable.row_comments.create` Comment on a row write
- `seatable.row_comments.delete` Delete a comment destructive
- `seatable.row_comments.get` Get a comment read
- `seatable.row_comments.list` List a row's comments read

**Tables 5**

- `seatable.tables.create` Create a table write
- `seatable.tables.delete` Delete a table destructive
- `seatable.tables.duplicate` Duplicate a table write
- `seatable.tables.list` List tables read
- `seatable.tables.rename` Rename a table write

**Views 5**

- `seatable.views.create` Create a view write
- `seatable.views.delete` Delete a view destructive
- `seatable.views.get` Get a view read
- `seatable.views.list` List views read
- `seatable.views.update` Update a view write

**Notifications 4**

- `seatable.notifications.delete_all` Delete all base notifications destructive
- `seatable.notifications.list` List base notifications read
- `seatable.notifications.mark_all_seen` Mark all base notifications as seen write
- `seatable.notifications.mark_seen` Mark a notification as seen write

**Row links 4**

- `seatable.row_links.create` Create row links write
- `seatable.row_links.delete` Delete row links destructive
- `seatable.row_links.query` List linked rows read
- `seatable.row_links.update` Update row links write

**Select options 3**

- `seatable.select_options.create` Add select options write
- `seatable.select_options.delete` Delete select options destructive
- `seatable.select_options.update` Update select options write

**Big data 2**

- `seatable.big_data.archive_view` Move a view's rows to the big data backend write
- `seatable.big_data.unarchive_rows` Move rows back from the big data backend write

**Big data operations 2**

- `seatable.big_data_operations.list` List big data operations read
- `seatable.big_data_operations.restore` Restore a big data operation write

**SQL 2**

- `seatable.sql.execute` Execute a SQL write statement write
- `seatable.sql.select` Query rows with SQL (SELECT) read

**API gateway 1**

- `seatable.api_gateway.ping` Ping the API gateway read

**Auto link tasks 1**

- `seatable.auto_link_tasks.get` Get auto-link task status read

**Auto links 1**

- `seatable.auto_links.create` Auto-link rows by matching values write

**Big data rows 1**

- `seatable.big_data_rows.create` Add rows to the big data backend write

**Collaborators 1**

- `seatable.collaborators.list` List base collaborators read

**Column cascades 1**

- `seatable.column_cascades.update` Set cascade settings between select columns write

**Comments 1**

- `seatable.comments.list_recent` List comments from recent days read

**Metadata 1**

- `seatable.metadata.get` Get base metadata read

**Operation logs 1**

- `seatable.operation_logs.list` List the base operation log read

**Row activities 1**

- `seatable.row_activities.list` List a row's activities read

**Row comment counts 1**

- `seatable.row_comment_counts.get` Get comment counts per row read

**Server info 1**

- `seatable.server_info.get` Get server info read

**Snapshots 1**

- `seatable.snapshots.create` Create a base snapshot write

**Toasts 1**

- `seatable.toasts.send` Send a toast notification write

Questions

## The SeaTable MCP server, answered.

**Is there a SeaTable MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 62 SeaTable actions across columns, rows, row comments and tables, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by SeaTable.

**What do I need to connect SeaTable?**

SeaTable API-Token for ONE base: open the base, then the base menu (three dots) > Advanced > API Token, and add a…. Plus your base uuid and your host. The free call account { op: "connections.requirements", service: "seatable" } lists exactly what to paste.

**Can an AI agent delete or change things in SeaTable?**

Only if its key allows it, and only with an explicit confirmation. 8 SeaTable actions are destructive, including delete a table, delete rows and delete a column. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my SeaTable API limit?**

actionlake paces every call to the limits in the SeaTable service file: 200 calls a minute per connection. Repeated reads are answered from cache (22 SeaTable actions can be), which never reaches SeaTable.

**What does a SeaTable action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (62 SeaTable actions page). Cache hits, searches, dry runs and calls SeaTable refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which SeaTable API does it cover?**

The SeaTable API v6.2 base operations (api-gateway v2, OpenAPI 3.0) at cloud.seatable.io by default, or the base URL set when you connect. It is built from SeaTable's documentation as read on 23 October 2026. 62 actions in 25 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my SeaTable data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your SeaTable credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like SeaTable

Shares the most action names with

- [Airtable 17](https://actionlake.com/connectors/airtable)
- [SmartSuite 12](https://actionlake.com/connectors/smartsuite)
- [Quickbase 10](https://actionlake.com/connectors/quickbase)
- [Kintone 9](https://actionlake.com/connectors/kintone)
- [Baserow 8](https://actionlake.com/connectors/baserow)
- [Zoho Creator 7](https://actionlake.com/connectors/zoho-creator)

Joins with, on shared entities

- [Appwrite Cloud 2](https://actionlake.com/connectors/appwrite-cloud)
- [Microsoft Dynamics 365 2](https://actionlake.com/connectors/microsoft-dynamics-365)
- [Metabase 2](https://actionlake.com/connectors/metabase)
- [Tableau 2](https://actionlake.com/connectors/tableau)
- [Lark Suite 2](https://actionlake.com/connectors/lark-suite)
- [Smartsheet 2](https://actionlake.com/connectors/smartsheet)

Browse

- [All Developer & infrastructure connectors](https://actionlake.com/connectors/category/developer-and-infrastructure)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by SeaTable; the name is the vendor's own. Counts are from the SeaTable service file, version 1.0.0.

## Give your agent SeaTable today.

[Connect SeaTable free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/seatable
More: https://actionlake.com/llms.txt
