Databases TypeScript ★ 449

domdomegg/airtable-mcp-server

Airtable veritabanı entegrasyonu ile schema inceleme, okuma ve yazma işlemleri

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "domdomegg-airtable-mcp-server": {
      "command": "node",
      "args": [
        "~/.mcp/airtable-mcp-server/index.js"
      ]
    }
  }
}

airtable-mcp-server

Model Context Protocol sunucusu, Airtable veritabanlarına okuma ve yazma erişimi sağlar. Bu sunucu, LLM'lerin veritabanı şemalarını incelemesini, ardından kayıtları okumasını ve yazmasını sağlar.

https://github.com/user-attachments/assets/c8285e76-d0ed-4018-94c7-20535db6c944

Kurulum

Adım 1: Buraya tıklayarak bir Airtable kişisel erişim jetonu oluşturun. Ayrıntılar:

  • Ad: İstediğiniz herhangi bir ad, örneğin 'Airtable MCP Server Token'.
  • Kapsamlar: schema.bases:read, data.records:read ve isteğe bağlı olarak schema.bases:write, data.records:write, data.recordComments:read ve data.recordComments:write.
  • Erişim: Erişmek istediğiniz tabanlar. Emin değilseniz, 'Tüm kaynakları ekle' seçeneğini seçin.

Jetonu bir kenara koyun, bir sonraki adımda ihtiyacınız olacak. pat123.abc123 benzeri görünmelidir (ancak daha uzun).

Adım 2: Tercih ettiğiniz istemci için aşağıdaki talimatları izleyin:

Claude Desktop

(Önerilir) Uzantılar tarayıcısı üzerinden

  1. Claude Desktop'ı açın ve Ayarlar → Uzantılar'a gidin
  2. 'Uzantılara gözat'ı tıklayın ve 'Airtable MCP Server'ı bulun
  3. 'Kur'ı tıklayın ve API anahtarınızı yapıştırın

(İleri) Alternatif: Manuel .mcpb kurulumu üzerinden

  1. GitHub Actions geçmişinde en son mcpb derlemesini bulun (en üstteki)
  2. 'Artifacts' bölümünde, airtable-mcp-server-mcpb dosyasını indirin
  3. .zip dosyasını .mcpb olarak yeniden adlandırın
  4. Claude Desktop ile açmak için .mcpb dosyasını çift tıklayın
  5. "Kur"ı tıklayın ve API anahtarınızla yapılandırın

(İleri) Alternatif: JSON yapılandırması üzerinden

  1. Node.js yükleyin
  2. Claude Desktop'ı açın ve Ayarlar → Geliştirici'ye gidin
  3. claude_desktop_config.json dosyanızı açmak için "Yapılandırmayı Düzenle'yi tıklayın
  4. Aşağıdaki yapılandırmayı "mcpServers" bölümüne ekleyin ve pat123.abc123 yerine API anahtarınızı yazın:
{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-mcp-server"
      ],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123",
      }
    }
  }
}
  1. Dosyayı kaydedin ve Claude Desktop'ı yeniden başlatın

Cursor

(Önerilir) Tek tıklama kurulumu üzerinden

  1. MCP Sunucusunu Kur üzerine tıklayın
  2. API anahtarınızı eklemek için mcp.json dosyanızı düzenleyin

(İleri) Alternatif: JSON yapılandırması üzerinden

Global (~/.cursor/mcp.json) veya projeye özel (.cursor/mcp.json) bir yapılandırma dosyası oluşturun ve pat123.abc123 yerine API anahtarınızı yazın:

{
  "mcpServers": {
    "airtable": {
      "command": "npx",
      "args": ["-y", "airtable-mcp-server"],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123"
      }
    }
  }
}

Cline

(Önerilir) Market üzerinden

  1. Cline uzantısında "MCP Servers" simgesini tıklayın
  2. "Airtable" araması yapın ve "Kur"ı tıklayın
  3. Sunucuyu kurmak için istemleri izleyin

(İleri) Alternatif: JSON yapılandırması üzerinden

  1. Cline uzantısında "MCP Servers" simgesini tıklayın
  2. "Kurulu" sekmesine tıklayın, ardından en alttaki "MCP Sunucularını Yapılandır" düğmesini tıklayın
  3. Aşağıdaki yapılandırmayı "mcpServers" bölümüne ekleyin ve pat123.abc123 yerine API anahtarınızı yazın:
{
  "mcpServers": {
    "airtable": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "airtable-mcp-server"],
      "env": {
        "AIRTABLE_API_KEY": "pat123.abc123"
      }
    }
  }
}

Bileşenler

