Airtable MCP Server
Airtable MCP サーバー
Airtable APIを操作するためのツールを提供するモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、Claude Desktopやその他のMCPクライアントを介して、Airtableのベース、テーブル、フィールド、レコードをプログラムで管理することを可能にします。
このMCPサーバーは、Claudeのエージェント機能を活用し、段階的にテーブルを構築できる特別な実装を採用しています。これにより、複雑なテーブル構築時に他のAirtable向けMCPサーバーで一般的に見られる失敗率を最小限に抑えることができます。また、システムプロンプトとプロジェクトナレッジマークダウンファイルも含まれており、Claude Desktopのプロジェクトを活用する際にLLMに追加のガイダンスを提供します。
要件: Node.js
nodejs.orgから Node.js (バージョン 18 以上) と npm をインストールします。
インストールを確認します:
node --version npm --version
⚠️重要: 実行する前に、Airtable APIキーを設定してください
Related MCP server: Airtable MCP Server
Airtable APIキーの取得
airtable.comでAirtableアカウントにログインしてください
Airtableのビルダーハブで個人アクセストークンを作成する
個人アクセス トークン セクションで、次のスコープを選択します。
データ.レコード:読み取り
データ.レコード:書き込み
schema.bases:読み取り
schema.bases:書き込み
個人アクセストークンへのアクセスを許可するワークスペースまたはベースを選択します
このキーは安全に保管してください。設定に必要になります。
インストール
方法1: npxを使用する(推奨)
Claude 構成ディレクトリに移動します。
Windows:
C:\Users\NAME\AppData\Roaming\ClaudemacOS:
~/Library/Application Support/Claude/
Claude Desktop アプリ内にも以下のディレクトリがあります: Claude Desktop > 設定 > 開発者 > 設定の編集
claude_desktop_config.jsonを作成または編集します。
{
"mcpServers": {
"airtable": {
"command": "npx",
"args": ["@felores/airtable-mcp-server"],
"env": {
"AIRTABLE_API_KEY": "your_api_key_here"
}
}
}
}注: Windows パスの場合は、二重のバックスラッシュ (\) またはスラッシュ (/) を使用します。
方法 2: mcp-installer を使用する:
mcp-installer は、他の MCP サーバーをインストールするための MCP サーバーです。
mcp-installerをインストールする
Claude Desktop にプロンプトを表示して、Airtable MCP サーバーをインストールします。
Install @felores/airtable-mcp-server set the environment variable AIRTABLE_API_KEY to 'your_api_key'Claude はサーバーをインストールし、構成ファイルを変更し、環境変数 AIRTABLE_API_KEY を Airtable API キーに設定します。
方法3: ローカル開発インストール
コードに貢献したり変更したい場合は、ターミナルでこれを実行してください。
# Clone the repository
git clone https://github.com/felores/airtable-mcp.git
cd airtable-mcp
# Install dependencies
npm install
# Build the server
npm run build
# Run locally
node build/index.js次に、ローカル インストールを使用するように Claude Desktop 構成ファイルを変更します。
{
"mcpServers": {
"airtable": {
"command": "node",
"args": ["path/to/airtable-mcp/build/index.js"],
"env": {
"AIRTABLE_API_KEY": "your_api_key_here"
}
}
}
}インストールの確認
Claudeデスクトップを起動
Airtable MCPサーバーは「接続されたMCPサーバー」セクションにリストされているはずです。
簡単なコマンドでテストします。
List all bases特徴
利用可能な操作
基地管理
list_bases: アクセス可能なすべてのAirtableベースを一覧表示するlist_tables: ベース内のすべてのテーブルを一覧表示するcreate_table: フィールドを持つ新しいテーブルを作成するupdate_table: テーブルの名前または説明を更新する
フィールド管理
create_field: テーブルに新しいフィールドを追加するupdate_field: 既存のフィールドを変更する
レコード操作
list_records: テーブルからレコードを取得するcreate_record: 新しいレコードを追加するupdate_record: 既存のレコードを変更するdelete_record: レコードを削除するsearch_records: 条件に一致するレコードを検索するget_record: IDで1つのレコードを取得する
フィールドタイプ
singleLineText: 1行テキストフィールドmultilineText: 複数行テキストエリアemail: メールアドレスフィールドphoneNumber: 電話番号フィールドnumber: 精度をオプションで指定できる数値フィールドcurrency: 通貨記号付きの金額フィールドdate: フォーマットオプション付きの日付フィールドsingleSelect: オプションからの単一の選択multiSelect: オプションからの複数選択
フィールドカラー
選択したフィールドで使用可能な色:
blueBright、redBright、greenBrightyellowBright、purpleBright、pinkBrightgrayBright、cyanBright、orangeBrightblueDark1、greenDark1
貢献
Airtable MCP サーバーの改善に向けた貢献を歓迎します。貢献方法は以下の通りです。
リポジトリをフォークする
https://github.com/felores/airtable-mcpにアクセスしてください
右上の「フォーク」ボタンをクリックします
フォークをローカルにクローンします。
git clone https://github.com/your-username/airtable-mcp.git
機能ブランチを作成する
git checkout -b feature/your-feature-name変更を加える
既存のコードスタイルに従う
該当する場合はテストを追加する
必要に応じてドキュメントを更新する
変更をコミットする
git add . git commit -m "feat: add your feature description"フォークにプッシュする
git push origin feature/your-feature-nameプルリクエストを作成する
GitHubのフォークに移動する
「新しいプルリクエスト」をクリックします
機能ブランチを選択してください
変更内容を詳しく説明してください
開発ガイドライン
新しいコードにはTypeScriptを使用する
セマンティックコミットメッセージに従う
新機能のドキュメントを更新
新しい機能の例を追加する
変更を徹底的にテストする
ヘルプの取得
バグや機能リクエストについては問題を開いてください
既存の問題に関する議論に参加する
プルリクエストで質問する
あなたの貢献は、このツールをより良くするために役立ちます。例えば、
新機能の追加
バグの修正
ドキュメントの改善
機能強化の提案
Airtable MCP サーバーをより強力でユーザーフレンドリーなものにするためにご協力いただきありがとうございます。
ライセンス
Airtable MCPコミュニティによって❤️で作られました
Available Tools
12 toolscreate_fieldB
Create a new field in a table
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_id | Yes | ID of the table | |
| field | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits like whether the field is added to the table schema immediately, if it affects existing records, or any required permissions. Minimal information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence, front-loaded with the key action and resource. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the nested field object and no output schema, the description is too minimal. It does not explain what happens after creation, return values, or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 67% coverage with descriptions for parameters. The tool description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Create) and resource (new field in a table), which distinguishes it from sibling tools like create_record or update_field.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as update_field (for modifying an existing field) or creating records. The description lacks context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_recordB
Create a new record in a table
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_name | Yes | Name of the table | |
| fields | Yes | Record fields as key-value pairs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits, but it does not mention what happens after creation (e.g., returned record ID), error conditions, authentication requirements, or rate limits. The description is too brief to inform the agent about the tool's behavior beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words. However, it could be slightly expanded to include essential context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks critical context: it does not specify what the tool returns (e.g., ID of created record), that base and table must exist, or any constraints on fields. Given the presence of sibling tools and no output schema, the description is incomplete for an agent to use reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides clear descriptions for all three parameters (base_id, table_name, fields), so the description does not add much value for parameters. The schema coverage is 100%, earning a baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Create), the resource (a new record), and the context (in a table). It distinguishes from siblings like 'update_record' and 'delete_record', and also from 'batch_create_records' which implies bulk creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'batch_create_records' for bulk creation, or prerequisites such as requiring the base and table to exist. The description lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tableC
Create a new table in a base
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_name | Yes | Name of the new table | |
| description | No | Description of the table | |
| fields | No | Initial fields for the table |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is minimal and does not disclose behavioral traits beyond the core action. With no annotations available, the description should explain aspects like whether the operation is reversible, if it requires specific permissions, or what happens if a table with the same name exists. None of these are addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently conveys the tool's purpose. There is no unnecessary information, and it is appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description should cover more contextual aspects such as return values, error conditions, or the effect of optional parameters. The current description is too brief for a tool with four parameters and no output schema, leaving significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for all four parameters, so the baseline is 3. The description does not add additional meaning or context beyond what the schema already offers. For example, it does not clarify how the 'fields' parameter affects the table creation or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool creates a new table in a base. While it is specific enough to distinguish from tools like 'create_field' or 'create_record', it lacks explicit differentiation that could help an agent immediately decide when to use this tool over similar ones. The verb and resource are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives such as 'create_field' or 'update_table'. It also does not mention prerequisites or context where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_recordC
Delete a record from a table
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_name | Yes | Name of the table | |
| record_id | Yes | ID of the record to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions 'delete', which implies mutation. It fails to disclose irreversibility, confirmation requirements, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no fluff. However, it could be slightly more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and the presence of many sibling tools (e.g., batch_delete_records, create_record, update_record), the description is incomplete. It does not explain the prerequisite base/table context or confirm that this is for single records.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 3 parameters are described in the schema (100% coverage), so the description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action (delete) and the resource (record from a table), clearly distinguishing it from create, update, or batch operations. However, it does not differentiate from other delete tools like batch_delete_records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as batch_delete_records or update_record. The context of usage (single record deletion) is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recordB
Get a single record by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_name | Yes | Name of the table | |
| record_id | Yes | ID of the record to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It only states the tool gets a record, without mentioning it's a safe read operation, permissions, or side effects. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste, but very sparse. Could include more structure (e.g., what is returned) without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and the description is too bare. It does not explain return values, constraints, or how it fits with sibling tools. Incomplete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage, so the schema already describes parameters adequately. The description adds no extra meaning beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a single record by its ID', using a specific verb and resource. It distinguishes from siblings like list_records (which returns multiple) and search_records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like list_records or search_records. The description does not mention context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_basesA
List all accessible Airtable bases
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description implies read-only behavior but doesn't explicitly state it or mention any constraints like pagination. Adequate for a simple listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with zero parameters and no output schema, the description adequately conveys the core functionality. Could mention return format, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, baseline 4. Description adds no parameter info but none needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all accessible Airtable bases' clearly specifies the action (list) and the resource (Airtable bases), distinguishing it from sibling tools like list_tables or list_records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or when not. However, for a simple list tool with no parameters, the usage is straightforward and implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recordsC
List records in a table
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_name | Yes | Name of the table | |
| max_records | No | Maximum number of records to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, pagination, or any side effects. The description assumes a straightforward list operation but leaves important details implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (4 words), but it is under-specified. Important information such as scope (all records vs filtered) and behavioral details are missing, making it insufficiently informative for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of sibling tools and no output schema or annotations, the description lacks completeness. It does not explain return format, pagination, or differentiation from similar tools, leaving agents with insufficient context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description does not add any additional meaning beyond what is already in the schema. Parameters are adequately described in the schema, but the description offers no extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and resource (records in a table). It is specific enough for basic understanding, but does not differentiate from sibling tools like advanced_list_records, which may offer additional filtering options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as advanced_list_records or search_records. The description lacks any context about appropriate use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tablesB
List all tables in a base
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as read-only nature, required permissions, or side effects, leaving the agent uninformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single short sentence with no wasted words, efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is minimally adequate but lacks details on return format, pagination, or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter base_id, which is already described in the schema. The description adds no additional semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list', resource 'tables', and scope 'in a base', making it distinct from sibling tools like list_records or list_fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. Implied usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recordsB
Search for records in a table
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_name | Yes | Name of the table | |
| field_name | Yes | Name of the field to search in | |
| value | Yes | Value to search for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden for behavioral disclosure. It only states 'search' without mentioning pagination, limits, security implications, or any side effects, providing minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is easy to parse. While it is functional, it lacks structure or front-loaded key constraints. It is appropriately sized but could be more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (4 required parameters) and the absence of an output schema or annotations, the description is too brief to be contextually complete. It does not explain expected results, error conditions, or usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already fully explains each parameter. The description adds no additional semantic value beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for records in a table', which is a specific verb-resource combination. It distinguishes from siblings like 'list_records' by implying filtering criteria, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'advanced_list_records' or 'get_record'. The description lacks context for appropriate usage, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_fieldC
Update a field in a table
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_id | Yes | ID of the table | |
| field_id | Yes | ID of the field to update | |
| updates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavioral traits like idempotency, error handling, permissions, or response behavior. This is insufficient for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it is too brief to cover necessary details. It is structured but lacks substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (4 parameters, nested updates object, no output schema), the description is incomplete. It omits important context about how updates are applied, which fields are optional, and error scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, and the descriptions for base_id, table_id, field_id, and the updates object are adequate but generic. The tool description adds no extra semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'field in a table', which distinguishes it from sibling tools like create_field or update_record. However, it lacks specificity about which field properties can be updated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as update_record or create_field. There are no prerequisites or contexts provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_recordB
Update an existing record in a table
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_name | Yes | Name of the table | |
| record_id | Yes | ID of the record to update | |
| fields | Yes | Record fields to update as key-value pairs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It only states 'Update an existing record' without disclosing what happens if the record is not found, what fields can be updated, whether partial updates are allowed, or any authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no extraneous words. However, it could potentially include more information without losing conciseness, so it's not the most efficient use of space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 required parameters, nested object) and lack of annotations or output schema, the description is too minimal. It does not explain return values, error handling, or the scope of updates, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already defines each parameter. The description adds no additional meaning beyond what the schema provides, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing record in a table' clearly states the verb (update) and resource (record in a table). It distinguishes from siblings like 'create_record' (create) and 'batch_update_records' (batch), making the tool's purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as 'batch_update_records' (for multiple records) or 'create_record' (for new records). No prerequisites or when-not-to-use hints are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_tableC
Update a table's schema
| Name | Required | Description | Default |
|---|---|---|---|
| base_id | Yes | ID of the base | |
| table_id | Yes | ID of the table to update | |
| name | No | New name for the table | |
| description | No | New description for the table |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action. It does not disclose whether updates are idempotent, require special permissions, or affect existing data. The optional parameters suggest partial updates, but this is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it could be slightly expanded to include usage context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no output schema, and no annotations, the description is insufficient for an agent to fully understand when and how to use it. Sibling tools exist but no differentiation is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter meanings are clear from the schema. The description adds no extra context beyond what is in the schema, such as constraints on name or description values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update a table's schema' clearly states the action and resource, and distinguishes from sibling tools like update_field and update_view. However, 'schema' could be misinterpreted as structural schema changes, while the parameters only allow updating name and description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like update_field or update_view. No context about prerequisites or typical use cases is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
v1.0.0- First observed
create_field - First observed
create_record - First observed
create_table - First observed
delete_record - First observed
get_record - First observed
list_bases - First observed
list_records - First observed
list_tables - First observed
search_records - First observed
update_field - First observed
update_record - First observed
update_table
TDQS
Scored across 12 tools
Every tool has a clearly distinct purpose targeting specific resources (bases, tables, fields, records) and actions (create, list, get, update, delete, search), with no ambiguity or overlap. For example, list_records and search_records are differentiated by listing all versus searching with criteria.
All tools follow a consistent verb_noun pattern using snake_case, such as create_record, list_tables, and update_field. This predictable naming scheme makes it easy for agents to understand and select the correct tool based on the intended action and resource.
With 12 tools, the server is well-scoped for managing Airtable resources, covering bases, tables, fields, and records. Each tool earns its place by providing essential CRUD and listing operations without being overly sparse or bloated.
The tool set offers complete CRUD/lifecycle coverage for the Airtable domain, including create, list, get, update, and delete operations for bases, tables, fields, and records, plus search functionality. There are no obvious gaps that would cause agent failures in typical workflows.
Maintenance
Related MCP Connectors
- mcpOAuthcom.airtable
Official Airtable MCP server — database and operations layer for agents.
Airtable MCP Pack — wraps the Airtable REST API v0
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA Model Context Protocol server that provides read and write access to Airtable databases. This server enables LLMs to inspect database schemas, then read and write records.2,607 npm456TypeScriptMIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides read and write access to Airtable databases, enabling LLMs to inspect database schemas, then read and write records.2,607 npmMIT
- AlicenseAqualityDmaintenanceA production-ready Model Context Protocol server that enables AI assistants and applications to interact with Airtable bases through a standardized interface with secure OAuth 2.0 authentication.103MIT
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server for Airtable that enables programmatic management of bases, tables, fields, and records through Claude Desktop or other MCP clients using Effect for type-safe and robust API interactions.7 npm1MIT