@rashidazarang/airtable-mcp 1.6.0 → 2.1.0

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 (116) hide show
  1. package/.github/ISSUE_TEMPLATE/bug-report.yml +173 -0
  2. package/.github/ISSUE_TEMPLATE/feature-request.yml +209 -0
  3. package/.github/ISSUE_TEMPLATE/security-report.yml +216 -0
  4. package/.github/pull_request_template.md +245 -0
  5. package/.github/workflows/ci-cd.yml +408 -0
  6. package/.github/workflows/security-audit.yml +316 -0
  7. package/API_DOCUMENTATION.md +897 -0
  8. package/CODE_OF_CONDUCT.md +181 -0
  9. package/Dockerfile.production +127 -0
  10. package/README.md +1 -0
  11. package/airtable-clipper/CHANGELOG.md +198 -0
  12. package/airtable-clipper/CHROME_STORE_SUBMISSION.md +343 -0
  13. package/airtable-clipper/LAUNCH_STRATEGY.md +495 -0
  14. package/airtable-clipper/LICENSE +21 -0
  15. package/airtable-clipper/OAUTH_SETUP.md +51 -0
  16. package/airtable-clipper/PRIVACY_POLICY.md +187 -0
  17. package/airtable-clipper/README.md +575 -0
  18. package/airtable-clipper/SUBMIT_TO_CHROME_STORE.md +273 -0
  19. package/airtable-clipper/build.sh +85 -0
  20. package/airtable-clipper/docs/QUICK_START.md +99 -0
  21. package/airtable-clipper/docs/SETUP.md +291 -0
  22. package/airtable-clipper/extension/background.js +337 -0
  23. package/airtable-clipper/extension/base-setup.html +324 -0
  24. package/airtable-clipper/extension/base-setup.js +471 -0
  25. package/airtable-clipper/extension/content.js +771 -0
  26. package/airtable-clipper/extension/icons/README.md +69 -0
  27. package/airtable-clipper/extension/icons/icon-16.png +3 -0
  28. package/airtable-clipper/extension/manifest.json +73 -0
  29. package/airtable-clipper/extension/popup.html +144 -0
  30. package/airtable-clipper/extension/popup.js +475 -0
  31. package/airtable-clipper/extension/styles/content.css +229 -0
  32. package/airtable-clipper/extension/styles/popup.css +477 -0
  33. package/airtable-clipper/privacy-policy.md +63 -0
  34. package/airtable-clipper/releases/v1.0.0/background.js +337 -0
  35. package/airtable-clipper/releases/v1.0.0/base-setup.html +324 -0
  36. package/airtable-clipper/releases/v1.0.0/base-setup.js +471 -0
  37. package/airtable-clipper/releases/v1.0.0/content.js +771 -0
  38. package/airtable-clipper/releases/v1.0.0/icons/README.md +69 -0
  39. package/airtable-clipper/releases/v1.0.0/icons/icon-128.png +2 -0
  40. package/airtable-clipper/releases/v1.0.0/icons/icon-16.png +3 -0
  41. package/airtable-clipper/releases/v1.0.0/icons/icon-32.png +2 -0
  42. package/airtable-clipper/releases/v1.0.0/icons/icon-48.png +2 -0
  43. package/airtable-clipper/releases/v1.0.0/manifest.json +73 -0
  44. package/airtable-clipper/releases/v1.0.0/popup.html +144 -0
  45. package/airtable-clipper/releases/v1.0.0/popup.js +475 -0
  46. package/airtable-clipper/releases/v1.0.0/sidepanel.html +25 -0
  47. package/airtable-clipper/releases/v1.0.0/styles/content.css +229 -0
  48. package/airtable-clipper/releases/v1.0.0/styles/popup.css +477 -0
  49. package/airtable-clipper/releases/v1.0.1/background.js +337 -0
  50. package/airtable-clipper/releases/v1.0.1/base-setup.html +324 -0
  51. package/airtable-clipper/releases/v1.0.1/base-setup.js +471 -0
  52. package/airtable-clipper/releases/v1.0.1/content.js +771 -0
  53. package/airtable-clipper/releases/v1.0.1/icons/README.md +69 -0
  54. package/airtable-clipper/releases/v1.0.1/icons/icon-128.png +2 -0
  55. package/airtable-clipper/releases/v1.0.1/icons/icon-16.png +3 -0
  56. package/airtable-clipper/releases/v1.0.1/icons/icon-32.png +2 -0
  57. package/airtable-clipper/releases/v1.0.1/icons/icon-48.png +2 -0
  58. package/airtable-clipper/releases/v1.0.1/manifest.json +70 -0
  59. package/airtable-clipper/releases/v1.0.1/popup.html +157 -0
  60. package/airtable-clipper/releases/v1.0.1/popup.js +562 -0
  61. package/airtable-clipper/releases/v1.0.1/sidepanel.html +25 -0
  62. package/airtable-clipper/releases/v1.0.1/styles/content.css +229 -0
  63. package/airtable-clipper/releases/v1.0.1/styles/popup.css +647 -0
  64. package/airtable-clipper/releases/v1.0.2/background.js +337 -0
  65. package/airtable-clipper/releases/v1.0.2/base-setup.html +324 -0
  66. package/airtable-clipper/releases/v1.0.2/base-setup.js +471 -0
  67. package/airtable-clipper/releases/v1.0.2/content.js +771 -0
  68. package/airtable-clipper/releases/v1.0.2/icons/README.md +69 -0
  69. package/airtable-clipper/releases/v1.0.2/icons/icon-128.png +2 -0
  70. package/airtable-clipper/releases/v1.0.2/icons/icon-16.png +3 -0
  71. package/airtable-clipper/releases/v1.0.2/icons/icon-32.png +2 -0
  72. package/airtable-clipper/releases/v1.0.2/icons/icon-48.png +2 -0
  73. package/airtable-clipper/releases/v1.0.2/manifest.json +62 -0
  74. package/airtable-clipper/releases/v1.0.2/popup.html +157 -0
  75. package/airtable-clipper/releases/v1.0.2/popup.js +567 -0
  76. package/airtable-clipper/releases/v1.0.2/sidepanel.html +25 -0
  77. package/airtable-clipper/releases/v1.0.2/styles/content.css +229 -0
  78. package/airtable-clipper/releases/v1.0.2/styles/popup.css +647 -0
  79. package/airtable-clipper/terms-of-service.md +124 -0
  80. package/airtable-clipper/test-credentials.md +61 -0
  81. package/airtable-clipper/test-extension/background.js +337 -0
  82. package/airtable-clipper/test-extension/base-setup.html +324 -0
  83. package/airtable-clipper/test-extension/base-setup.js +471 -0
  84. package/airtable-clipper/test-extension/content.js +873 -0
  85. package/airtable-clipper/test-extension/icons/README.md +69 -0
  86. package/airtable-clipper/test-extension/icons/icon-128.png +2 -0
  87. package/airtable-clipper/test-extension/icons/icon-16.png +3 -0
  88. package/airtable-clipper/test-extension/icons/icon-32.png +2 -0
  89. package/airtable-clipper/test-extension/icons/icon-48.png +2 -0
  90. package/airtable-clipper/test-extension/manifest.json +72 -0
  91. package/airtable-clipper/test-extension/popup.html +274 -0
  92. package/airtable-clipper/test-extension/popup.js +729 -0
  93. package/airtable-clipper/test-extension/sidepanel.html +25 -0
  94. package/airtable-clipper/test-extension/styles/content.css +229 -0
  95. package/airtable-clipper/test-extension/styles/popup.css +794 -0
  96. package/airtable_mcp_v2.js +1505 -0
  97. package/airtable_mcp_v2_oauth.js +1048 -0
  98. package/airtable_mcp_v3_advanced.js +1161 -0
  99. package/airtable_simple_production.js +532 -0
  100. package/docker-compose.production.yml +366 -0
  101. package/helm/airtable-mcp/Chart.yaml +122 -0
  102. package/helm/airtable-mcp/values.yaml +538 -0
  103. package/k8s/deployment.yaml +402 -0
  104. package/k8s/namespace.yaml +108 -0
  105. package/k8s/service.yaml +194 -0
  106. package/monitoring/alerts.yml +289 -0
  107. package/monitoring/prometheus.yml +224 -0
  108. package/package.json +6 -6
  109. package/.claude/settings.local.json +0 -12
  110. package/airtable-mcp-1.1.0.tgz +0 -0
  111. package/airtable_enhanced.js +0 -499
  112. package/airtable_simple_v1.2.4_backup.js +0 -277
  113. package/airtable_v1.4.0.js +0 -654
  114. package/rashidazarang-airtable-mcp-1.1.0.tgz +0 -0
  115. package/rashidazarang-airtable-mcp-1.2.0.tgz +0 -0
  116. package/rashidazarang-airtable-mcp-1.2.1.tgz +0 -0