Araçlar

  • list_records

    • Belirtilen bir Airtable tablosundan kayıtları listeler
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Sorgulanacak tablonun kimliği
      • maxRecords (number, isteğe bağlı): Döndürülecek maksimum kayıt sayısı. Varsayılan 100.
      • filterByFormula (string, isteğe bağlı): Kayıtları filtrelemek için Airtable formülü
  • search_records

    • Belirli metni içeren kayıtları arar
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Sorgulanacak tablonun kimliği
      • searchTerm (string, zorunlu): Kayıtlarda aranacak metin
      • fieldIds (array, isteğe bağlı): Aranacak belirli alan kimlikleri. Sağlanmazsa, tüm metin tabanlı alanlar aranır.
      • maxRecords (number, isteğe bağlı): Döndürülecek maksimum kayıt sayısı. Varsayılan 100.
  • list_bases

    • Erişilebilir tüm Airtable tabanlarını listeler
    • Giriş parametresi gerekli değil
    • Taban kimliğini, adını ve izin düzeyini döndürür
  • list_tables

    • Belirtilen bir tabandaki tüm tabloları listeler
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • detailLevel (string, isteğe bağlı): Tablolar hakkında alınacak ayrıntı düzeyi (tableIdentifiersOnly, identifiersOnly veya full)
    • Tablo kimliğini, adını, açıklamasını, alanları ve görünümleri (verilen detailLevel'e kadar) döndürür
  • describe_table

    • Belirtilen bir tablo hakkında ayrıntılı bilgi alır
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Açıklanacak tablonun kimliği
      • detailLevel (string, isteğe bağlı): Tablo hakkında alınacak ayrıntı düzeyi (tableIdentifiersOnly, identifiersOnly veya full)
    • list_tables ile aynı biçimi döndürür, ancak tek bir tablo için
    • Tabanın tüm tablolar hakkında bilgi almadan belirli bir tablo hakkında ayrıntılar almak için kullanışlıdır
  • get_record

    • Kimliğe göre belirli bir kaydı alır
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • recordId (string, zorunlu): Alınacak kaydın kimliği
  • create_record

    • Bir tabloda yeni bir kayıt oluşturur
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • fields (object, zorunlu): Yeni kayıt için alanlar ve değerler
  • update_records

    • Bir tabloda bir veya daha fazla kaydı günceller
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • records (array, zorunlu): Kayıt kimliği ve güncellenecek alanları içeren nesnelerin dizisi
  • delete_records

    • Bir tablodan bir veya daha fazla kaydı siler
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • recordIds (array, zorunlu): Silinecek kayıt kimliklerinin dizisi
  • create_table

    • Bir tabanda yeni bir tablo oluşturur
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • name (string, zorunlu): Yeni tablonun adı
      • description (string, isteğe bağlı): Tablonun açıklaması
      • fields (array, zorunlu): Alan tanımlarının dizisi (ad, tür, açıklama, seçenekler)
  • update_table

    • Tablonun adını veya açıklamasını günceller
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • name (string, isteğe bağlı): Tablo için yeni ad
      • description (string, isteğe bağlı): Tablo için yeni açıklama
  • create_field

    • Bir tabloda yeni bir alan oluşturur
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • name (string, zorunlu): Yeni alanın adı
      • type (string, zorunlu): Alanın türü
      • description (string, isteğe bağlı): Alanın açıklaması
      • options (object, isteğe bağlı): Alana özel seçenekler
  • update_field

    • Alanın adını veya açıklamasını günceller
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • fieldId (string, zorunlu): Alanın kimliği
      • name (string, isteğe bağlı): Alan için yeni ad
      • description (string, isteğe bağlı): Alan için yeni açıklama
  • create_comment

    • Bir kaydın üzerine yorum oluşturur
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • recordId (string, zorunlu): Kaydın kimliği
      • text (string, zorunlu): Yorum metni
      • parentCommentId (string, isteğe bağlı): İş parçacıklı yanıtlar için üst yorum kimliği
    • Oluşturulan yorumu kimliği, yazarı, oluşturulma saati ve metni ile döndürür
  • list_comments

    • Bir kaydın üzerindeki yorumları listeler
    • Giriş parametreleri:
      • baseId (string, zorunlu): Airtable tabanının kimliği
      • tableId (string, zorunlu): Tablonun kimliği
      • recordId (string, zorunlu): Kaydın kimliği
      • pageSize (number, isteğe bağlı): Döndürülecek yorum sayısı (maks. 100, varsayılan 100)
      • offset (string, isteğe bağlı): Ek yorumları almak için pagination offseti
    • Yazarı, metni, zaman damgalarını, tepkileri ve bahsetmeleri içeren yorumlar dizisini döndürür
    • Yorumlar en yeniden en eski'ye doğru döndürülür

HTTP Transport

Sunucu uzak MCP istemcileri ile kullanmak için HTTP modunda da çalışabilir:

MCP_TRANSPORT=http PORT=3000 npx airtable-mcp-server

Bu, http://localhost:3000/mcp adresinde durumsuz bir HTTP sunucusu başlatır. Not: HTTP transport'un yerleşik kimlik doğrulaması yoktur - yalnızca ters proxy arkasında veya güvenli bir ortamda kullanın.

Katkıda Bulunma

GitHub'da pull requestlere açığız! Başlamak için:

  1. Git ve Node.js'yi yükleyin
  2. Depoyu klonlayın
  3. npm install ile bağımlılıkları yükleyin
  4. Testleri çalıştırmak için npm run test çalıştırın
  5. npm run build ile derleyin
  • src/index.ts dosyasını düzenledikten sonra otomatik olarak derlemek için npm run build:watch kullanabilirsiniz. Bu, kaydedin, Claude Desktop'ı yeniden yükleyin (Ctrl/Cmd+R ile) ve değişiklikler uygulanacak anlamına gelir.

Sürümler

Sürümler semantic versioning spec izler.

Sürüm yayınlamak için:

  1. Sürümü yükseltmek için npm version <major | minor | patch> kullanın
  2. Etiketlerle göndermek için git push --follow-tags çalıştırın
  3. GitHub Actions'ın NPM kayıt defterine yayınlanmasını bekleyin.

Benzer MCP sunucuları

Daha fazla: Databases →