home / mcp / base mcp server

Base MCP Server

Provides read and write access to Feishu Base databases for inspecting schemas and manipulating records via MCP clients.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "lark-base-team-lark-base-mcp-node-server": {
      "command": "npx",
      "args": [
        "@lark-base-open/mcp-node-server",
        "-a",
        "appToken of base",
        "-p",
        "personalBaseToken of base"
      ],
      "env": {
        "APP_TOKEN": "appToken of base",
        "BASE_TOKEN": "personalBaseToken of base"
      }
    }
  }
}

You can use this MCP server to access Feishu Base databases through a Model Context Protocol client. It lets you read and write tables, records, and schemas so you can programmatically manage your Base data with an LLM-driven workflow.

How to use

You interact with the MCP server via an MCP client. The server exposes a set of tools that let you list tables, read and modify records, and manage table structures. Use the client to call these tools when you need to inspect your Base schemas or perform data operations. Each operation maps to a specific tool and input parameters, such as tableId, recordId, and field definitions.

How to install

Prerequisites you must have before proceeding:

- Node.js is installed on your machine.

Steps to install and run the MCP server locally:

npm install -g @lark-base-open/mcp-node-server

Configure the MCP server in your client

{
  "mcpServers": {
    "base-mcp-server": {
      "command": "npx",
      "args": [
        "@lark-base-open/mcp-node-server",
        "-a",
        "appToken of base",
        "-p",
        "personalBaseToken of base"
      ]
    }
  }
}

Tokens you need

Two tokens are required to operate the server with Feishu Base:

- personalBaseToken: Obtain this from the Base Plugin UI by selecting Custom Plugin -> Get Authorization Code.

- appToken: Acquire this quickly via a Development Tool plugin by following the documented flow.

Available tools

list_tables

Lists all tables in a base. No input parameters required.

list_records

Lists records from a specified table. Requires tableId as input.

get_record

Retrieves a specific record by its ID within a table. Requires tableId and recordId.

create_record

Creates a new record in a table. Requires tableId and fields.

update_record

Updates an existing record in a table. Requires tableId, recordId, and fields.

delete_record

Deletes a record from a table. Requires tableId and recordId.

create_table

Creates a new table in a base. Requires name and fields definitions.

update_table

Updates a table's name. Requires tableId and name.

delete_table

Deletes a table. Requires tableId.

list_fields

Lists all fields in a table. Requires tableId.

create_field

Creates a new field in a table. Requires tableId and nested field configuration.

update_field

Updates a field in a table. Requires tableId, fieldId, and nested updated configuration.

delete_field

Deletes a field from a table. Requires tableId and fieldId.