Baserow Schema MCP

io.github.aficiomaquinas由 GitHub 账号 aficiomaquinas 发布v2.0.2更新于 Oct 24, 2026

Generic Baserow API client MCP server with automatic 2FA (TOTP) auth and OpenAPI validation.

发布方自己的服务:Baserow

已验证STDIO仅桌面数据库开发者工具

概览

AI 生成的概览

本地 MCP 服务器,为助手提供完整的 Baserow REST API 通用客户端,自动完成 TOTP 两步验证登录并按 OpenAPI 校验路径。

可以做什么
通过方法、路径、可选 JSON 请求体和查询参数调用任意 Baserow API 端点,覆盖表、字段、视图、筛选器、行和工作区管理端点,包括批量行操作和删除。查询当前认证状态、令牌过期时间和剩余有效期,便于排查登录生命周期。请求会对照内置的 Baserow OpenAPI 规范检查;未知路径或方法不匹配时仍会执行,但返回警告并列出相似路径或可用方法。
适用场景
当助手需要修改 Baserow 结构(表、字段、视图、筛选器)或访问精选行 CRUD 服务器未开放的管理端点时使用,也适用于 Baserow 账户强制要求 TOTP 两步验证的情况。
运行要求
以 Node.js 本地进程运行(需 Node.js 20 或更高版本),可从 npm 包安装或从源码构建。需要 Baserow 实例地址、账户邮箱、账户密码和账户的 base32 TOTP 密钥,通过环境变量 BASEROW_API_URL、BASEROW_USERNAME、BASEROW_PASSWORD 和 BASEROW_TOTP_SECRET 提供。Baserow 账户须已启用 2FA,且机器需能访问该实例。
安装前请注意
服务器在其环境中保存账户密码(BASEROW_PASSWORD)和 2FA TOTP 密钥(BASEROW_TOTP_SECRET),持有者可冒用该用户登录。通用工具可写入、修改和删除数据与结构,包括删除表;校验不阻断请求,路径写错也会照常发送。所有请求都发往所配置的 Baserow 实例。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Baserow Schema MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-baserow-schema

MCP server for Baserow: a generic Baserow API client with 2FA authentication (TOTP) and OpenAPI validation.

One tool, the entire Baserow REST API. Schema changes (tables, fields, views, filters), row CRUD, workspace admin — anything documented in the OpenAPI spec is callable, with JWT auth handled automatically.

Why

Baserow's official MCP handles curated data CRUD but not the full API surface (schema changes, views, filters, admin endpoints). In 2026, plain password auth without 2FA is not acceptable. This MCP solves both:

  • Full API access: any endpoint from the bundled Baserow OpenAPI spec via one generic tool
  • 2FA support: automatic TOTP-based authentication — no manual token management
  • OpenAPI guard: requests are validated against the spec; mistyped paths get a hint instead of a mystery 404
  • Designed for agents: AI agents can modify table structure without human intervention

Tools (2)

baserow_api

Generic HTTP client for any Baserow API endpoint.

ParameterTypeDescription
methodGET | POST | PATCH | DELETE | PUTHTTP method
pathstringAPI path starting with /api/
bodyobject, optionalJSON body for POST/PATCH/PUT
queryobject, optionalQuery params as string key-value pairs

Examples:

GET    /api/database/tables/database/123/                    → list tables in database 123POST   /api/database/views/table/456/       {name, type}     → create viewPOST   /api/database/views/789/filters/     {field, type, value} → create filterDELETE /api/database/tables/456/                             → delete tablePATCH  /api/database/rows/table/456/11/    {status}   ?user_field_names=true → update rowPOST   /api/database/rows/table/456/batch/ {items:[...]}      → batch update

Auth is handled automatically: just provide method, path, and optional body/query. If the OpenAPI spec doesn't recognize the path/method, the response is prefixed with a warning (⚠️ OpenAPI spec: ...) including similar paths — the request still executes (validation is non-blocking).

