@rashidazarang/airtable-mcp 3.1.0 โ†’ 3.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +209 -334
  2. package/bin/airtable-mcp.js +12 -32
  3. package/dist/typescript/airtable-mcp-server.js +77 -0
  4. package/dist/typescript/airtable-mcp-server.js.map +1 -0
  5. package/dist/typescript/app/airtable-client.js +327 -0
  6. package/dist/typescript/app/airtable-client.js.map +1 -0
  7. package/dist/typescript/app/config.js +151 -0
  8. package/dist/typescript/app/config.js.map +1 -0
  9. package/dist/typescript/app/context.js +3 -0
  10. package/dist/typescript/app/context.js.map +1 -0
  11. package/dist/typescript/app/exceptions.js +85 -0
  12. package/dist/typescript/app/exceptions.js.map +1 -0
  13. package/dist/typescript/app/governance.js +58 -0
  14. package/dist/typescript/app/governance.js.map +1 -0
  15. package/dist/typescript/app/logger.js +47 -0
  16. package/dist/typescript/app/logger.js.map +1 -0
  17. package/dist/typescript/app/rateLimiter.js +37 -0
  18. package/dist/typescript/app/rateLimiter.js.map +1 -0
  19. package/dist/typescript/app/sanitize.js +95 -0
  20. package/dist/typescript/app/sanitize.js.map +1 -0
  21. package/dist/typescript/app/tools/create.js +55 -0
  22. package/dist/typescript/app/tools/create.js.map +1 -0
  23. package/dist/typescript/app/tools/describe.js +190 -0
  24. package/dist/typescript/app/tools/describe.js.map +1 -0
  25. package/dist/typescript/app/tools/handleError.js +205 -0
  26. package/dist/typescript/app/tools/handleError.js.map +1 -0
  27. package/dist/typescript/app/tools/index.js +24 -0
  28. package/dist/typescript/app/tools/index.js.map +1 -0
  29. package/dist/typescript/app/tools/listBases.js +47 -0
  30. package/dist/typescript/app/tools/listBases.js.map +1 -0
  31. package/dist/typescript/app/tools/listExceptions.js +16 -0
  32. package/dist/typescript/app/tools/listExceptions.js.map +1 -0
  33. package/dist/typescript/app/tools/listGovernance.js +15 -0
  34. package/dist/typescript/app/tools/listGovernance.js.map +1 -0
  35. package/dist/typescript/app/tools/query.js +133 -0
  36. package/dist/typescript/app/tools/query.js.map +1 -0
  37. package/dist/typescript/app/tools/response.js +21 -0
  38. package/dist/typescript/app/tools/response.js.map +1 -0
  39. package/dist/typescript/app/tools/update.js +57 -0
  40. package/dist/typescript/app/tools/update.js.map +1 -0
  41. package/dist/typescript/app/tools/upsert.js +66 -0
  42. package/dist/typescript/app/tools/upsert.js.map +1 -0
  43. package/dist/typescript/app/tools/webhooks.js +45 -0
  44. package/dist/typescript/app/tools/webhooks.js.map +1 -0
  45. package/dist/typescript/app/types.js +291 -0
  46. package/dist/typescript/app/types.js.map +1 -0
  47. package/dist/typescript/app/validateApiKey.js +75 -0
  48. package/dist/typescript/app/validateApiKey.js.map +1 -0
  49. package/dist/typescript/errors.js +75 -0
  50. package/dist/typescript/errors.js.map +1 -0
  51. package/dist/typescript/index.js +27 -0
  52. package/dist/typescript/index.js.map +1 -0
  53. package/package.json +49 -31
  54. package/tsconfig.json +10 -4
  55. package/types/typescript/airtable-mcp-server.d.ts +2 -0
  56. package/types/typescript/app/airtable-client.d.ts +50 -0
  57. package/types/typescript/app/config.d.ts +17 -0
  58. package/types/typescript/app/context.d.ts +12 -0
  59. package/types/typescript/app/exceptions.d.ts +12 -0
  60. package/types/typescript/app/governance.d.ts +18 -0
  61. package/types/typescript/app/logger.d.ts +13 -0
  62. package/types/typescript/app/rateLimiter.d.ts +13 -0
  63. package/types/typescript/app/sanitize.d.ts +50 -0
  64. package/types/typescript/app/tools/create.d.ts +3 -0
  65. package/types/typescript/app/tools/describe.d.ts +3 -0
  66. package/types/typescript/app/tools/handleError.d.ts +8 -0
  67. package/types/typescript/app/tools/index.d.ts +3 -0
  68. package/types/typescript/app/tools/listBases.d.ts +13 -0
  69. package/types/typescript/app/tools/listExceptions.d.ts +3 -0
  70. package/types/typescript/app/tools/listGovernance.d.ts +3 -0
  71. package/types/typescript/app/tools/query.d.ts +3 -0
  72. package/types/typescript/app/tools/response.d.ts +20 -0
  73. package/types/typescript/app/tools/update.d.ts +3 -0
  74. package/types/typescript/app/tools/upsert.d.ts +3 -0
  75. package/types/typescript/app/tools/webhooks.d.ts +3 -0
  76. package/types/typescript/app/types.d.ts +318 -0
  77. package/types/typescript/app/validateApiKey.d.ts +25 -0
  78. package/types/typescript/errors.d.ts +57 -0
  79. package/types/typescript/index.d.ts +10 -0
  80. package/types/typescript/prompt-templates.d.ts +5 -0
  81. package/types/typescript/tools-schemas.d.ts +5 -0
  82. package/airtable_simple.js +0 -1561
  83. package/airtable_simple_production.js +0 -1564
  84. package/dist/airtable-mcp-server.js +0 -660
  85. package/dist/airtable-mcp-server.js.map +0 -1
  86. package/dist/test-suite.js +0 -421
  87. package/dist/test-suite.js.map +0 -1
  88. package/examples/airtable-crud-example.js +0 -203
  89. package/examples/building-mcp.md +0 -6666
  90. package/examples/claude_config.json +0 -4
  91. package/examples/claude_simple_config.json +0 -7
  92. package/examples/env-demo.js +0 -172
  93. package/examples/example-tasks-update.json +0 -23
  94. package/examples/example-tasks.json +0 -26
  95. package/examples/example_usage.md +0 -124
  96. package/examples/python_debug_patch.txt +0 -27
  97. package/examples/sample-transform.js +0 -76
  98. package/examples/typescript/advanced-ai-prompts.ts +0 -447
  99. package/examples/typescript/basic-usage.ts +0 -174
  100. package/examples/typescript/claude-desktop-config.json +0 -29
  101. package/examples/windsurf_mcp_config.json +0 -17
  102. package/types/ai-prompts.d.ts +0 -321
  103. package/types/airtable-mcp-server.d.ts +0 -52
  104. package/types/index.d.ts +0 -357
  105. package/types/tools.d.ts +0 -514
  106. /package/types/{test-suite.d.ts โ†’ typescript/test-suite.d.ts} +0 -0
