@seatable/mcp-seatable

MCPattested
v1.6.4SeaTable GmbHMITUpdated 1mo agonpmGitHub

MCP server for SeaTable — read, write, search, link, and query data in your bases

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
122Downloads/wk
10GitHub stars
2Forks
1mo agoLast update
Reads these credentials
  • SEATABLE_API_TOKENAPI keyoptional

    API token for a single SeaTable base

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
AuthorSeaTable GmbH
LicenseMIT
Version1.6.4
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · 6f445fd
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface23 tools · 3 privileged
Security scan✓ Cleanv1.6.0 · 1mo agoHow well does this scan work?
EvalsNone
IndexedAug 26, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

23 tools · 3 privileged
Statically extracted from the published packagev1.6.0 · 1mo ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

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 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.

No input schema was published for this tool.

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.

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

No input schema was published for this tool.

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.

Batch 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.

No input schema was published for this tool.

create_snapshotCreate a snapshot of the current base. Requires at least one change since the last snapshot and at least 10 minutes since the last snapshot.

Create a snapshot of the current base. Requires at least one change since the last snapshot and at least 10 minutes since the last snapshot.

No input schema was published for this tool.

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

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

No input schema was published for this tool.

download_fileNo description published

This tool published no description. Forge does not invent one.

echo_argsDebug tool that returns exactly what arguments the client sent

Debug tool that returns exactly what arguments the client sent

No input schema was published for this tool.

find_rowsFind rows using a predicate DSL. Filtering is performed client-side.

Find rows using a predicate DSL. Filtering is performed client-side.

No input schema was published for this tool.

get_rowGet a row by ID from a table

Get a row by ID from a table

No input schema was published for this tool.

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 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.

No input schema was published for this tool.

get_schemaReturns the normalized schema for the base

Returns the normalized schema for the base

No input schema was published for this tool.

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.

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.

No input schema was published for this tool.

list_basesList available SeaTable bases. Use the returned names as the "base" parameter in other tools.

List available SeaTable bases. Use the returned names as the "base" parameter in other tools.

No input schema was published for this tool.

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 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.

No input schema was published for this tool.

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 rows from a table with pagination (defaults: page=1, page_size=100). Use find_rows for filtering/sorting or query_sql for SQL queries.

No input schema was published for this tool.

list_tablesList tables in the SeaTable base with their columns (name, type, key). Includes select options and link configuration where applicable.

List tables in the SeaTable base with their columns (name, type, key). Includes select options and link configuration where applicable.

No input schema was published for this tool.

ping_seatableHealth check that verifies connectivity and auth to SeaTable

Health check that verifies connectivity and auth to SeaTable

No input schema was published for this tool.

query_sqlprivilegedNo description published

This tool published no description. Forge does not invent one.

search_rowsSearch rows with a filter object

Search rows with a filter object

No input schema was published for this tool.

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.

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.

No input schema was published for this tool.

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.

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

No input schema was published for this tool.

upload_fileprivilegedUpload 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.

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.

No input schema was published for this tool.

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.

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.

No input schema was published for this tool.

21 of 23 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

MCP server for SeaTable — read, write, search, link, and query data in your bases

Keywords
mcpmodel-context-protocolseatabledatabaseapiserveraisqlcrud
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-08-29 — observed resolution, not a publisher declaration.

60 packages resolved · 10 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

47 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+35 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in databases