SeaTable MCP (seatable/seatable-mcp) is an MCP server listed on the M8ven Trust Index. It scores 48 out of 100, grade D. It declares 23 tools. No publisher has claimed this listing.

D
Caution
48/100

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 auto

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

seatable

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Known vulnerabilities in dependencies: 1 critical, 10 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 1 credential: OPENAI_APPS_CHALLENGE_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes23 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

add_row

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.

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.

append_rows

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.

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

delete_rows

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

download_file

Read 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

echo_args

Debug tool that returns exactly what arguments the client sent

find_rows
get_row

Get a row by ID from a table

get_row_activities

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.

get_schema

Returns the normalized schema for the base

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.

list_bases

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

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. Call this once to resolve @auth.local addresses in collaborator columns before displaying them to the user.

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.

list_tables

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

ping_seatable

Health check that verifies connectivity and auth to SeaTable

query_sql

Execute SQL queries against SeaTable (SELECT, UPDATE, DELETE, INSERT). Use ? placeholders for parameters. Syntax rules: - Quote table/column names with backticks: `Table Name`, `Column Name` (not double quotes). Required for names with spaces, hyphens, or names matching function names. - SELECT ret

search_rows

Search rows with a filter object

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.

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.

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.

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.

// known CVEs in dependencies1 critical10 high6 medium12 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@2.1.9GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

highaxios@1.13.6GHSA-35jp-ww65-95wh

axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`

highaxios@1.13.6GHSA-3g43-6gmg-66jw

axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollution Gadget in Config Merge

highaxios@1.13.6GHSA-6chq-wfr3-2hj9

Axios: Header Injection via Prototype Pollution

highaxios@1.13.6GHSA-777c-7fjr-54vf

Allocation of Resources Without Limits or Throttling in Axios

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configCORS_ALLOWED_ORIGINSComma-separated list of allowed origins for CORS (HTTP mode only, disabled if unset)
configHOST
configLOG_LEVEL
configMCP_SEATABLE_TRANSPORT
configMCP_TRANSPORT
configMETRICS_PORTPrometheus metrics port (default: 9090, HTTP mode only)
🔐 secretOPENAI_APPS_CHALLENGE_TOKEN
configSEATABLE_MCP_HOSTNAME
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployPORT
// quality suggestions

Tool test coverage

16/23 tools referenced in tests (70%)

Write tests that reference each tool by name so every tool has at least one test.

Production dependencies are patched

0 critical, 10 high severity in production deps — axios@1.13.6 (high), axios@1.13.6 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Dev dependencies

1 critical/high in dev-only deps (does not ship to users)

Upgrade dev dependencies when convenient.

Dependency freshness

3/10 production deps abandoned (no release in 2+ years): bottleneck@2023-02-22 (3.5y), prom-client@2024-06-27 (2.2y), axios-retry@2024-08-02 (2.1y)

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/seatable/seatable-mcp?variant=verified)](https://m8ven.ai/mcp/seatable/seatable-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 4c682f9b2428f21fd4f7ae764cada2d4a42adcb0
code hash: 4348f977498cd5183d2afb4635ece76e694bdd89c4ced5991b186ed01467c31a
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client