package/README.md CHANGED
@@ -3,99 +3,51 @@
3
3
  [![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/rashidazarang/airtable-mcp)](https://archestra.ai/mcp-catalog/rashidazarang__airtable-mcp)
4
4
  [![smithery badge](https://smithery.ai/badge/@rashidazarang/airtable-mcp)](https://smithery.ai/server/@rashidazarang/airtable-mcp)
5
5
  ![Airtable](https://img.shields.io/badge/Airtable-18BFFF?style=for-the-badge&logo=Airtable&logoColor=white)
6
- [![MCP](https://img.shields.io/badge/MCP-3.1.0-blue)](https://github.com/rashidazarang/airtable-mcp)
6
+ [![MCP](https://img.shields.io/badge/MCP-3.2.6-blue)](https://github.com/rashidazarang/airtable-mcp)
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue)](https://www.typescriptlang.org/)
8
8
  [![AI Agent](https://img.shields.io/badge/AI_Agent-Enhanced-purple)](https://github.com/rashidazarang/airtable-mcp)
9
9
  [![Security](https://img.shields.io/badge/Security-Enterprise-green)](https://github.com/rashidazarang/airtable-mcp)
10
10
  [![Protocol](https://img.shields.io/badge/Protocol-2024--11--05-success)](https://modelcontextprotocol.io/)
11
11
 
12
- ๐Ÿค– **Revolutionary AI Agent v3.1.0** - Advanced AI-powered Airtable MCP server with **TypeScript support**, comprehensive intelligence capabilities, predictive analytics, and enterprise automation features.
13
-
14
- ## ๐Ÿš€ Latest: TypeScript Support v3.1.0
15
-
16
- **Enterprise-Grade Type Safety** with full backward compatibility:
17
- - ๐Ÿ”ท **TypeScript Implementation** - Complete type-safe server with strict validation
18
- - ๐Ÿ“˜ **Comprehensive Type Definitions** - All 33 tools and 10 AI prompts fully typed
19
- - ๐Ÿ›ก๏ธ **Compile-Time Safety** - Catch errors before runtime with advanced type checking
20
- - ๐ŸŽฏ **Developer Experience** - IntelliSense, auto-completion, and refactoring support
21
- - ๐Ÿ”„ **Dual Distribution** - Use with JavaScript or TypeScript, your choice
22
- - ๐Ÿ“– **Type Documentation** - Self-documenting APIs through comprehensive type definitions
23
-
24
- ## ๐Ÿค– AI Intelligence Suite
25
-
26
- **Complete AI-Powered Intelligence** with enterprise capabilities:
27
- - ๐Ÿค– **10 AI Prompt Templates** - Advanced analytics, predictions, and automation
28
- - ๐Ÿ”ฎ **Predictive Analytics** - Forecasting and trend analysis with confidence intervals
29
- - ๐Ÿ—ฃ๏ธ **Natural Language Processing** - Query your data using human language
30
- - ๐Ÿ“Š **Business Intelligence** - Automated insights and recommendations
31
- - ๐Ÿ—๏ธ **Smart Schema Design** - AI-optimized database architecture
32
- - โšก **Workflow Automation** - Intelligent process optimization
33
- - ๐Ÿ” **Data Quality Auditing** - Comprehensive quality assessment and fixes
34
- - ๐Ÿ“ˆ **Statistical Analysis** - Advanced analytics with significance testing
35
-
36
- ## โœจ Features
37
-
38
- - ๐Ÿ” **Natural Language Queries** - Ask questions about your data in plain English
39
- - ๐Ÿ“Š **Full CRUD Operations** - Create, read, update, and delete records
40
- - ๐Ÿช **Webhook Management** - Create and manage webhooks for real-time notifications
41
- - ๐Ÿ—๏ธ **Advanced Schema Management** - Create tables, fields, and manage base structure
42
- - ๐Ÿ” **Base Discovery** - Explore all accessible bases and their schemas
43
- - ๐Ÿ”ง **Field Management** - Add, modify, and remove fields programmatically
44
- - ๐Ÿ” **Secure Authentication** - Uses environment variables for credentials
45
- - ๐Ÿš€ **Easy Setup** - Multiple installation options available
46
- - โšก **Fast & Reliable** - Built with Node.js for optimal performance
47
- - ๐ŸŽฏ **33 Powerful Tools** - Complete Airtable API coverage with batch operations
48
- - ๐Ÿ“Ž **Attachment Management** - Upload files via URLs to attachment fields
49
- - โšก **Batch Operations** - Create, update, delete up to 10 records at once
50
- - ๐Ÿ‘ฅ **Collaboration Tools** - Manage base collaborators and shared views
51
- - ๐Ÿค– **AI Integration** - Prompts and sampling for intelligent data operations
52
- - ๐Ÿ” **Enterprise Security** - OAuth2, rate limiting, comprehensive validation
53
-
54
- ## ๐Ÿ“‹ Prerequisites
55
-
56
- - Node.js 14+ installed on your system
57
- - An Airtable account with a Personal Access Token
58
- - Your Airtable Base ID
12
+ A Model Context Protocol (MCP) server for Airtable with full CRUD operations, schema management, webhooks, batch operations, and AI-powered analytics.
59
13
 
60
- ## ๐Ÿš€ Quick Start
14
+ **Version 3.2.6** | MCP Protocol 2024-11-05
61
15
 
62
- ### Step 1: Get Your Airtable Credentials
16
+ ---
63
17
 
64
- 1. **Personal Access Token**: Visit [Airtable Account](https://airtable.com/account) โ†’ Create a token with the following scopes:
65
- - `data.records:read` - Read records from tables
66
- - `data.records:write` - Create, update, delete records
67
- - `schema.bases:read` - View table schemas
68
- - `schema.bases:write` - **New in v1.5.0** - Create/modify tables and fields
69
- - `webhook:manage` - (Optional) For webhook features
18
+ ## Overview
70
19
 
71
- 2. **Base ID**: Open your Airtable base and copy the ID from the URL:
72
- ```
73
- https://airtable.com/[BASE_ID]/...
74
- ```
20
+ This server provides comprehensive Airtable integration through the Model Context Protocol, enabling natural language interactions with your Airtable data. It includes 33 tools for data operations and 10 AI prompt templates for intelligent analytics.
75
21
 
76
- ### Step 2: Installation
22
+ ### Key Features
77
23
 
78
- Choose one of these installation methods:
24
+ - **Full CRUD Operations** โ€” Create, read, update, and delete records with filtering and pagination
25
+ - **Schema Management** โ€” Create and modify tables, fields, and views programmatically
26
+ - **Batch Operations** โ€” Process up to 10 records per operation for improved performance
27
+ - **Webhook Management** โ€” Set up real-time notifications for data changes
28
+ - **AI Analytics** โ€” Predictive analytics, natural language queries, and automated insights
29
+ - **Multi-Base Support** โ€” Discover and work with multiple bases dynamically
30
+ - **Type Safety** โ€” Full TypeScript support with comprehensive type definitions
79
31
 
80
- #### ๐Ÿ”ท TypeScript Users (Recommended for Development)
32
+ ---
81
33
 
82
- ```bash
83
- # Install with TypeScript support
84
- npm install -g @rashidazarang/airtable-mcp
34
+ ## Prerequisites
85
35
 
86
- # For development with types
87
- npm install --save-dev typescript @types/node
88
- ```
36
+ - Node.js 14 or later
37
+ - An Airtable account with a Personal Access Token
38
+ - Your Airtable Base ID (optionalโ€”can be discovered via the `list_bases` tool)
39
+
40
+ ---
89
41
 
90
- #### ๐Ÿ“ฆ JavaScript Users (Production Ready)
42
+ ## Installation
91
43
 
92
- **Option A: Install via NPM (Recommended)**
44
+ ### Option 1: NPM (Recommended)
93
45
 
94
46
  ```bash
95
47
  npm install -g @rashidazarang/airtable-mcp
96
48
  ```
97
49
 
98
- **Option B: Clone from GitHub**
50
+ ### Option 2: Clone from GitHub
99
51
 
100
52
  ```bash
101
53
  git clone https://github.com/rashidazarang/airtable-mcp.git
@@ -103,52 +55,37 @@ cd airtable-mcp
103
55
  npm install
104
56
  ```
105
57
 
106
- ### Step 3: Set Up Environment Variables
107
-
108
- Create a `.env` file in your project directory:
58
+ ---
109
59
 
110
- ```env
111
- AIRTABLE_TOKEN=your_personal_access_token_here
112
- AIRTABLE_BASE_ID=your_base_id_here
113
- ```
60
+ ## Configuration
114
61
 
115
- **Security Note**: Never commit `.env` files to version control!
62
+ ### Step 1: Get Your Airtable Credentials
116
63
 
117
- ### Step 4: Configure Your MCP Client
64
+ 1. **Personal Access Token**: Go to [Airtable Account Settings](https://airtable.com/account) and create a token with these scopes:
65
+ - `data.records:read` โ€” Read records
66
+ - `data.records:write` โ€” Create, update, delete records
67
+ - `schema.bases:read` โ€” View table schemas
68
+ - `schema.bases:write` โ€” Create and modify tables and fields
69
+ - `webhook:manage` โ€” Manage webhooks (optional)
118
70
 
119
- #### ๐Ÿ”ท TypeScript Configuration (Enhanced Developer Experience)
71
+ 2. **Base ID**: Open your Airtable base and copy the ID from the URL: `https://airtable.com/[BASE_ID]/...`
120
72
 
121
- Add to your Claude Desktop configuration file with TypeScript binary:
73
+ ### Step 2: Environment Variables
122
74
 
123
- **MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
124
- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`
75
+ Create a `.env` file in your project directory:
125
76
 
126
- ```json
127
- {
128
- "mcpServers": {
129
- "airtable-typescript": {
130
- "command": "npx",
131
- "args": [
132
- "@rashidazarang/airtable-mcp",
133
- "--token",
134
- "YOUR_AIRTABLE_TOKEN",
135
- "--base",
136
- "YOUR_BASE_ID"
137
- ],
138
- "env": {
139
- "NODE_ENV": "production",
140
- "LOG_LEVEL": "INFO"
141
- }
142
- }
143
- }
144
- }
77
+ ```bash
78
+ AIRTABLE_TOKEN=your_personal_access_token
79
+ AIRTABLE_BASE_ID=your_base_id # Optional in v3.2.5+
145
80
  ```
146
81
 
147
- #### ๐Ÿ“ฆ JavaScript Configuration (Standard)
82
+ > **Note**: The Base ID is optional. You can start without one and use the `list_bases` tool to discover accessible bases, or specify base IDs per tool call.
148
83
 
149
- Add to your Claude Desktop configuration file:
84
+ ### Step 3: Configure Your MCP Client
150
85
 
151
- **MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
86
+ Add to your Claude Desktop configuration:
87
+
88
+ **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
152
89
  **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
153
90
 
154
91
  ```json
@@ -156,19 +93,17 @@ Add to your Claude Desktop configuration file:
156
93
  "mcpServers": {
157
94
  "airtable": {
158
95
  "command": "npx",
159
- "args": [
160
- "@rashidazarang/airtable-mcp",
161
- "--token",
162
- "YOUR_AIRTABLE_TOKEN",
163
- "--base",
164
- "YOUR_BASE_ID"
165
- ]
96
+ "args": ["@rashidazarang/airtable-mcp"],
97
+ "env": {
98
+ "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN",
99
+ "AIRTABLE_BASE_ID": "YOUR_BASE_ID"
100
+ }
166
101
  }
167
102
  }
168
103
  }
169
104
  ```
170
105
 
171
- #### For Environment Variables (More Secure)
106
+ To start without a base ID (and discover bases dynamically):
172
107
 
173
108
  ```json
174
109
  {
@@ -177,34 +112,59 @@ Add to your Claude Desktop configuration file:
177
112
  "command": "npx",
178
113
  "args": ["@rashidazarang/airtable-mcp"],
179
114
  "env": {
180
- "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN",
181
- "AIRTABLE_BASE_ID": "YOUR_BASE_ID"
115
+ "AIRTABLE_TOKEN": "YOUR_AIRTABLE_TOKEN"
182
116
  }
183
117
  }
184
118
  }
185
119
  }
186
120
  ```
187
121
 
188
- ### Step 5: Restart Your MCP Client
122
+ ### Step 4: Restart Your MCP Client
189
123
 
190
- After configuration, restart Claude Desktop or your MCP client to load the Airtable server.
124
+ Restart Claude Desktop or your MCP client to load the server.
191
125
 
192
- ## ๐ŸŽฏ Usage Examples
126
+ ---
127
+
128
+ ## Usage
129
+
130
+ Once configured, interact with your Airtable data using natural language:
131
+
132
+ ### Basic Operations
133
+
134
+ - "List all my accessible Airtable bases"
135
+ - "Show me all records in the Projects table"
136
+ - "Create a new task with priority 'High' and due date tomorrow"
137
+ - "Update the status of task ID rec123 to 'Completed'"
138
+ - "Search for records where Status equals 'Active'"
139
+
140
+ ### Schema Management
193
141
 
194
- Once configured, you can interact with your Airtable data naturally:
142
+ - "Show me the complete schema for this base"
143
+ - "Create a new table called 'Tasks' with Name, Priority, and Due Date fields"
144
+ - "Add a Status field to the Projects table"
195
145
 
196
- ### ๐Ÿ”ท TypeScript Development
146
+ ### Batch Operations
147
+
148
+ - "Create 5 new records at once in the Tasks table"
149
+ - "Update multiple records with new status values"
150
+ - "Delete these 3 records in one operation"
151
+
152
+ ### Webhooks
153
+
154
+ - "Create a webhook for my table that notifies https://my-app.com/webhook"
155
+ - "List all active webhooks in my base"
156
+
157
+ ### TypeScript Usage
197
158
 
198
159
  ```typescript
199
- import {
200
- AirtableMCPServer,
201
- ListRecordsInput,
202
- AnalyzeDataPrompt
160
+ import {
161
+ AirtableMCPServer,
162
+ ListRecordsInput,
163
+ AnalyzeDataPrompt
203
164
  } from '@rashidazarang/airtable-mcp/types';
204
165
 
205
166
  const server = new AirtableMCPServer();
206
167
 
207
- // Type-safe data operations
208
168
  const params: ListRecordsInput = {
209
169
  table: 'Tasks',
210
170
  maxRecords: 10,
@@ -212,147 +172,109 @@ const params: ListRecordsInput = {
212
172
  };
213
173
 
214
174
  const records = await server.handleToolCall('list_records', params);
215
-
216
- // Type-safe AI analytics
217
- const analysis: AnalyzeDataPrompt = {
218
- table: 'Sales',
219
- analysis_type: 'predictive',
220
- confidence_level: 0.95
221
- };
222
-
223
- const insights = await server.handlePromptGet('analyze_data', analysis);
224
175
  ```
225
176
 
226
- ### ๐Ÿ“ฆ Natural Language Interactions
227
-
228
- **Basic Operations**
229
- ```
230
- "Show me all records in the Projects table"
231
- "Create a new task with priority 'High' and due date tomorrow"
232
- "Update the status of task ID rec123 to 'Completed'"
233
- "Delete all records where status is 'Archived'"
234
- "What tables are in my base?"
235
- "Search for records where Status equals 'Active'"
236
- ```
237
-
238
- **Webhook Operations (v1.4.0+)**
239
- ```
240
- "Create a webhook for my table that notifies https://my-app.com/webhook"
241
- "List all active webhooks in my base"
242
- "Show me the recent webhook payloads"
243
- "Delete webhook ach123xyz"
244
- ```
245
-
246
- **Schema Management (v1.5.0+)**
247
- ```
248
- "List all my accessible Airtable bases"
249
- "Show me the complete schema for this base"
250
- "Describe the Projects table with all field details"
251
- "Create a new table called 'Tasks' with Name, Priority, and Due Date fields"
252
- "Add a Status field to the existing Projects table"
253
- "What field types are available in Airtable?"
254
- ```
177
+ ---
255
178
 
256
- **Batch Operations & Attachments (v1.6.0+)**
257
- ```
258
- "Create 5 new records at once in the Tasks table"
259
- "Update multiple records with new status values"
260
- "Delete these 3 records in one operation"
261
- "Attach this image URL to the record's photo field"
262
- "Who are the collaborators on this base?"
263
- "Show me all shared views in this base"
264
- ```
179
+ ## Available Tools
265
180
 
266
- ## ๐Ÿ› ๏ธ Available Tools (33 Total)
181
+ ### Data Operations (7 tools)
267
182
 
268
- ### ๐Ÿ“Š Data Operations (7 tools)
269
183
  | Tool | Description |
270
184
  |------|-------------|
271
185
  | `list_tables` | Get all tables in your base with schema information |
272
- | `list_records` | Query records with optional filtering and pagination |
186
+ | `list_records` | Query records with filtering and pagination |
273
187
  | `get_record` | Retrieve a single record by ID |
274
188
  | `create_record` | Add new records to any table |
275
189
  | `update_record` | Modify existing record fields |
276
190
  | `delete_record` | Remove records from a table |
277
- | `search_records` | Advanced search with Airtable formulas and sorting |
191
+ | `search_records` | Advanced search with Airtable formulas |
278
192
 
279
- ### ๐Ÿช Webhook Management (5 tools)
280
- | Tool | Description |
281
- |------|-------------|
282
- | `list_webhooks` | View all webhooks configured for your base |
283
- | `create_webhook` | Set up real-time notifications for data changes |
284
- | `delete_webhook` | Remove webhook configurations |
285
- | `get_webhook_payloads` | Retrieve webhook notification history |
286
- | `refresh_webhook` | Extend webhook expiration time |
193
+ ### Schema Discovery (6 tools)
287
194
 
288
- ### ๐Ÿ” Schema Discovery (6 tools) - **New in v1.5.0**
289
195
  | Tool | Description |
290
196
  |------|-------------|
291
- | `list_bases` | List all accessible Airtable bases with permissions |
292
- | `get_base_schema` | Get complete schema information for any base |
293
- | `describe_table` | Get detailed table info including all field specifications |
294
- | `list_field_types` | Reference guide for all available Airtable field types |
295
- | `get_table_views` | List all views for a specific table with configurations |
197
+ | `list_bases` | List all accessible bases with permissions |
198
+ | `get_base_schema` | Get complete schema for any base |
199
+ | `describe_table` | Get detailed table and field specifications |
200
+ | `list_field_types` | Reference guide for available field types |
201
+ | `get_table_views` | List all views for a table |
202
+
203
+ ### Table Management (3 tools)
296
204
 
297
- ### ๐Ÿ—๏ธ Table Management (3 tools) - **New in v1.5.0**
298
205
  | Tool | Description |
299
206
  |------|-------------|
300
- | `create_table` | Create new tables with custom field definitions |
207
+ | `create_table` | Create tables with custom field definitions |
301
208
  | `update_table` | Modify table names and descriptions |
302
- | `delete_table` | Remove tables (with safety confirmation required) |
209
+ | `delete_table` | Remove tables (requires confirmation) |
210
+
211
+ ### Field Management (3 tools)
303
212
 
304
- ### ๐Ÿ”ง Field Management (3 tools) - **New in v1.5.0**
305
213
  | Tool | Description |
306
214
  |------|-------------|
307
- | `create_field` | Add new fields to existing tables with all field types |
308
- | `update_field` | Modify field properties, names, and options |
309
- | `delete_field` | Remove fields (with safety confirmation required) |
215
+ | `create_field` | Add fields to existing tables |
216
+ | `update_field` | Modify field properties and options |
217
+ | `delete_field` | Remove fields (requires confirmation) |
218
+
219
+ ### Batch Operations (4 tools)
310
220
 
311
- ### โšก Batch Operations (4 tools) - **New in v1.6.0**
312
221
  | Tool | Description |
313
222
  |------|-------------|
314
- | `batch_create_records` | Create up to 10 records at once for better performance |
223
+ | `batch_create_records` | Create up to 10 records at once |
315
224
  | `batch_update_records` | Update up to 10 records simultaneously |
316
- | `batch_delete_records` | Delete up to 10 records in a single operation |
317
- | `batch_upsert_records` | Update existing or create new records based on key fields |
225
+ | `batch_delete_records` | Delete up to 10 records in one operation |
226
+ | `batch_upsert_records` | Update or create records based on key fields |
227
+
228
+ ### Webhook Management (5 tools)
318
229
 
319
- ### ๐Ÿ“Ž Attachment Management (1 tool) - **New in v1.6.0**
320
230
  | Tool | Description |
321
231
  |------|-------------|
322
- | `upload_attachment` | Attach files from public URLs to attachment fields |
232
+ | `list_webhooks` | View all configured webhooks |
233
+ | `create_webhook` | Set up real-time notifications |
234
+ | `delete_webhook` | Remove webhook configurations |
235
+ | `get_webhook_payloads` | Retrieve notification history |
236
+ | `refresh_webhook` | Extend webhook expiration |
237
+
238
+ ### Views and Attachments (3 tools)
323
239
 
324
- ### ๐Ÿ‘๏ธ Advanced Views (2 tools) - **New in v1.6.0**
325
240
  | Tool | Description |
326
241
  |------|-------------|
327
- | `create_view` | Create new views (grid, form, calendar, etc.) with custom configurations |
328
- | `get_view_metadata` | Get detailed view information including filters and sorts |
242
+ | `create_view` | Create views (grid, form, calendar, etc.) |
243
+ | `get_view_metadata` | Get view details including filters |
244
+ | `upload_attachment` | Attach files from URLs |
245
+
246
+ ### Base Management (3 tools)
329
247
 
330
- ### ๐Ÿข Base Management (3 tools) - **New in v1.6.0**
331
248
  | Tool | Description |
332
249
  |------|-------------|
333
- | `create_base` | Create new Airtable bases with initial table structures |
334
- | `list_collaborators` | View base collaborators and their permission levels |
335
- | `list_shares` | List shared views and their public configurations |
336
-
337
- ### ๐Ÿค– AI Intelligence Suite (10 prompts) - **Revolutionary v3.0.0**
338
- | Prompt | Description | Enterprise Features |
339
- |--------|-------------|-------------------|
340
- | `analyze_data` | Advanced statistical analysis with ML insights | Confidence intervals, anomaly detection |
341
- | `create_report` | Intelligent report generation with recommendations | Multi-stakeholder customization, ROI analysis |
342
- | `data_insights` | Business intelligence and pattern discovery | Cross-table correlations, predictive indicators |
343
- | `optimize_workflow` | AI-powered automation recommendations | Change management, implementation roadmaps |
344
- | `smart_schema_design` | Database optimization with best practices | Compliance-aware (GDPR, HIPAA), scalability planning |
345
- | `data_quality_audit` | Comprehensive quality assessment and fixes | Automated remediation, governance frameworks |
346
- | `predictive_analytics` | Forecasting and trend prediction | Multiple algorithms, uncertainty quantification |
347
- | `natural_language_query` | Process human questions intelligently | Context awareness, confidence scoring |
348
- | `smart_data_transformation` | AI-assisted data processing | Quality rules, audit trails, optimization |
349
- | `automation_recommendations` | Workflow optimization suggestions | Technical feasibility, cost-benefit analysis |
350
-
351
- ## ๐Ÿ”ง Advanced Configuration
352
-
353
- ### Using with Smithery Cloud
354
-
355
- For cloud-hosted MCP servers:
250
+ | `create_base` | Create new bases with initial structure |
251
+ | `list_collaborators` | View collaborators and permissions |
252
+ | `list_shares` | List shared views and configurations |
253
+
254
+ ---
255
+
256
+ ## AI Intelligence Suite
257
+
258
+ Ten AI prompt templates for advanced analytics:
259
+
260
+ | Prompt | Description |
261
+ |--------|-------------|
262
+ | `analyze_data` | Statistical analysis with anomaly detection |
263
+ | `create_report` | Intelligent report generation |
264
+ | `data_insights` | Business intelligence and pattern discovery |
265
+ | `optimize_workflow` | Automation recommendations |
266
+ | `smart_schema_design` | Database optimization suggestions |
267
+ | `data_quality_audit` | Quality assessment and remediation |
268
+ | `predictive_analytics` | Forecasting and trend prediction |
269
+ | `natural_language_query` | Process questions with context awareness |
270
+ | `smart_data_transformation` | AI-assisted data processing |
271
+ | `automation_recommendations` | Workflow optimization with cost-benefit analysis |
272
+
273
+ ---
274
+
275
+ ## Advanced Configuration
276
+
277
+ ### Smithery Cloud
356
278
 
357
279
  ```json
358
280
  {
@@ -363,10 +285,8 @@ For cloud-hosted MCP servers:
363
285
  "@smithery/cli",
364
286
  "run",
365
287
  "@rashidazarang/airtable-mcp",
366
- "--token",
367
- "YOUR_TOKEN",
368
- "--base",
369
- "YOUR_BASE_ID"
288
+ "--token", "YOUR_TOKEN",
289
+ "--base", "YOUR_BASE_ID"
370
290
  ]
371
291
  }
372
292
  }
@@ -375,8 +295,6 @@ For cloud-hosted MCP servers:
375
295
 
376
296
  ### Direct Node.js Execution
377
297
 
378
- If you cloned the repository:
379
-
380
298
  ```json
381
299
  {
382
300
  "mcpServers": {
@@ -384,144 +302,101 @@ If you cloned the repository:
384
302
  "command": "node",
385
303
  "args": [
386
304
  "/path/to/airtable-mcp/airtable_simple.js",
387
- "--token",
388
- "YOUR_TOKEN",
389
- "--base",
390
- "YOUR_BASE_ID"
305
+ "--token", "YOUR_TOKEN",
306
+ "--base", "YOUR_BASE_ID"
391
307
  ]
392
308
  }
393
309
  }
394
310
  }
395
311
  ```
396
312
 
397
- ## ๐Ÿงช Testing
313
+ ---
398
314
 
399
- ### ๐Ÿ”ท TypeScript Testing
315
+ ## Testing
400
316
 
401
- Run the comprehensive TypeScript test suite:
317
+ ### TypeScript
402
318
 
403
319
  ```bash
404
- # Install dependencies first
405
320
  npm install
406
-
407
- # Run TypeScript type checking
408
- npm run test:types
409
-
410
- # Run full TypeScript test suite
411
- npm run test:ts
412
-
413
- # Build and test TypeScript server
414
- npm run build
415
- npm run start:ts
321
+ npm run test:types # Type checking
322
+ npm run test:ts # Full test suite
323
+ npm run build && npm run start:ts
416
324
  ```
417
325
 
418
- ### ๐Ÿ“ฆ JavaScript Testing
419
-
420
- Run the comprehensive test suite to verify all 33 tools:
326
+ ### JavaScript
421
327
 
422
328
  ```bash
423
- # Set environment variables first
424
329
  export AIRTABLE_TOKEN=your_token
425
330
  export AIRTABLE_BASE_ID=your_base_id
426
-
427
- # Start the server
428
331
  node airtable_simple.js &
429
-
430
- # Run comprehensive tests (v1.6.0+)
431
332
  ./test_v1.6.0_comprehensive.sh
432
333
  ```
433
334
 
434
- The TypeScript test suite validates:
435
- - **Type Safety**: Compile-time validation of all interfaces
436
- - **Enterprise Testing**: 33 tools with strict type checking
437
- - **AI Prompt Validation**: All 10 AI templates with proper typing
438
- - **Error Handling**: Type-safe error management
439
- - **Performance**: Concurrent operations with type safety
440
- - **Integration**: Full MCP protocol compliance
441
-
442
- The JavaScript test suite validates:
443
- - All 33 tools with real API calls
444
- - Complete CRUD operations
445
- - Advanced schema management
446
- - Batch operations (create/update/delete multiple records)
447
- - Attachment management via URLs
448
- - Advanced view creation and metadata
449
- - Base management and collaboration tools
450
- - Webhook management
451
- - Error handling and edge cases
452
- - Security verification
453
- - 100% test coverage
454
-
455
- ## ๐Ÿ› Troubleshooting
456
-
457
- ### "Connection Refused" Error
458
- - Ensure the MCP server is running
459
- - Check that port 8010 is not blocked
335
+ ---
336
+
337
+ ## Troubleshooting
338
+
339
+ **Connection Refused**
340
+ - Verify the MCP server is running
341
+ - Check that port 8010 is available
460
342
  - Restart your MCP client
461
343
 
462
- ### "Invalid Token" Error
344
+ **Invalid Token**
463
345
  - Verify your Personal Access Token is correct
464
- - Check that the token has the required scopes
465
- - Ensure no extra spaces in your credentials
346
+ - Confirm the token has the required scopes
347
+ - Check for extra whitespace in credentials
466
348
 
467
- ### "Base Not Found" Error
349
+ **Base Not Found**
468
350
  - Confirm your Base ID is correct
469
- - Check that your token has access to the base
351
+ - Verify your token has access to the base
470
352
 
471
- ### Port Conflicts
472
- If port 8010 is in use:
353
+ **Port Conflicts**
473
354
  ```bash
474
355
  lsof -ti:8010 | xargs kill -9
475
356
  ```
476
357
 
477
- ## ๐Ÿ“š Documentation
478
-
479
- ### ๐Ÿ”ท TypeScript Documentation
480
- - ๐Ÿ“˜ [TypeScript Examples](./examples/typescript/) - Complete type-safe usage examples
481
- - ๐Ÿ—๏ธ [Type Definitions](./types/) - Comprehensive type definitions for all features
482
- - ๐Ÿงช [TypeScript Testing](./src/test-suite.ts) - Enterprise-grade testing framework
358
+ ---
483
359
 
484
- ### ๐Ÿ“ฆ General Documentation
485
- - ๐ŸŽ† [Release Notes v3.1.0](./RELEASE_NOTES_v3.1.0.md) - **Latest TypeScript release**
486
- - [Release Notes v1.6.0](./RELEASE_NOTES_v1.6.0.md) - Major feature release
487
- - [Release Notes v1.5.0](./RELEASE_NOTES_v1.5.0.md)
488
- - [Release Notes v1.4.0](./RELEASE_NOTES_v1.4.0.md)
489
- - [Detailed Setup Guide](./CLAUDE_INTEGRATION.md)
490
- - [Development Guide](./DEVELOPMENT.md)
491
- - [Security Notice](./SECURITY_NOTICE.md)
360
+ ## Project Structure
492
361
 
493
- ## ๐Ÿ“ฆ Version History
362
+ ```
363
+ airtable-mcp/
364
+ โ”œโ”€โ”€ src/
365
+ โ”‚ โ”œโ”€โ”€ typescript/ # TypeScript implementation (primary)
366
+ โ”‚ โ””โ”€โ”€ javascript/ # JavaScript implementation
367
+ โ”œโ”€โ”€ dist/ # Compiled output
368
+ โ”œโ”€โ”€ docs/ # Documentation
369
+ โ”œโ”€โ”€ tests/ # Test files
370
+ โ”œโ”€โ”€ examples/ # Usage examples
371
+ โ”œโ”€โ”€ types/ # TypeScript definitions
372
+ โ””โ”€โ”€ bin/ # CLI executables
373
+ ```
494
374
 
495
- - **v3.1.0** (2025-08-16) - ๐Ÿ”ท **TypeScript Support**: Enterprise-grade type safety, comprehensive type definitions, dual JS/TS distribution
496
- - **v3.0.0** (2025-08-16) - ๐Ÿค– **Revolutionary AI Agent**: 10 intelligent prompts, predictive analytics, natural language processing
497
- - **v2.2.3** (2025-08-16) - ๐Ÿ”’ **Security release**: Final XSS vulnerability fixes and enhanced validation
498
- - **v2.2.0** (2025-08-16) - ๐Ÿ† **Major release**: Complete MCP 2024-11-05 protocol implementation
499
- - **v1.6.0** (2025-08-15) - ๐ŸŽ† **Major release**: Added batch operations & attachment management (33 total tools)
500
- - **v1.5.0** (2025-08-15) - Added comprehensive schema management (23 total tools)
501
- - **v1.4.0** (2025-08-14) - Added webhook support and enhanced CRUD operations (12 tools)
502
- - **v1.2.4** (2025-08-12) - Security fixes and stability improvements
503
- - **v1.2.3** (2025-08-11) - Bug fixes and error handling
504
- - **v1.2.2** (2025-08-10) - Initial stable release
375
+ ---
505
376
 
506
- ## ๐Ÿค Contributing
377
+ ## Documentation
507
378
 
508
- Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
379
+ - [Installation Guide](docs/guides/INSTALLATION.md)
380
+ - [Quick Start](docs/guides/QUICK_START.md)
381
+ - [Type Definitions](types/)
382
+ - [Release Notes](docs/releases/)
383
+ - [Changelog](docs/CHANGELOG.md)
509
384
 
510
- ## ๐Ÿ“„ License
385
+ ---
511
386
 
512
- MIT License - see [LICENSE](./LICENSE) file for details
387
+ ## Contributing
513
388
 
514
- ## ๐Ÿ™ Acknowledgments
389
+ Contributions are welcome. Please open an issue first to discuss major changes.
515
390
 
516
- - Built for the [Model Context Protocol](https://modelcontextprotocol.io/)
517
- - Powered by [Airtable API](https://airtable.com/developers/web/api/introduction)
518
- - Compatible with [Claude Desktop](https://claude.ai/) and other MCP clients
391
+ ---
519
392
 
520
- ## ๐Ÿ“ฎ Support
393
+ ## License
521
394
 
522
- - **Issues**: [GitHub Issues](https://github.com/rashidazarang/airtable-mcp/issues)
523
- - **Discussions**: [GitHub Discussions](https://github.com/rashidazarang/airtable-mcp/discussions)
395
+ MIT License โ€” see [LICENSE](LICENSE) for details.
524
396
 
525
397
  ---
526
398
 
527
- **Version**: 3.1.0 | **Status**: ๐Ÿ”ท TypeScript + ๐Ÿค– AI Agent | **MCP Protocol**: 2024-11-05 Complete | **Type Safety**: Enterprise-Grade | **Intelligence**: 10 AI Prompts | **Last Updated**: August 16, 2025
399
+ ## Support
400
+
401
+ - [GitHub Issues](https://github.com/rashidazarang/airtable-mcp/issues)
402
+ - [GitHub Discussions](https://github.com/rashidazarang/airtable-mcp/discussions)