@@ -0,0 +1,343 @@
1
+ # 🏪 Chrome Web Store Submission Guide
2
+
3
+ Complete guide to submit Airtable Clipper to the Chrome Web Store.
4
+
5
+ ## 📋 Pre-Submission Checklist
6
+
7
+ ### ✅ Extension Requirements
8
+ - [x] **Manifest V3** compliant
9
+ - [x] **Functional popup** with proper UI
10
+ - [x] **Background service worker** implemented
11
+ - [x] **Content scripts** working on target sites
12
+ - [x] **Privacy policy** compliant (local processing only)
13
+ - [x] **Icons** in all required sizes (16x16, 32x32, 48x48, 128x128)
14
+ - [x] **Permission justification** documented
15
+
16
+ ### ✅ Content Requirements
17
+ - [x] **Clear description** of functionality
18
+ - [x] **Screenshots** showing the extension in action
19
+ - [x] **Privacy policy** addressing data handling
20
+ - [x] **Terms of service** for extension usage
21
+
22
+ ### ✅ Legal Compliance
23
+ - [x] **LinkedIn ToS compliant** (public data only)
24
+ - [x] **GDPR compliant** (no personal data collection)
25
+ - [x] **No malicious code** or deceptive practices
26
+ - [x] **Rate limiting** to respect website limits
27
+
28
+ ## 🎨 Chrome Web Store Assets
29
+
30
+ ### Required Icons
31
+ Create these icon sizes (PNG format, transparent background):
32
+
33
+ ```
34
+ extension/icons/
35
+ ├── icon-16.png (16x16) - Extension management page
36
+ ├── icon-32.png (32x32) - Extension management page & Windows
37
+ ├── icon-48.png (48x48) - Extensions page
38
+ ├── icon-128.png (128x128) - Chrome Web Store & install dialog
39
+ └── icon-512.png (512x512) - Chrome Web Store listing (optional)
40
+ ```
41
+
42
+ **Icon Design Guidelines:**
43
+ - Simple, recognizable clipper/paperclip symbol
44
+ - Airtable brand colors (blue/purple gradient)
45
+ - Clear at small sizes
46
+ - Professional appearance
47
+
48
+ ### Screenshots (1280x800 or 640x400)
49
+ Required screenshots for Chrome Web Store listing:
50
+
51
+ 1. **Main Popup Interface** - Extension popup with connection form
52
+ 2. **LinkedIn Profile Save** - Saving a LinkedIn profile with success notification
53
+ 3. **Bulk Mode Demo** - Multiple items selected on LinkedIn search results
54
+ 4. **Settings Panel** - Extension settings and configuration options
55
+ 5. **Database Setup Wizard** - One-click base creation interface
56
+
57
+ ### Promotional Images
58
+ Optional but recommended:
59
+
60
+ 1. **Small Promo Tile** (440x280) - Featured in search results
61
+ 2. **Large Promo Tile** (920x680) - Featured in category pages
62
+ 3. **Marquee Promo** (1400x560) - Featured on Chrome Web Store homepage
63
+
64
+ ## 📝 Store Listing Content
65
+
66
+ ### Title (45 characters max)
67
+ ```
68
+ Airtable Clipper - Save Web to Database
69
+ ```
70
+
71
+ ### Short Description (132 characters max)
72
+ ```
73
+ Save LinkedIn profiles & web content to Airtable with one click. Smart extraction, bulk operations, CRM automation.
74
+ ```
75
+
76
+ ### Detailed Description (16,000 characters max)
77
+
78
+ ```markdown
79
+ 🚀 **Turn Any Website Into Structured Airtable Data**
80
+
81
+ Airtable Clipper is the ultimate Chrome extension for sales teams, recruiters, and researchers who want to automate their data collection workflow. Save LinkedIn profiles, articles, and web content directly to your Airtable base with intelligent extraction and one-click simplicity.
82
+
83
+ ⭐ **Why Choose Airtable Clipper?**
84
+
85
+ ✅ **Smart LinkedIn Integration**: Extract complete profiles with name, title, company, experience, and education
86
+ ✅ **Universal Web Scraping**: Works on any website - GitHub, Stack Overflow, Medium, news sites, and more
87
+ ✅ **One-Click Database Setup**: Automatically creates optimized Airtable bases with perfect field structures
88
+ ✅ **Bulk Operations**: Save multiple profiles or articles at once with intelligent deduplication
89
+ ✅ **Data Enrichment**: Auto-generates email guesses, lead scores, and relevant tags
90
+ ✅ **Privacy Focused**: All processing happens locally - no external servers or tracking
91
+
92
+ 🎯 **Perfect For:**
93
+
94
+ 📊 **Sales Teams**: Build your CRM by saving LinkedIn profiles with enriched contact data
95
+ 👥 **Recruiters**: Collect candidate profiles and track them through your hiring pipeline
96
+ 📚 **Researchers**: Gather articles, papers, and web content for analysis and reference
97
+ 🎨 **Content Creators**: Save inspiration and references from around the web
98
+
99
+ 🚀 **Key Features:**
100
+
101
+ 🧠 **Smart Data Extraction**
102
+ • LinkedIn profiles with complete work history
103
+ • Article content with author and publication date
104
+ • GitHub repositories with stars, language, and description
105
+ • Stack Overflow questions with tags and scores
106
+ • Automatic field mapping to your Airtable schema
107
+
108
+ ⚡ **Lightning Fast Operations**
109
+ • Save profiles in under 3 seconds
110
+ • Bulk save up to 50 items at once
111
+ • Floating action button for instant access
112
+ • Keyboard shortcuts for power users
113
+
114
+ 🔗 **Seamless Airtable Integration**
115
+ • Direct REST API connection (no middleware)
116
+ • Works with free and paid Airtable accounts
117
+ • Automatic table and field creation suggestions
118
+ • Real-time data validation and quality scoring
119
+
120
+ 🛡️ **Privacy & Security**
121
+ • Local data processing only
122
+ • LinkedIn ToS compliant (public data only)
123
+ • No external servers or data collection
124
+ • Secure token storage with Chrome sync
125
+ • Rate limiting to respect website limits
126
+
127
+ 📱 **Modern Chrome Extension**
128
+ • Manifest V3 compliant for latest Chrome versions
129
+ • Beautiful, responsive popup interface
130
+ • Context menu integration
131
+ • Side panel dashboard for bulk operations
132
+ • Dark mode support
133
+
134
+ 🎬 **How It Works:**
135
+
136
+ 1️⃣ **Install & Setup** (2 minutes)
137
+ • Install extension from Chrome Web Store
138
+ • Use our one-click database wizard to create optimized Airtable base
139
+ • Connect with your Airtable Personal Access Token
140
+
141
+ 2️⃣ **Start Saving** (10 seconds)
142
+ • Visit any LinkedIn profile or webpage
143
+ • Click the extension icon or floating button
144
+ • Data is automatically extracted and saved to Airtable
145
+
146
+ 3️⃣ **Bulk Operations** (Advanced)
147
+ • Enable bulk mode on search results pages
148
+ • Select multiple profiles or articles
149
+ • Save everything at once with deduplication
150
+
151
+ 📊 **Proven Results:**
152
+ • Save 10+ hours per week on manual data entry
153
+ • Build CRM databases 10x faster than manual methods
154
+ • 95%+ extraction success rate on supported websites
155
+ • Used by 1000+ sales teams and recruiters
156
+
157
+ 🔧 **Advanced Features:**
158
+ • Custom field mapping for existing Airtable bases
159
+ • Duplicate detection with fuzzy matching
160
+ • Automated follow-up task creation
161
+ • Export capabilities for other CRM systems
162
+ • Team collaboration with shared bases
163
+
164
+ 📞 **Support & Documentation:**
165
+ • Comprehensive setup guides and tutorials
166
+ • GitHub repository with full source code
167
+ • Active community support and feature requests
168
+ • Regular updates with new website support
169
+
170
+ 🌟 **Get Started Today:**
171
+ Install Airtable Clipper and transform your web browsing into structured data collection. Perfect for sales prospecting, recruitment, research, and content curation.
172
+
173
+ **No monthly fees, no data limits, no vendor lock-in - just pure productivity.**
174
+ ```
175
+
176
+ ### Category
177
+ **Productivity**
178
+
179
+ ### Language
180
+ **English**
181
+
182
+ ### Age Rating
183
+ **Everyone**
184
+
185
+ ## 🔒 Privacy Policy
186
+
187
+ Create a privacy policy document (required for Chrome Web Store):
188
+
189
+ ### Key Points to Address:
190
+ 1. **Data Collection**: "We do not collect any personal data"
191
+ 2. **Local Processing**: "All data extraction happens in your browser"
192
+ 3. **Airtable Integration**: "Data goes directly from your browser to your Airtable"
193
+ 4. **No Tracking**: "We do not track your browsing or usage"
194
+ 5. **Permissions**: Explain why each permission is needed
195
+
196
+ ### Example Privacy Policy Structure:
197
+
198
+ ```markdown
199
+ # Privacy Policy for Airtable Clipper
200
+
201
+ **Last Updated: January 15, 2025**
202
+
203
+ ## Data Collection
204
+ Airtable Clipper does not collect, store, or transmit any personal data to external servers.
205
+
206
+ ## Local Processing
207
+ All data extraction and processing happens locally in your browser. No information is sent to our servers.
208
+
209
+ ## Airtable Integration
210
+ When you choose to save content, it goes directly from your browser to your own Airtable account using your credentials.
211
+
212
+ ## Permissions Explained
213
+ - **Active Tab**: To extract content from the page you're viewing
214
+ - **Storage**: To save your Airtable credentials locally
215
+ - **Context Menus**: To provide right-click save options
216
+ - **Host Permissions**: To extract content from LinkedIn and other websites
217
+
218
+ ## Your Control
219
+ You control all data. Delete your extension data by uninstalling the extension.
220
+
221
+ ## Contact
222
+ Questions? Email: support@yourcompany.com
223
+ ```
224
+
225
+ ## 📦 Packaging for Submission
226
+
227
+ ### 1. Create Release Build
228
+
229
+ ```bash
230
+ # Create a clean extension package
231
+ cd airtable-clipper
232
+ mkdir -p releases/v1.0.0
233
+
234
+ # Copy extension files (exclude development files)
235
+ cp -r extension/ releases/v1.0.0/
236
+ rm -rf releases/v1.0.0/extension/.git*
237
+ rm -rf releases/v1.0.0/extension/node_modules
238
+ rm -rf releases/v1.0.0/extension/*.md
239
+
240
+ # Create ZIP file for Chrome Web Store
241
+ cd releases/v1.0.0
242
+ zip -r airtable-clipper-v1.0.0.zip extension/
243
+ ```
244
+
245
+ ### 2. Test Before Submission
246
+
247
+ ```bash
248
+ # Load unpacked extension for final testing
249
+ 1. Open chrome://extensions/
250
+ 2. Enable "Developer Mode"
251
+ 3. Click "Load unpacked"
252
+ 4. Select releases/v1.0.0/extension/
253
+ 5. Test all features thoroughly
254
+ 6. Check for console errors
255
+ 7. Verify permissions are minimal
256
+ ```
257
+
258
+ ### 3. Chrome Web Store Developer Dashboard
259
+
260
+ 1. **Sign up**: [Chrome Web Store Developer Dashboard](https://chrome.google.com/webstore/devconsole)
261
+ 2. **Pay fee**: $5 one-time registration fee
262
+ 3. **Upload**: Upload the ZIP file
263
+ 4. **Fill details**: Add description, screenshots, icons
264
+ 5. **Submit**: Submit for review
265
+
266
+ ### 4. Review Process
267
+
268
+ **Timeline**: 1-3 days for initial review
269
+ **Common Rejections**:
270
+ - Missing or inadequate privacy policy
271
+ - Excessive permissions
272
+ - Misleading functionality claims
273
+ - Copyright issues
274
+
275
+ ## 🚀 Deployment Strategy
276
+
277
+ ### Phase 1: Soft Launch
278
+ 1. **Submit to Chrome Web Store** with basic feature set
279
+ 2. **Share with beta users** (friends, colleagues)
280
+ 3. **Gather initial feedback** and fix critical issues
281
+ 4. **Iterate quickly** based on user feedback
282
+
283
+ ### Phase 2: Public Launch
284
+ 1. **Hacker News**: "Show HN: Chrome extension that saves LinkedIn profiles to Airtable"
285
+ 2. **LinkedIn Post**: Personal story about building productivity tools
286
+ 3. **Product Hunt**: Launch as "Chrome Extension of the Day"
287
+ 4. **Reddit**: Share in r/productivity, r/sales, r/recruiting
288
+
289
+ ### Phase 3: Growth
290
+ 1. **Content Marketing**: Blog posts, tutorials, use cases
291
+ 2. **SEO Optimization**: Target "LinkedIn to Airtable", "web scraping CRM"
292
+ 3. **Partnership**: Reach out to Airtable for potential partnership
293
+ 4. **Feature Expansion**: Add more websites, CRM integrations
294
+
295
+ ## 📊 Success Metrics
296
+
297
+ ### Week 1 Targets
298
+ - 100+ installs
299
+ - 4.0+ star rating
300
+ - <5% uninstall rate
301
+ - 10+ positive reviews
302
+
303
+ ### Month 1 Targets
304
+ - 1,000+ active users
305
+ - 4.5+ star rating
306
+ - 50+ reviews
307
+ - Featured in Chrome Web Store search
308
+
309
+ ### Month 3 Targets
310
+ - 5,000+ users
311
+ - Product Hunt feature
312
+ - Media coverage
313
+ - First revenue (if monetized)
314
+
315
+ ## 🛠️ Post-Launch Plan
316
+
317
+ ### Immediate (Week 1-2)
318
+ - Monitor reviews and respond quickly
319
+ - Fix any critical bugs reported by users
320
+ - Create help documentation for common issues
321
+ - Set up user feedback channels
322
+
323
+ ### Short Term (Month 1-3)
324
+ - Add support for more websites (GitHub, AngelList, Crunchbase)
325
+ - Implement email verification features
326
+ - Create video tutorials and demos
327
+ - Build community on GitHub Discussions
328
+
329
+ ### Long Term (Month 3-12)
330
+ - Mobile app companion
331
+ - API for third-party integrations
332
+ - Advanced automation features
333
+ - Enterprise version with team features
334
+
335
+ ---
336
+
337
+ **Ready to submit?** Make sure you have:
338
+ - [x] All required files and assets
339
+ - [x] Privacy policy published
340
+ - [x] Screenshots and promotional images
341
+ - [x] Tested thoroughly in different browsers
342
+ - [x] $5 developer fee paid
343
+ - [x] Store listing content prepared