@rashidazarang/airtable-mcp 2.1.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.
Files changed (152) hide show
  1. package/package.json +10 -1
  2. package/.github/ISSUE_TEMPLATE/bug-report.yml +0 -173
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  4. package/.github/ISSUE_TEMPLATE/custom.md +0 -10
  5. package/.github/ISSUE_TEMPLATE/feature-request.yml +0 -209
  6. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  7. package/.github/ISSUE_TEMPLATE/security-report.yml +0 -216
  8. package/.github/pull_request_template.md +0 -245
  9. package/.github/workflows/ci-cd.yml +0 -408
  10. package/.github/workflows/security-audit.yml +0 -316
  11. package/API_DOCUMENTATION.md +0 -897
  12. package/CAPABILITY_REPORT.md +0 -118
  13. package/CLAUDE_INTEGRATION.md +0 -96
  14. package/CODE_OF_CONDUCT.md +0 -181
  15. package/CONTRIBUTING.md +0 -81
  16. package/DEVELOPMENT.md +0 -190
  17. package/Dockerfile +0 -39
  18. package/Dockerfile.node +0 -20
  19. package/Dockerfile.production +0 -127
  20. package/IMPROVEMENT_PROPOSAL.md +0 -371
  21. package/INSTALLATION.md +0 -183
  22. package/ISSUE_RESPONSES.md +0 -171
  23. package/MCP_REVIEW_SUMMARY.md +0 -142
  24. package/QUICK_START.md +0 -60
  25. package/RELEASE_NOTES_v1.2.0.md +0 -50
  26. package/RELEASE_NOTES_v1.2.1.md +0 -40
  27. package/RELEASE_NOTES_v1.2.2.md +0 -48
  28. package/RELEASE_NOTES_v1.2.3.md +0 -105
  29. package/RELEASE_NOTES_v1.2.4.md +0 -60
  30. package/RELEASE_NOTES_v1.4.0.md +0 -104
  31. package/RELEASE_NOTES_v1.5.0.md +0 -185
  32. package/RELEASE_NOTES_v1.6.0.md +0 -248
  33. package/SECURITY_NOTICE.md +0 -40
  34. package/airtable-clipper/CHANGELOG.md +0 -198
  35. package/airtable-clipper/CHROME_STORE_SUBMISSION.md +0 -343
  36. package/airtable-clipper/LAUNCH_STRATEGY.md +0 -495
  37. package/airtable-clipper/LICENSE +0 -21
  38. package/airtable-clipper/OAUTH_SETUP.md +0 -51
  39. package/airtable-clipper/PRIVACY_POLICY.md +0 -187
  40. package/airtable-clipper/README.md +0 -575
  41. package/airtable-clipper/SUBMIT_TO_CHROME_STORE.md +0 -273
  42. package/airtable-clipper/build.sh +0 -85
  43. package/airtable-clipper/docs/QUICK_START.md +0 -99
  44. package/airtable-clipper/docs/SETUP.md +0 -291
  45. package/airtable-clipper/extension/background.js +0 -337
  46. package/airtable-clipper/extension/base-setup.html +0 -324
  47. package/airtable-clipper/extension/base-setup.js +0 -471
  48. package/airtable-clipper/extension/content.js +0 -771
  49. package/airtable-clipper/extension/icons/README.md +0 -69
  50. package/airtable-clipper/extension/icons/icon-16.png +0 -3
  51. package/airtable-clipper/extension/manifest.json +0 -73
  52. package/airtable-clipper/extension/popup.html +0 -144
  53. package/airtable-clipper/extension/popup.js +0 -475
  54. package/airtable-clipper/extension/styles/content.css +0 -229
  55. package/airtable-clipper/extension/styles/popup.css +0 -477
  56. package/airtable-clipper/privacy-policy.md +0 -63
  57. package/airtable-clipper/releases/v1.0.0/background.js +0 -337
  58. package/airtable-clipper/releases/v1.0.0/base-setup.html +0 -324
  59. package/airtable-clipper/releases/v1.0.0/base-setup.js +0 -471
  60. package/airtable-clipper/releases/v1.0.0/content.js +0 -771
  61. package/airtable-clipper/releases/v1.0.0/icons/README.md +0 -69
  62. package/airtable-clipper/releases/v1.0.0/icons/icon-128.png +0 -2
  63. package/airtable-clipper/releases/v1.0.0/icons/icon-16.png +0 -3
  64. package/airtable-clipper/releases/v1.0.0/icons/icon-32.png +0 -2
  65. package/airtable-clipper/releases/v1.0.0/icons/icon-48.png +0 -2
  66. package/airtable-clipper/releases/v1.0.0/manifest.json +0 -73
  67. package/airtable-clipper/releases/v1.0.0/popup.html +0 -144
  68. package/airtable-clipper/releases/v1.0.0/popup.js +0 -475
  69. package/airtable-clipper/releases/v1.0.0/sidepanel.html +0 -25
  70. package/airtable-clipper/releases/v1.0.0/styles/content.css +0 -229
  71. package/airtable-clipper/releases/v1.0.0/styles/popup.css +0 -477
  72. package/airtable-clipper/releases/v1.0.1/background.js +0 -337
  73. package/airtable-clipper/releases/v1.0.1/base-setup.html +0 -324
  74. package/airtable-clipper/releases/v1.0.1/base-setup.js +0 -471
  75. package/airtable-clipper/releases/v1.0.1/content.js +0 -771
  76. package/airtable-clipper/releases/v1.0.1/icons/README.md +0 -69
  77. package/airtable-clipper/releases/v1.0.1/icons/icon-128.png +0 -2
  78. package/airtable-clipper/releases/v1.0.1/icons/icon-16.png +0 -3
  79. package/airtable-clipper/releases/v1.0.1/icons/icon-32.png +0 -2
  80. package/airtable-clipper/releases/v1.0.1/icons/icon-48.png +0 -2
  81. package/airtable-clipper/releases/v1.0.1/manifest.json +0 -70
  82. package/airtable-clipper/releases/v1.0.1/popup.html +0 -157
  83. package/airtable-clipper/releases/v1.0.1/popup.js +0 -562
  84. package/airtable-clipper/releases/v1.0.1/sidepanel.html +0 -25
  85. package/airtable-clipper/releases/v1.0.1/styles/content.css +0 -229
  86. package/airtable-clipper/releases/v1.0.1/styles/popup.css +0 -647
  87. package/airtable-clipper/releases/v1.0.2/background.js +0 -337
  88. package/airtable-clipper/releases/v1.0.2/base-setup.html +0 -324
  89. package/airtable-clipper/releases/v1.0.2/base-setup.js +0 -471
  90. package/airtable-clipper/releases/v1.0.2/content.js +0 -771
  91. package/airtable-clipper/releases/v1.0.2/icons/README.md +0 -69
  92. package/airtable-clipper/releases/v1.0.2/icons/icon-128.png +0 -2
  93. package/airtable-clipper/releases/v1.0.2/icons/icon-16.png +0 -3
  94. package/airtable-clipper/releases/v1.0.2/icons/icon-32.png +0 -2
  95. package/airtable-clipper/releases/v1.0.2/icons/icon-48.png +0 -2
  96. package/airtable-clipper/releases/v1.0.2/manifest.json +0 -62
  97. package/airtable-clipper/releases/v1.0.2/popup.html +0 -157
  98. package/airtable-clipper/releases/v1.0.2/popup.js +0 -567
  99. package/airtable-clipper/releases/v1.0.2/sidepanel.html +0 -25
  100. package/airtable-clipper/releases/v1.0.2/styles/content.css +0 -229
  101. package/airtable-clipper/releases/v1.0.2/styles/popup.css +0 -647
  102. package/airtable-clipper/terms-of-service.md +0 -124
  103. package/airtable-clipper/test-credentials.md +0 -61
  104. package/airtable-clipper/test-extension/background.js +0 -337
  105. package/airtable-clipper/test-extension/base-setup.html +0 -324
  106. package/airtable-clipper/test-extension/base-setup.js +0 -471
  107. package/airtable-clipper/test-extension/content.js +0 -873
  108. package/airtable-clipper/test-extension/icons/README.md +0 -69
  109. package/airtable-clipper/test-extension/icons/icon-128.png +0 -2
  110. package/airtable-clipper/test-extension/icons/icon-16.png +0 -3
  111. package/airtable-clipper/test-extension/icons/icon-32.png +0 -2
  112. package/airtable-clipper/test-extension/icons/icon-48.png +0 -2
  113. package/airtable-clipper/test-extension/manifest.json +0 -72
  114. package/airtable-clipper/test-extension/popup.html +0 -274
  115. package/airtable-clipper/test-extension/popup.js +0 -729
  116. package/airtable-clipper/test-extension/sidepanel.html +0 -25
  117. package/airtable-clipper/test-extension/styles/content.css +0 -229
  118. package/airtable-clipper/test-extension/styles/popup.css +0 -794
  119. package/airtable_mcp/__init__.py +0 -5
  120. package/airtable_mcp/src/server.py +0 -329
  121. package/airtable_mcp_v2.js +0 -1505
  122. package/airtable_mcp_v2_oauth.js +0 -1048
  123. package/airtable_mcp_v3_advanced.js +0 -1161
  124. package/cleanup.sh +0 -71
  125. package/docker-compose.production.yml +0 -366
  126. package/helm/airtable-mcp/Chart.yaml +0 -122
  127. package/helm/airtable-mcp/values.yaml +0 -538
  128. package/index.js +0 -179
  129. package/inspector.py +0 -148
  130. package/inspector_server.py +0 -337
  131. package/k8s/deployment.yaml +0 -402
  132. package/k8s/namespace.yaml +0 -108
  133. package/k8s/service.yaml +0 -194
  134. package/monitoring/alerts.yml +0 -289
  135. package/monitoring/prometheus.yml +0 -224
  136. package/publish-steps.txt +0 -27
  137. package/quick_test.sh +0 -30
  138. package/requirements.txt +0 -10
  139. package/setup.py +0 -29
  140. package/simple_airtable_server.py +0 -151
  141. package/smithery.yaml +0 -45
  142. package/test_all_features.sh +0 -146
  143. package/test_all_operations.sh +0 -120
  144. package/test_client.py +0 -70
  145. package/test_enhanced_features.js +0 -389
  146. package/test_mcp_comprehensive.js +0 -163
  147. package/test_mock_server.js +0 -180
  148. package/test_v1.4.0_final.sh +0 -131
  149. package/test_v1.5.0_comprehensive.sh +0 -96
  150. package/test_v1.5.0_final.sh +0 -224
  151. package/test_v1.6.0_comprehensive.sh +0 -187
  152. package/test_webhooks.sh +0 -105
