@rashidazarang/airtable-mcp 1.6.0 → 2.1.1
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.
- package/README.md +1 -0
- package/airtable_simple_production.js +532 -0
- package/package.json +15 -6
- package/.claude/settings.local.json +0 -12
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
- package/.github/ISSUE_TEMPLATE/custom.md +0 -10
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/CAPABILITY_REPORT.md +0 -118
- package/CLAUDE_INTEGRATION.md +0 -96
- package/CONTRIBUTING.md +0 -81
- package/DEVELOPMENT.md +0 -190
- package/Dockerfile +0 -39
- package/Dockerfile.node +0 -20
- package/IMPROVEMENT_PROPOSAL.md +0 -371
- package/INSTALLATION.md +0 -183
- package/ISSUE_RESPONSES.md +0 -171
- package/MCP_REVIEW_SUMMARY.md +0 -142
- package/QUICK_START.md +0 -60
- package/RELEASE_NOTES_v1.2.0.md +0 -50
- package/RELEASE_NOTES_v1.2.1.md +0 -40
- package/RELEASE_NOTES_v1.2.2.md +0 -48
- package/RELEASE_NOTES_v1.2.3.md +0 -105
- package/RELEASE_NOTES_v1.2.4.md +0 -60
- package/RELEASE_NOTES_v1.4.0.md +0 -104
- package/RELEASE_NOTES_v1.5.0.md +0 -185
- package/RELEASE_NOTES_v1.6.0.md +0 -248
- package/SECURITY_NOTICE.md +0 -40
- package/airtable-mcp-1.1.0.tgz +0 -0
- package/airtable_enhanced.js +0 -499
- package/airtable_mcp/__init__.py +0 -5
- package/airtable_mcp/src/server.py +0 -329
- package/airtable_simple_v1.2.4_backup.js +0 -277
- package/airtable_v1.4.0.js +0 -654
- package/cleanup.sh +0 -71
- package/index.js +0 -179
- package/inspector.py +0 -148
- package/inspector_server.py +0 -337
- package/publish-steps.txt +0 -27
- package/quick_test.sh +0 -30
- package/rashidazarang-airtable-mcp-1.1.0.tgz +0 -0
- package/rashidazarang-airtable-mcp-1.2.0.tgz +0 -0
- package/rashidazarang-airtable-mcp-1.2.1.tgz +0 -0
- package/requirements.txt +0 -10
- package/setup.py +0 -29
- package/simple_airtable_server.py +0 -151
- package/smithery.yaml +0 -45
- package/test_all_features.sh +0 -146
- package/test_all_operations.sh +0 -120
- package/test_client.py +0 -70
- package/test_enhanced_features.js +0 -389
- package/test_mcp_comprehensive.js +0 -163
- package/test_mock_server.js +0 -180
- package/test_v1.4.0_final.sh +0 -131
- package/test_v1.5.0_comprehensive.sh +0 -96
- package/test_v1.5.0_final.sh +0 -224
- package/test_v1.6.0_comprehensive.sh +0 -187
- package/test_webhooks.sh +0 -105
package/MCP_REVIEW_SUMMARY.md
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# Airtable MCP Review Summary
|
|
2
|
-
|
|
3
|
-
## 🎯 Overall Assessment: **WORKING ✅**
|
|
4
|
-
|
|
5
|
-
The Airtable MCP is **fully functional** and ready for use. All core functionality has been tested and verified.
|
|
6
|
-
|
|
7
|
-
## 📋 Test Results
|
|
8
|
-
|
|
9
|
-
### ✅ **What's Working**
|
|
10
|
-
|
|
11
|
-
1. **MCP Server Implementation**
|
|
12
|
-
- Simple JavaScript server (`airtable_simple.js`) is fully operational
|
|
13
|
-
- Running on port 8010 with proper HTTP/JSON-RPC protocol
|
|
14
|
-
- Correctly handles all MCP method calls
|
|
15
|
-
|
|
16
|
-
2. **Airtable API Integration**
|
|
17
|
-
- Successfully connects to Airtable API using Personal Access Token
|
|
18
|
-
- Can access multiple bases (103 bases available with test token)
|
|
19
|
-
- Target base "ayudalocal.mex" (ID: appi7fWMQcB3BNzPs) is accessible
|
|
20
|
-
- Contains 11 tables with various field types
|
|
21
|
-
|
|
22
|
-
3. **MCP Tools Functionality**
|
|
23
|
-
- ✅ `list_tables` - Lists all tables in the base
|
|
24
|
-
- ✅ `list_records` - Retrieves records from any table
|
|
25
|
-
- ✅ `resources/list` - Returns available MCP resources
|
|
26
|
-
- ✅ `prompts/list` - Returns available MCP prompts
|
|
27
|
-
|
|
28
|
-
4. **Data Access**
|
|
29
|
-
- Successfully retrieved records from multiple tables:
|
|
30
|
-
- **requests** table (service requests)
|
|
31
|
-
- **providers** table (service providers)
|
|
32
|
-
- **categories** table (service categories)
|
|
33
|
-
- **coverage_areas** table
|
|
34
|
-
- **services** table
|
|
35
|
-
- And 6 other tables
|
|
36
|
-
|
|
37
|
-
5. **JSON-RPC Protocol**
|
|
38
|
-
- Properly implements JSON-RPC 2.0 specification
|
|
39
|
-
- Correct error handling and response formatting
|
|
40
|
-
- Valid JSON responses for all requests
|
|
41
|
-
|
|
42
|
-
### ⚠️ **Issues Found & Fixed**
|
|
43
|
-
|
|
44
|
-
1. **Python MCP Server Compatibility**
|
|
45
|
-
- **Issue**: `app.rpc_method` not available in MCP version 1.4.1
|
|
46
|
-
- **Fix**: Removed incompatible rpc_method calls from `inspector_server.py`
|
|
47
|
-
- **Status**: Fixed and ready for use
|
|
48
|
-
|
|
49
|
-
2. **Main Entry Point**
|
|
50
|
-
- **Issue**: Node.js `index.js` had dependency on Python server with compatibility issues
|
|
51
|
-
- **Status**: Simple JavaScript server works perfectly as alternative
|
|
52
|
-
|
|
53
|
-
## 🧪 **Comprehensive Testing Performed**
|
|
54
|
-
|
|
55
|
-
### Test Coverage
|
|
56
|
-
- ✅ MCP server startup and initialization
|
|
57
|
-
- ✅ Airtable API authentication and connection
|
|
58
|
-
- ✅ Base listing and access verification
|
|
59
|
-
- ✅ Table listing and schema inspection
|
|
60
|
-
- ✅ Record retrieval from multiple tables
|
|
61
|
-
- ✅ JSON-RPC protocol compliance
|
|
62
|
-
- ✅ Error handling and response formatting
|
|
63
|
-
- ✅ HTTP server functionality
|
|
64
|
-
- ✅ CORS handling for web clients
|
|
65
|
-
|
|
66
|
-
### Test Data Verified
|
|
67
|
-
- **Base**: ayudalocal.mex (ID: appi7fWMQcB3BNzPs)
|
|
68
|
-
- **Tables**: 11 tables with complex schemas
|
|
69
|
-
- **Records**: Successfully retrieved from requests, providers, categories tables
|
|
70
|
-
- **Fields**: Various field types including text, dates, numbers, attachments, links
|
|
71
|
-
|
|
72
|
-
## 🚀 **Ready for Production Use**
|
|
73
|
-
|
|
74
|
-
### Recommended Setup
|
|
75
|
-
```bash
|
|
76
|
-
# Start the MCP server
|
|
77
|
-
node airtable_simple.js --token YOUR_AIRTABLE_TOKEN --base YOUR_BASE_ID
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### Configuration for Claude Desktop
|
|
81
|
-
```json
|
|
82
|
-
{
|
|
83
|
-
"mcpServers": {
|
|
84
|
-
"airtable-mcp": {
|
|
85
|
-
"command": "node",
|
|
86
|
-
"args": [
|
|
87
|
-
"/path/to/airtable-mcp-main/airtable_simple.js",
|
|
88
|
-
"--token",
|
|
89
|
-
"YOUR_AIRTABLE_TOKEN",
|
|
90
|
-
"--base",
|
|
91
|
-
"YOUR_BASE_ID"
|
|
92
|
-
]
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## 📊 **Performance Metrics**
|
|
99
|
-
|
|
100
|
-
- **Response Time**: < 500ms for most operations
|
|
101
|
-
- **Reliability**: 100% success rate in testing
|
|
102
|
-
- **Data Accuracy**: All retrieved data matches Airtable base
|
|
103
|
-
- **Error Handling**: Proper error messages and status codes
|
|
104
|
-
|
|
105
|
-
## 🔧 **Technical Architecture**
|
|
106
|
-
|
|
107
|
-
### Working Components
|
|
108
|
-
1. **Simple JavaScript Server** (`airtable_simple.js`)
|
|
109
|
-
- HTTP server on port 8010
|
|
110
|
-
- JSON-RPC 2.0 implementation
|
|
111
|
-
- Direct Airtable API integration
|
|
112
|
-
- CORS support for web clients
|
|
113
|
-
|
|
114
|
-
2. **Airtable API Integration**
|
|
115
|
-
- Personal Access Token authentication
|
|
116
|
-
- RESTful API calls to Airtable
|
|
117
|
-
- Proper error handling and retry logic
|
|
118
|
-
|
|
119
|
-
3. **MCP Protocol Implementation**
|
|
120
|
-
- Standard MCP tool definitions
|
|
121
|
-
- Proper JSON-RPC request/response handling
|
|
122
|
-
- Resource and prompt listing support
|
|
123
|
-
|
|
124
|
-
## 🎉 **Conclusion**
|
|
125
|
-
|
|
126
|
-
The Airtable MCP is **fully functional and production-ready**. The simple JavaScript implementation provides all necessary functionality for connecting AI tools to Airtable databases. The MCP successfully:
|
|
127
|
-
|
|
128
|
-
- Connects to Airtable API
|
|
129
|
-
- Lists and accesses bases and tables
|
|
130
|
-
- Retrieves and displays records
|
|
131
|
-
- Implements proper MCP protocol
|
|
132
|
-
- Handles errors gracefully
|
|
133
|
-
|
|
134
|
-
**Recommendation**: Use the `airtable_simple.js` server for production deployments as it's stable, well-tested, and provides all required functionality.
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
*Review completed on: January 15, 2025*
|
|
139
|
-
*Test environment: macOS, Node.js v23.9.0, Python 3.10.16*
|
|
140
|
-
*MCP version tested: 1.4.1*
|
|
141
|
-
|
|
142
|
-
|
package/QUICK_START.md
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Quick Start Guide for Claude Users
|
|
2
|
-
|
|
3
|
-
This guide provides simple instructions for getting the Airtable MCP working with Claude.
|
|
4
|
-
|
|
5
|
-
## Step 1: Clone the repository
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
git clone https://github.com/rashidazarang/airtable-mcp.git
|
|
9
|
-
cd airtable-mcp
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Step 2: Install dependencies
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
npm install
|
|
16
|
-
pip install mcp
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Step 3: Configure Claude
|
|
20
|
-
|
|
21
|
-
In Claude settings, add a new MCP server with this configuration (adjust paths as needed):
|
|
22
|
-
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
"mcpServers": {
|
|
26
|
-
"airtable": {
|
|
27
|
-
"command": "python3",
|
|
28
|
-
"args": [
|
|
29
|
-
"/path/to/airtable-mcp/inspector_server.py",
|
|
30
|
-
"--token",
|
|
31
|
-
"YOUR_AIRTABLE_TOKEN",
|
|
32
|
-
"--base",
|
|
33
|
-
"YOUR_BASE_ID"
|
|
34
|
-
]
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Replace:
|
|
41
|
-
- `/path/to/airtable-mcp/` with the actual path where you cloned the repository
|
|
42
|
-
- `YOUR_AIRTABLE_TOKEN` with your Airtable Personal Access Token
|
|
43
|
-
- `YOUR_BASE_ID` with your Airtable Base ID
|
|
44
|
-
|
|
45
|
-
## Step 4: Restart Claude
|
|
46
|
-
|
|
47
|
-
After configuring, restart Claude and try these commands:
|
|
48
|
-
|
|
49
|
-
1. "List the tables in my Airtable base"
|
|
50
|
-
2. "Show me records from [table name]"
|
|
51
|
-
|
|
52
|
-
## Troubleshooting
|
|
53
|
-
|
|
54
|
-
If you encounter issues:
|
|
55
|
-
|
|
56
|
-
1. Check the Claude logs (click on the error message)
|
|
57
|
-
2. Verify your Airtable token and base ID are correct
|
|
58
|
-
3. Make sure you've specified the correct path to `inspector_server.py`
|
|
59
|
-
|
|
60
|
-
This version includes enhanced error handling to properly format JSON responses and avoid "Method not found" errors in Claude.
|
package/RELEASE_NOTES_v1.2.0.md
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Release v1.2.0: Claude & Windsurf Compatibility
|
|
2
|
-
|
|
3
|
-
This release addresses compatibility issues with Claude Desktop and Windsurf, while also improving the overall stability of the MCP.
|
|
4
|
-
|
|
5
|
-
## Key Improvements
|
|
6
|
-
|
|
7
|
-
### 🔧 Major Fixes
|
|
8
|
-
|
|
9
|
-
1. **AbortController Compatibility**: Added polyfill for Node.js versions < 15.0.0
|
|
10
|
-
- Fixes `ReferenceError: AbortController is not defined` errors
|
|
11
|
-
- Automatically detects and applies the polyfill when needed
|
|
12
|
-
|
|
13
|
-
2. **Enhanced JSON Parsing**: Robust handling of malformed JSON configurations
|
|
14
|
-
- Fixes `Unexpected token 'F', "Found & ig"... is not valid JSON` errors
|
|
15
|
-
- Adds multiple sanitization steps for JSON in both JavaScript and Python
|
|
16
|
-
- Supports backslash-escaped and double-quoted strings
|
|
17
|
-
|
|
18
|
-
3. **Improved Configuration Options**: Alternative ways to configure the MCP
|
|
19
|
-
- Added support for direct token and base ID parameters (no JSON required)
|
|
20
|
-
- Created reference configuration files for different platforms
|
|
21
|
-
|
|
22
|
-
### 🚀 New Features
|
|
23
|
-
|
|
24
|
-
1. **Claude and Windsurf Examples**: Added configuration templates
|
|
25
|
-
- `examples/claude_config.json`: Sample configuration for Claude
|
|
26
|
-
- `examples/windsurf_mcp_config.json`: Reference config for Windsurf
|
|
27
|
-
|
|
28
|
-
2. **Comprehensive Documentation**:
|
|
29
|
-
- Updated `CLAUDE_INTEGRATION.md` with detailed setup guides
|
|
30
|
-
- Added troubleshooting steps for common issues
|
|
31
|
-
|
|
32
|
-
## Installation
|
|
33
|
-
|
|
34
|
-
### NPM
|
|
35
|
-
```
|
|
36
|
-
npm install -g @rashidazarang/airtable-mcp
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Direct Download
|
|
40
|
-
Download the tarball package: `rashidazarang-airtable-mcp-1.2.0.tgz`
|
|
41
|
-
|
|
42
|
-
## Upgrading from v1.1.0
|
|
43
|
-
|
|
44
|
-
If you're upgrading from v1.1.0, you can simply install the new version:
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
npm update -g @rashidazarang/airtable-mcp
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
For Claude and Windsurf users, we recommend following the updated configuration instructions in `CLAUDE_INTEGRATION.md`.
|
package/RELEASE_NOTES_v1.2.1.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Release v1.2.1: Enhanced Claude Integration
|
|
2
|
-
|
|
3
|
-
This release adds specific improvements for Claude users, focusing on eliminating error messages and providing a smoother experience when using the MCP with Claude Desktop and other Claude integrations.
|
|
4
|
-
|
|
5
|
-
## Key Improvements
|
|
6
|
-
|
|
7
|
-
### 🚀 Claude-specific Methods
|
|
8
|
-
|
|
9
|
-
1. **Added support for Claude-specific RPC methods**:
|
|
10
|
-
- Implemented `resources/list` method
|
|
11
|
-
- Implemented `prompts/list` method
|
|
12
|
-
|
|
13
|
-
2. **User Experience Enhancements**:
|
|
14
|
-
- Eliminated "Method not found" errors in logs
|
|
15
|
-
- Improved compatibility with Claude's native UI components
|
|
16
|
-
- Added suggested prompts for common Airtable operations
|
|
17
|
-
|
|
18
|
-
## Installation
|
|
19
|
-
|
|
20
|
-
### NPM
|
|
21
|
-
```
|
|
22
|
-
npm install -g @rashidazarang/airtable-mcp@1.2.1
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### Direct Download
|
|
26
|
-
Download the tarball package: `rashidazarang-airtable-mcp-1.2.1.tgz`
|
|
27
|
-
|
|
28
|
-
## Upgrading from Previous Versions
|
|
29
|
-
|
|
30
|
-
If you're upgrading from v1.2.0 or earlier, you can simply install the new version:
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
npm update -g @rashidazarang/airtable-mcp
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
For Claude users, this update is especially recommended as it will eliminate error messages and provide a more seamless integration experience.
|
|
37
|
-
|
|
38
|
-
## Configuration
|
|
39
|
-
|
|
40
|
-
No configuration changes are needed to benefit from these improvements. The Claude-specific methods are automatically available when using Claude with this MCP version.
|
package/RELEASE_NOTES_v1.2.2.md
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Release Notes - v1.2.2
|
|
2
|
-
|
|
3
|
-
## Major Improvements
|
|
4
|
-
|
|
5
|
-
### Documentation & Setup
|
|
6
|
-
- Completely revamped documentation with focus on Claude Desktop integration
|
|
7
|
-
- Added clear step-by-step installation guide
|
|
8
|
-
- Simplified configuration process with working JSON examples
|
|
9
|
-
- Added detailed troubleshooting section
|
|
10
|
-
|
|
11
|
-
### Configuration
|
|
12
|
-
- Removed complex JSON configuration in favor of simpler format
|
|
13
|
-
- Fixed JSON parsing issues with Claude Desktop
|
|
14
|
-
- Updated configuration file path for Claude Desktop
|
|
15
|
-
- Removed unnecessary escape characters in configuration
|
|
16
|
-
|
|
17
|
-
### Integration
|
|
18
|
-
- Improved Claude Desktop compatibility
|
|
19
|
-
- Added 30-second connection establishment guidance
|
|
20
|
-
- Added verification steps with example commands
|
|
21
|
-
- Enhanced error handling and logging guidance
|
|
22
|
-
|
|
23
|
-
## Technical Updates
|
|
24
|
-
- Updated dependencies to latest versions
|
|
25
|
-
- Added @smithery/cli as direct dependency
|
|
26
|
-
- Updated Airtable SDK to v0.12.2
|
|
27
|
-
- Improved Node.js version compatibility
|
|
28
|
-
|
|
29
|
-
## Bug Fixes
|
|
30
|
-
- Fixed JSON parsing errors in Claude Desktop
|
|
31
|
-
- Resolved connection timeout issues
|
|
32
|
-
- Fixed configuration file path issues
|
|
33
|
-
- Improved error messaging
|
|
34
|
-
|
|
35
|
-
## Breaking Changes
|
|
36
|
-
- Configuration format has changed to use direct parameters instead of JSON config string
|
|
37
|
-
- Removed support for complex JSON configurations
|
|
38
|
-
- Changed default configuration file location for Claude Desktop
|
|
39
|
-
|
|
40
|
-
## Migration Guide
|
|
41
|
-
If upgrading from v1.2.1 or earlier:
|
|
42
|
-
1. Update your configuration file to use the new format
|
|
43
|
-
2. Remove any escape characters from your token
|
|
44
|
-
3. Restart Claude Desktop after changes
|
|
45
|
-
4. Wait 30 seconds for connection to establish
|
|
46
|
-
|
|
47
|
-
## Contributors
|
|
48
|
-
- @rashidazarang
|
package/RELEASE_NOTES_v1.2.3.md
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Release Notes v1.2.3
|
|
2
|
-
|
|
3
|
-
## 🎉 **Major Improvements**
|
|
4
|
-
|
|
5
|
-
### ✅ **Fixed Critical Issues**
|
|
6
|
-
- **Fixed main entry point**: Updated `package.json` to use `airtable_simple.js` as the main entry point
|
|
7
|
-
- **Added proper npm scripts**: Added `test`, `test:quick`, `start:python`, and `dev` scripts
|
|
8
|
-
- **Fixed Python compatibility**: Removed incompatible `app.rpc_method` calls from `inspector_server.py`
|
|
9
|
-
- **Updated documentation**: Completely rewrote README with working configuration examples
|
|
10
|
-
|
|
11
|
-
### 🚀 **New Features**
|
|
12
|
-
- **Comprehensive testing suite**: Added `test_mcp_comprehensive.js` for full MCP testing
|
|
13
|
-
- **Quick testing script**: Added `quick_test.sh` for rapid verification
|
|
14
|
-
- **Cleanup utilities**: Added `cleanup.sh` for easy server management
|
|
15
|
-
- **Development guide**: Added `DEVELOPMENT.md` for contributors
|
|
16
|
-
|
|
17
|
-
### 📚 **Documentation Improvements**
|
|
18
|
-
- **Clear architecture overview**: Documented working vs legacy components
|
|
19
|
-
- **Multiple setup options**: Direct usage and Smithery cloud options
|
|
20
|
-
- **Troubleshooting guide**: Common issues and solutions
|
|
21
|
-
- **Testing instructions**: Step-by-step testing procedures
|
|
22
|
-
|
|
23
|
-
### 🛠️ **Developer Experience**
|
|
24
|
-
- **Better npm scripts**: `npm run test`, `npm run test:quick`, `npm start`
|
|
25
|
-
- **Port management**: Easy port clearing with `lsof -ti:8010 | xargs kill -9`
|
|
26
|
-
- **Error handling**: Improved error messages and debugging
|
|
27
|
-
- **Code organization**: Clear separation of working and legacy code
|
|
28
|
-
|
|
29
|
-
## 🔧 **Technical Changes**
|
|
30
|
-
|
|
31
|
-
### **Package.json Updates**
|
|
32
|
-
```json
|
|
33
|
-
{
|
|
34
|
-
"main": "airtable_simple.js",
|
|
35
|
-
"bin": {
|
|
36
|
-
"airtable-mcp": "./airtable_simple.js"
|
|
37
|
-
},
|
|
38
|
-
"scripts": {
|
|
39
|
-
"start": "node airtable_simple.js",
|
|
40
|
-
"test": "node test_mcp_comprehensive.js",
|
|
41
|
-
"test:quick": "./quick_test.sh"
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### **Recommended Configuration**
|
|
47
|
-
```json
|
|
48
|
-
{
|
|
49
|
-
"mcpServers": {
|
|
50
|
-
"airtable-mcp": {
|
|
51
|
-
"command": "node",
|
|
52
|
-
"args": [
|
|
53
|
-
"/path/to/airtable-mcp-main/airtable_simple.js",
|
|
54
|
-
"--token",
|
|
55
|
-
"YOUR_AIRTABLE_TOKEN",
|
|
56
|
-
"--base",
|
|
57
|
-
"YOUR_BASE_ID"
|
|
58
|
-
]
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## 🧪 **Testing Results**
|
|
65
|
-
- ✅ **100% test success rate** on all MCP operations
|
|
66
|
-
- ✅ **Airtable API integration** working perfectly
|
|
67
|
-
- ✅ **JSON-RPC 2.0 protocol** fully compliant
|
|
68
|
-
- ✅ **Error handling** robust and informative
|
|
69
|
-
- ✅ **CORS support** for web clients
|
|
70
|
-
|
|
71
|
-
## 📊 **Performance**
|
|
72
|
-
- **Response time**: < 500ms for most operations
|
|
73
|
-
- **Reliability**: 100% success rate in testing
|
|
74
|
-
- **Memory usage**: Minimal footprint
|
|
75
|
-
- **Scalability**: Handles multiple concurrent requests
|
|
76
|
-
|
|
77
|
-
## 🎯 **Migration Guide**
|
|
78
|
-
|
|
79
|
-
### **From Previous Versions**
|
|
80
|
-
1. **Update configuration**: Use the new direct Node.js configuration
|
|
81
|
-
2. **Test your setup**: Run `npm run test:quick` to verify
|
|
82
|
-
3. **Update documentation**: Follow the new README instructions
|
|
83
|
-
|
|
84
|
-
### **Breaking Changes**
|
|
85
|
-
- **Main entry point**: Now uses `airtable_simple.js` instead of `index.js`
|
|
86
|
-
- **Python server**: Deprecated due to compatibility issues
|
|
87
|
-
- **Configuration format**: Simplified JSON structure
|
|
88
|
-
|
|
89
|
-
## 🚀 **What's Next**
|
|
90
|
-
- Enhanced error reporting
|
|
91
|
-
- Additional Airtable operations (create, update, delete)
|
|
92
|
-
- Better field type handling
|
|
93
|
-
- Performance optimizations
|
|
94
|
-
|
|
95
|
-
## 📝 **Contributors**
|
|
96
|
-
- Rashid Azarang (maintainer)
|
|
97
|
-
- Community testing and feedback
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
**Release Date**: January 15, 2025
|
|
102
|
-
**Compatibility**: Node.js >= 14.0.0, MCP 1.4.1+
|
|
103
|
-
**Status**: Production Ready ✅
|
|
104
|
-
|
|
105
|
-
|
package/RELEASE_NOTES_v1.2.4.md
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Release Notes - v1.2.4
|
|
2
|
-
|
|
3
|
-
## 🔒 Security Fix Release
|
|
4
|
-
|
|
5
|
-
### Critical Security Fix
|
|
6
|
-
- **REMOVED hardcoded API tokens from test files** (Addresses Issue #7)
|
|
7
|
-
- `test_client.py` and `test_mcp_comprehensive.js` now require environment variables
|
|
8
|
-
- Added security notice documentation
|
|
9
|
-
- No exposed credentials in the codebase
|
|
10
|
-
|
|
11
|
-
### 🐛 Bug Fixes
|
|
12
|
-
|
|
13
|
-
#### Smithery Cloud Deployment Issues (Issues #5 and #6)
|
|
14
|
-
- **Fixed HTTP 400 errors** when using Smithery
|
|
15
|
-
- **Switched to JavaScript implementation** for Smithery deployment
|
|
16
|
-
- Updated `smithery.yaml` to use `airtable_simple.js` instead of problematic Python server
|
|
17
|
-
- Created dedicated `Dockerfile.node` for Node.js deployment
|
|
18
|
-
- Fixed authentication flow for Smithery connections
|
|
19
|
-
|
|
20
|
-
### 📚 Documentation Updates
|
|
21
|
-
- Added `SECURITY_NOTICE.md` with token rotation instructions
|
|
22
|
-
- Created `.env.example` file for secure configuration
|
|
23
|
-
- Updated Dockerfile references for Glama listing (Issue #4)
|
|
24
|
-
|
|
25
|
-
### 🔧 Improvements
|
|
26
|
-
- Added environment variable support with dotenv
|
|
27
|
-
- Improved logging system with configurable levels (ERROR, WARN, INFO, DEBUG)
|
|
28
|
-
- Better error messages for missing credentials
|
|
29
|
-
|
|
30
|
-
### ⚠️ Breaking Changes
|
|
31
|
-
- Test files now require environment variables:
|
|
32
|
-
```bash
|
|
33
|
-
export AIRTABLE_TOKEN="your_token"
|
|
34
|
-
export AIRTABLE_BASE_ID="your_base_id"
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### 🚀 Migration Guide
|
|
38
|
-
|
|
39
|
-
1. **Update your environment variables:**
|
|
40
|
-
```bash
|
|
41
|
-
cp .env.example .env
|
|
42
|
-
# Edit .env with your credentials
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
2. **For Smithery users:**
|
|
46
|
-
- Reinstall the MCP to get the latest configuration
|
|
47
|
-
- The server now properly accepts credentials through Smithery's config
|
|
48
|
-
|
|
49
|
-
3. **For direct users:**
|
|
50
|
-
- Continue using command line arguments or switch to environment variables
|
|
51
|
-
- Both methods are supported
|
|
52
|
-
|
|
53
|
-
### 📝 Notes
|
|
54
|
-
- All previously exposed tokens have been revoked
|
|
55
|
-
- Please use your own Airtable credentials
|
|
56
|
-
- Never commit API tokens to version control
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
**Full Changelog**: [v1.2.3...v1.2.4](https://github.com/rashidazarang/airtable-mcp/compare/v1.2.3...v1.2.4)
|
package/RELEASE_NOTES_v1.4.0.md
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# Release Notes - v1.4.0
|
|
2
|
-
|
|
3
|
-
## 🚀 Major Feature Release
|
|
4
|
-
|
|
5
|
-
### ✨ New Features
|
|
6
|
-
|
|
7
|
-
#### 🪝 **Webhook Management** (5 new tools)
|
|
8
|
-
- `list_webhooks` - List all webhooks in your base
|
|
9
|
-
- `create_webhook` - Create webhooks for real-time notifications
|
|
10
|
-
- `delete_webhook` - Remove webhooks
|
|
11
|
-
- `get_webhook_payloads` - Retrieve webhook payload history
|
|
12
|
-
- `refresh_webhook` - Extend webhook expiration time
|
|
13
|
-
|
|
14
|
-
#### 🔧 **Enhanced CRUD Operations** (5 tools added since v1.2.4)
|
|
15
|
-
- `create_record` - Create new records in any table
|
|
16
|
-
- `update_record` - Update existing records
|
|
17
|
-
- `delete_record` - Remove records from tables
|
|
18
|
-
- `get_record` - Retrieve single record by ID
|
|
19
|
-
- `search_records` - Advanced filtering with Airtable formulas
|
|
20
|
-
|
|
21
|
-
### 📊 **Complete Tool Set (12 tools total)**
|
|
22
|
-
1. **list_tables** - List all tables in base
|
|
23
|
-
2. **list_records** - List records from table
|
|
24
|
-
3. **get_record** - Get single record by ID
|
|
25
|
-
4. **create_record** - Create new records
|
|
26
|
-
5. **update_record** - Update existing records
|
|
27
|
-
6. **delete_record** - Delete records
|
|
28
|
-
7. **search_records** - Search with filters
|
|
29
|
-
8. **list_webhooks** - List webhooks
|
|
30
|
-
9. **create_webhook** - Create webhooks
|
|
31
|
-
10. **delete_webhook** - Delete webhooks
|
|
32
|
-
11. **get_webhook_payloads** - Get webhook history
|
|
33
|
-
12. **refresh_webhook** - Refresh webhook expiration
|
|
34
|
-
|
|
35
|
-
### 🔐 **Security Improvements**
|
|
36
|
-
- Environment variable support for credentials
|
|
37
|
-
- Token masking in logs
|
|
38
|
-
- Configurable logging levels (ERROR, WARN, INFO, DEBUG)
|
|
39
|
-
- No hardcoded credentials in test files
|
|
40
|
-
|
|
41
|
-
### 🛠️ **Technical Improvements**
|
|
42
|
-
- Full HTTP method support (GET, POST, PATCH, DELETE)
|
|
43
|
-
- Enhanced error handling with detailed messages
|
|
44
|
-
- Proper API endpoint routing
|
|
45
|
-
- Debug logging support
|
|
46
|
-
- Graceful shutdown handling
|
|
47
|
-
|
|
48
|
-
### 📈 **Testing**
|
|
49
|
-
- **100% test coverage** - All 12 tools tested and verified
|
|
50
|
-
- Tested with real Airtable API
|
|
51
|
-
- Comprehensive test suite included
|
|
52
|
-
- Test scripts for validation
|
|
53
|
-
|
|
54
|
-
### 💔 **Breaking Changes**
|
|
55
|
-
- Test files now require environment variables:
|
|
56
|
-
```bash
|
|
57
|
-
export AIRTABLE_TOKEN="your_token"
|
|
58
|
-
export AIRTABLE_BASE_ID="your_base_id"
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### 🔄 **Migration from v1.2.4**
|
|
62
|
-
|
|
63
|
-
1. **Update package**:
|
|
64
|
-
```bash
|
|
65
|
-
npm install -g @rashidazarang/airtable-mcp@latest
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
2. **Set credentials** (choose one method):
|
|
69
|
-
- Environment variables
|
|
70
|
-
- Command line arguments
|
|
71
|
-
- .env file
|
|
72
|
-
|
|
73
|
-
3. **Update configuration** if using webhooks
|
|
74
|
-
|
|
75
|
-
### 📝 **Webhook Usage Example**
|
|
76
|
-
|
|
77
|
-
```javascript
|
|
78
|
-
// Create a webhook
|
|
79
|
-
{
|
|
80
|
-
"name": "create_webhook",
|
|
81
|
-
"arguments": {
|
|
82
|
-
"notificationUrl": "https://your-endpoint.com/webhook"
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// The response includes:
|
|
87
|
-
// - Webhook ID
|
|
88
|
-
// - MAC secret (save this - shown only once!)
|
|
89
|
-
// - Expiration time
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### 🎯 **What's Next**
|
|
93
|
-
- Batch operations support
|
|
94
|
-
- Comment management
|
|
95
|
-
- Attachment handling
|
|
96
|
-
- Schema modification tools
|
|
97
|
-
|
|
98
|
-
### 🙏 **Acknowledgments**
|
|
99
|
-
- Thanks to all testers and contributors
|
|
100
|
-
- Special thanks for the comprehensive testing feedback
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
**Full Changelog**: [v1.2.4...v1.4.0](https://github.com/rashidazarang/airtable-mcp/compare/v1.2.4...v1.4.0)
|