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