@@ -1,171 +0,0 @@
1
- # GitHub Issue Responses
2
-
3
- ## Issue #7: Personal Access Token Leakage
4
-
5
- Thank you for responsibly disclosing this security vulnerability. This has been fixed in v1.2.4.
6
-
7
- ### Actions Taken:
8
- โœ… Removed all hardcoded tokens from test files
9
- โœ… Updated code to require environment variables for credentials
10
- โœ… Added SECURITY_NOTICE.md with rotation instructions
11
- โœ… The exposed tokens have been invalidated
12
-
13
- ### Changes Made:
14
- - `test_client.py` - Now uses environment variables
15
- - `test_mcp_comprehensive.js` - Now uses environment variables
16
- - Added `.env.example` file for secure configuration
17
- - Updated documentation with security best practices
18
-
19
- All users should update to v1.2.4 immediately. The exposed tokens are no longer valid, and users must use their own Airtable credentials.
20
-
21
- Thank you for helping improve the security of this project!
22
-
23
- ---
24
-
25
- ## Issue #6: [Server Bug] @rashidazarang/airtable-mcp
26
-
27
- This issue has been resolved in v1.2.4!
28
-
29
- ### Root Cause:
30
- The Smithery configuration was using the Python implementation which had compatibility issues with MCP 1.4.1.
31
-
32
- ### Solution:
33
- - Updated `smithery.yaml` to use the stable JavaScript implementation (`airtable_simple.js`)
34
- - Fixed authentication flow to properly handle credentials
35
- - Added proper environment variable support
36
-
37
- ### To fix:
38
- 1. Update to v1.2.4: `npm install @rashidazarang/airtable-mcp@latest`
39
- 2. Reconfigure with your credentials as shown in the updated README
40
- 3. Restart Claude Desktop
41
-
42
- The server should now connect properly without the "API key is required" error.
43
-
44
- ---
45
-
46
- ## Issue #5: When Using Smithy, throwing 'Streamable HTTP error: Error POSTing to endpoint (HTTP 400): null'
47
-
48
- Fixed in v1.2.4! This was the same root cause as Issue #6.
49
-
50
- ### What was wrong:
51
- - The Python server had MCP compatibility issues
52
- - Authentication wasn't being handled correctly
53
- - The Smithery configuration was misconfigured
54
-
55
- ### What we fixed:
56
- - Switched to the JavaScript implementation
57
- - Updated smithery.yaml with proper configuration
58
- - Fixed credential passing through Smithery
59
-
60
- ### How to resolve:
61
- ```bash
62
- # Update to latest version
63
- npm install -g @rashidazarang/airtable-mcp@latest
64
-
65
- # Or if using Smithery directly:
66
- npx @smithery/cli install @rashidazarang/airtable-mcp --update
67
- ```
68
-
69
- Then reconfigure with your Airtable credentials. The HTTP 400 errors should be resolved.
70
-
71
- ---
72
-
73
- ## Issue #4: Glama listing is missing Dockerfile
74
-
75
- Fixed in v1.2.4!
76
-
77
- ### Changes:
78
- - Created `Dockerfile.node` specifically for Node.js deployment
79
- - Updated `smithery.yaml` to reference the correct Dockerfile
80
- - The original Dockerfile is retained for backward compatibility
81
-
82
- The Dockerfile is now included and properly configured for cloud deployments.
83
-
84
- ---
85
-
86
- # GitHub Release Text for v1.2.4
87
-
88
- ## ๐Ÿšจ Critical Security Release - v1.2.4
89
-
90
- ### โš ๏ธ IMPORTANT SECURITY FIX
91
-
92
- This release addresses a **critical security vulnerability** where API tokens were hardcoded in test files. All users should update immediately.
93
-
94
- ### ๐Ÿ”’ Security Fixes
95
- - **Removed hardcoded API tokens** from all test files (fixes #7)
96
- - Test files now require environment variables for credentials
97
- - Added comprehensive security documentation
98
- - Previously exposed tokens have been invalidated
99
-
100
- ### ๐Ÿ› Bug Fixes
101
- - **Fixed Smithery deployment issues** (fixes #5, #6)
102
- - Resolved HTTP 400 errors when connecting through Smithery
103
- - Fixed "API key is required for remote connections" error
104
- - Switched to stable JavaScript implementation for cloud deployments
105
- - **Added missing Dockerfile** for Glama listing (fixes #4)
106
-
107
- ### โœจ Improvements
108
- - Added environment variable support for secure credential management
109
- - Improved logging with configurable levels (ERROR, WARN, INFO, DEBUG)
110
- - Enhanced error messages for better debugging
111
- - Updated documentation with clear setup instructions
112
-
113
- ### ๐Ÿ“ฆ What's Changed
114
- - `test_client.py` - Now uses environment variables
115
- - `test_mcp_comprehensive.js` - Now uses environment variables
116
- - `airtable_simple.js` - Added env variable and logging support
117
- - `smithery.yaml` - Fixed to use JavaScript implementation
118
- - `Dockerfile.node` - New optimized Docker image for Node.js
119
- - `SECURITY_NOTICE.md` - Important security information
120
- - `README.md` - Complete rewrite with better instructions
121
-
122
- ### ๐Ÿ’” Breaking Changes
123
- Test files now require environment variables:
124
- ```bash
125
- export AIRTABLE_TOKEN="your_token"
126
- export AIRTABLE_BASE_ID="your_base_id"
127
- ```
128
-
129
- ### ๐Ÿ“‹ Migration Instructions
130
-
131
- 1. **Update to v1.2.4:**
132
- ```bash
133
- npm install -g @rashidazarang/airtable-mcp@latest
134
- ```
135
-
136
- 2. **Set up environment variables:**
137
- ```bash
138
- export AIRTABLE_TOKEN="your_personal_token"
139
- export AIRTABLE_BASE_ID="your_base_id"
140
- ```
141
-
142
- 3. **Update your MCP configuration** (see README for details)
143
-
144
- 4. **Restart your MCP client**
145
-
146
- ### ๐Ÿ™ Acknowledgments
147
- Special thanks to @BXXC-SDXZ for responsibly disclosing the security vulnerability, and to @ricklesgibson and @punkpeye for reporting the deployment issues.
148
-
149
- ### โš ๏ธ Security Note
150
- If you were using the previously exposed tokens, they have been revoked. You must use your own Airtable credentials going forward.
151
-
152
- **Full Changelog**: https://github.com/rashidazarang/airtable-mcp/compare/v1.2.3...v1.2.4
153
-
154
- ---
155
-
156
- ## NPM Publish Commands
157
-
158
- ```bash
159
- # Make sure you're logged in to npm
160
- npm login
161
-
162
- # Update version (already done in package.json)
163
- npm version 1.2.4
164
-
165
- # Publish to npm
166
- npm publish --access public
167
-
168
- # Create git tag
169
- git tag -a v1.2.4 -m "Critical security fix and Smithery deployment fixes"
170
- git push origin v1.2.4
171
- ```
@@ -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.
@@ -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`.
@@ -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.
@@ -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
@@ -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
-
@@ -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)