Releases: rashidazarang/airtable-mcp
v4.0.0 — Major Expansion
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_commentsoperation added to allow-list- PII masking applies to comment content
v3.2.7 - Security Fix & Bug Fixes
🔒 Security Fix
Fixed high-severity vulnerability (GHSA-w48q-cv73-mx4w): DNS rebinding protection in MCP SDK
- Upgraded
@modelcontextprotocol/sdkfrom 1.19.1 → 1.24.0 - Upgraded
zodfrom 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/airtable-mcp@3.2.7🤖 Generated with Claude Code
Release Summary: v3.2.1 - v3.2.4
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
textContentinstead ofinnerHTMLfor 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.tsfiles containing runtime code - ✅ Proper separation of types and implementation
- ✅ Fixed
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/airtable-mcp@3.2.4Update from Any Previous Version
npm update @rashidazarang/airtable-mcpVerify Installation
npm list @rashidazarang/airtable-mcp
# Should show: @rashidazarang/airtable-mcp@3.2.4🚀 Quick Start
JavaScript
AIRTABLE_TOKEN=your_token AIRTABLE_BASE_ID=your_base \
node node_modules/@rashidazarang/airtable-mcp/src/javascript/airtable_simple_production.jsTypeScript
# 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
- Update to v3.2.4:
npm update @rashidazarang/airtable-mcp - If using TypeScript, rebuild:
npm run build - No code changes required
From v3.1.x
- Update to v3.2.4:
npm update @rashidazarang/airtable-mcp - No changes required - security patches only
From v3.2.1-3.2.3
- Update to v3.2.4:
npm update @rashidazarang/airtable-mcp - 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 | ❌ | ✅ 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
# 🚀 Airtable MCP Server v1.6.0 Release Notes
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)
-
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
-
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
-
batch_delete_records- Delete up to 10 records in one operation- Fast bulk deletion with safety validation
- Atomic operation ensures consistency
- Detailed deletion confirmation
-
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)
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)
-
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
-
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)
-
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
-
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
-
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/airtable-mcp@1.6.0New 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 recordsdata.records:write- Create, update, delete recordsschema.bases:read- View schemas and metadataschema.bases:write- Create/modify tables, fields, views, baseswebhook: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.
# Release Notes - v1.4.0
🚀 Major Feature Release
✨ New Features
🪝 Webhook Management (5 new tools)
list_webhooks- List all webhooks in your basecreate_webhook- Create webhooks for real-time notificationsdelete_webhook- Remove webhooksget_webhook_payloads- Retrieve webhook payload historyrefresh_webhook- Extend webhook expiration time
🔧 Enhanced CRUD Operations (5 tools added since v1.2.4)
create_record- Create new records in any tableupdate_record- Update existing recordsdelete_record- Remove records from tablesget_record- Retrieve single record by IDsearch_records- Advanced filtering with Airtable formulas
📊 Complete Tool Set (12 tools total)
- list_tables - List all tables in base
- list_records - List records from table
- get_record - Get single record by ID
- create_record - Create new records
- update_record - Update existing records
- delete_record - Delete records
- search_records - Search with filters
- list_webhooks - List webhooks
- create_webhook - Create webhooks
- delete_webhook - Delete webhooks
- get_webhook_payloads - Get webhook history
- 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
-
Update package:
npm install -g @rashidazarang/airtable-mcp@latest
-
Set credentials (choose one method):
- Environment variables
- Command line arguments
- .env file
-
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
🚨 Critical Security Release - v1.2.4
🚨 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 variablestest_mcp_comprehensive.js- Now uses environment variablesairtable_simple.js- Added env variable and logging supportsmithery.yaml- Fixed to use JavaScript implementationDockerfile.node- New optimized Docker image for Node.jsSECURITY_NOTICE.md- Important security informationREADME.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
-
Update to v1.2.4:
npm install -g @rashidazarang/airtable-mcp@latest
-
Set up environment variables:
export AIRTABLE_TOKEN="your_personal_token" export AIRTABLE_BASE_ID="your_base_id"
-
Update your MCP configuration (see README for details)
-
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: 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.4Release v1.2.0: Claude & Windsurf Compatibility
This release addresses compatibility issues with Claude Desktop and Windsurf, while also improving the overall stability of the MCP.
Key Improvements
🔧 Major Fixes
-
AbortController Compatibility: Added polyfill for Node.js versions < 15.0.0
- Fixes
ReferenceError: AbortController is not definederrors - Automatically detects and applies the polyfill when needed
- Fixes
-
Enhanced JSON Parsing: Robust handling of malformed JSON configurations
- Fixes
Unexpected token 'F', "Found & ig"... is not valid JSONerrors - Adds multiple sanitization steps for JSON in both JavaScript and Python
- Supports backslash-escaped and double-quoted strings
- Fixes
-
Improved Configuration Options: Alternative ways to configure the MCP
- Added support for direct token and base ID parameters (no JSON required)
- Created reference configuration files for different platforms
🚀 New Features
-
Claude and Windsurf Examples: Added configuration templates
examples/claude_config.json: Sample configuration for Claudeexamples/windsurf_mcp_config.json: Reference config for Windsurf
-
Comprehensive Documentation:
- Updated
CLAUDE_INTEGRATION.mdwith detailed setup guides - Added troubleshooting steps for common issues
- Updated
Installation
NPM
npm install -g @rashidazarang/airtable-mcp
Direct Download
Download the tarball package: rashidazarang-airtable-mcp-1.2.0.tgz
Upgrading from v1.1.0
If you're upgrading from v1.1.0, you can simply install the new version:
npm update -g @rashidazarang/airtable-mcp
For Claude and Windsurf users, we recommend following the updated configuration instructions in CLAUDE_INTEGRATION.md.