@rashidazarang/airtable-mcp 1.2.0 → 1.2.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 CHANGED
@@ -206,4 +206,20 @@ This typically happens on older Node.js versions. The current version includes a
206
206
  1. **Update Node.js**: Install Node.js v15+ for native AbortController support
207
207
  2. **Update This Package**: Make sure you're using version 1.2.0 or higher
208
208
 
209
- See [CLAUDE_INTEGRATION.md](./CLAUDE_INTEGRATION.md) for detailed setup instructions.
209
+ See [CLAUDE_INTEGRATION.md](./CLAUDE_INTEGRATION.md) for detailed setup instructions.
210
+
211
+ ## Claude Integration Improvements
212
+
213
+ ### Version 1.2.1 Update: Claude-specific Methods
214
+
215
+ We've added enhanced support for Claude's interface by implementing these additional methods:
216
+
217
+ 1. **resources/list**: Lists available Airtable resources (bases, tables, records)
218
+ 2. **prompts/list**: Provides suggested prompts for common Airtable operations
219
+
220
+ These methods improve Claude's user experience by:
221
+ - Eliminating "Method not found" errors in logs
222
+ - Supporting Claude's native UI components
223
+ - Enabling better integration with Claude's interface
224
+
225
+ If you're using Claude Desktop or other Claude integrations, this update should provide a more seamless experience with fewer error messages.
@@ -297,5 +297,51 @@ async def set_base_id(base_id_param: str) -> str:
297
297
  base_id = base_id_param
298
298
  return f"Base ID set to: {base_id}"
299
299
 
300
+ # Add Claude-specific methods
301
+ @app.rpc_method("resources/list")
302
+ async def resources_list(params: Dict = None) -> Dict:
303
+ """List available Airtable resources for Claude"""
304
+ resources = [
305
+ {
306
+ "id": "airtable_bases",
307
+ "name": "Airtable Bases",
308
+ "description": "The Airtable bases accessible with your API token"
309
+ },
310
+ {
311
+ "id": "airtable_tables",
312
+ "name": "Airtable Tables",
313
+ "description": "Tables in your current Airtable base"
314
+ },
315
+ {
316
+ "id": "airtable_records",
317
+ "name": "Airtable Records",
318
+ "description": "Records in your Airtable tables"
319
+ }
320
+ ]
321
+ return {"resources": resources}
322
+
323
+ @app.rpc_method("prompts/list")
324
+ async def prompts_list(params: Dict = None) -> Dict:
325
+ """List available prompts for Claude"""
326
+ prompts = [
327
+ {
328
+ "id": "list_tables_prompt",
329
+ "name": "List Tables",
330
+ "description": "List all tables in your Airtable base"
331
+ },
332
+ {
333
+ "id": "list_records_prompt",
334
+ "name": "List Records",
335
+ "description": "List records from a specific Airtable table"
336
+ },
337
+ {
338
+ "id": "create_record_prompt",
339
+ "name": "Create Record",
340
+ "description": "Create a new record in an Airtable table"
341
+ }
342
+ ]
343
+ return {"prompts": prompts}
344
+
345
+ # Start the server
300
346
  if __name__ == "__main__":
301
- app.run()
347
+ app.start()
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rashidazarang/airtable-mcp",
3
- "version": "1.2.0",
4
- "description": "Airtable MCP for AI tools - compatible with MCP SDK 1.4.1+, includes compatibility fixes for Claude and Windsurf",
3
+ "version": "1.2.1",
4
+ "description": "Airtable MCP for AI tools - compatible with MCP SDK 1.4.1+, includes enhanced Claude integration",
5
5
  "main": "index.js",
6
6
  "bin": {
7
7
  "airtable-mcp": "index.js"