auth_status

Returns the current authentication state: authenticated, token expiry, and remaining lifetime of access/refresh tokens. Useful for debugging the auth lifecycle.

OpenAPI Validation

The server bundles the official Baserow OpenAPI spec (v2.2.2, 275 paths, openapi.json at the repo root). Before each request:

  • Path + method found → request proceeds silently.
  • Path exists, method wrong → warning lists the available methods for that path.
  • Path unknown → warning plus up to 5 similar paths from the spec.

The spec is loaded lazily from dist/../openapi.json; if missing, validation is skipped gracefully and requests proceed unvalidated.

Authentication

Supports Baserow's two-step 2FA flow:

  1. POST /api/user/token-auth/ → temporary 2FA token (~60 s)
  2. POST /api/two-factor-auth/verify/ (with TOTP code) → JWT access_token + refresh_token
  3. POST /api/user/token-refresh/ → new access_token, silently (no 2FA needed)

Token lifecycle:

  • access_token: ~10 minutes (expiry read from the JWT exp claim, refreshed 2 min before expiry)
  • refresh_token: ~7 days (full 2FA re-login 5 min before expiry)
  • temp_token: ~60 seconds (only for the 2FA verify step)

Credentials are passed via environment variables — never hardcoded.

Setup

Prerequisites

  • Node.js ≥ 20
  • Baserow account with 2FA enabled
  • Baserow TOTP secret (base32)

Install

bash
git clone [email protected]:aficiomaquinas/mcp-baserow-schema.gitcd mcp-baserow-schemanpm installnpm run build

Configure

Set environment variables (or use a .env file — see .env.example):

bash
BASEROW_API_URL=https://your-baserow-instance.com[email protected]BASEROW_PASSWORD=your_passwordBASEROW_TOTP_SECRET=YOUR_BASE32_TOTP_SECRET

Hermes Agent

Add to ~/.hermes/profiles/<profile>/config.yaml:

yaml
mcp_servers:  baserow-mcp:    command: node    args:      - /path/to/mcp-baserow-schema/dist/index.js    enabled: true    env:      BASEROW_API_URL: https://baserow.example.com      BASEROW_USERNAME: [email protected]      BASEROW_PASSWORD: your_password      BASEROW_TOTP_SECRET: YOUR_BASE32_TOTP_SECRET

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "baserow-schema": {      "command": "node",      "args": ["/path/to/mcp-baserow-schema/dist/index.js"],      "env": {        "BASEROW_API_URL": "https://baserow.example.com",        "BASEROW_USERNAME": "[email protected]",        "BASEROW_PASSWORD": "your_password",        "BASEROW_TOTP_SECRET": "YOUR_BASE32_TOTP_SECRET"      }    }  }}

Field Types

Since baserow_api is a pass-through client, every Baserow field type is supported — the JSON body just needs to match the API contract for the endpoint. Reference list of field types:

text, long_text, url, email, number, rating, boolean, date, last_modified, last_modified_by, created_on, created_by, duration, link_row, file, single_select, multiple_select, phone_number, formula, count, rollup, lookup, multiple_collaborators, uuid, autonumber, password, ai

Endpoint details: consult the bundled openapi.json or the Baserow API docs.

Usage with Official Baserow MCP

Since v2, this MCP covers data operations too (rows, batches, search, sort), so the official Baserow MCP is optional:

  • mcp-baserow-schema → everything: schema, data, views, filters, admin
  • Official Baserow MCP → curated row-CRUD UX, if you prefer it for data work

Running both side by side is fine; they don't conflict.

Releasing

Maintainers: see docs/RELEASING.md. Releases are fully automated (release-it + GitHub Actions with OIDC trusted publishing) — never bump versions, tags, or server.json manually.

License

MIT

来源:README.md,提交 1ccfac9

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v2.0.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Baserow 集成