MCP sunucusu

Model Context Protocol (MCP), AI aracılarının harici araçlarla ve veri kaynaklarıyla konuşmasını sağlayan açık bir standarttır. DynoTable bir MCP sunucusu olarak davranabilir — böylece terminalinde ya da editöründe çalışan bir aracı (Claude Code, Cursor, Codex ve diğerleri), şemaları ve sonuçları bir sohbete ileri geri kopyalamak yerine DynamoDB tablolarınla doğrudan çalışabilir.

Bağlandığında, aracı, yerleşik asistanın kullandığı aynı kapılı araç setini elde eder — şemanı okuma, sorgular ve tek öğe okumaları çalıştırma, inceleme için değişiklikleri hazırlama, görünümleri açma ve dışa aktarma — yerel, yalnızca loopback bir HTTP endpoint'i üzerinden. Aracı, AWS kimlik bilgilerini asla elinde tutmadan tablolarını keşfeder, sorgular ve düzenlemeler önerir.

Varsayılan olarak kapalıdır. Onu açmak ve her bir bağlantı, açıkça senin kontrolündedir — aşağıdaki Güvenlik bölümüne bak.

Sunucuyu etkinleştir

Ayarlar → MCP Server'ı aç ve onu aç. DynoTable, 127.0.0.1'e bağlı bir sunucu başlatır (yalnızca loopback — başka bir makineden asla erişilemez) ve onun için bağlanma komutunu gösterir.

Ayarlar → MCP Server: sunucu yerel bir loopback portunda çalışıyor; bağlı istemcilerin listesi ve erişim düzeyleriyle birlikte.
Ayarlar → MCP Server: sunucu yerel bir loopback portunda çalışıyor; bağlı istemcilerin listesi ve erişim düzeyleriyle birlikte.

Profilleri sun

Sunucu açık, ama bir profil sunana kadar hiçbir aracı bağlanamaz. Bir profilin Ayarlar'daki MCP bölümünü aç ve MCP üzerinden sun'u etkinleştir. Sunulan her profil kendi bağlanma komutunu alır — böylece profil başına bir bağlantı kurabilirsin (örneğin bir dynotable-dev ve bir dynotable-prod), her biri o profilin kimlik bilgilerine ve bölgesine sıkıca izole edilir. Bir bağlantı, yalnızca bağlı olduğu profilin verisini görür.

Hem AWS destekli hem yerel (DynamoDB-Local) profiller sunulabilir. Yerel bir profili sunmak, bir aracının yerel seed'lenmiş tablolarını MCP üzerinden sürmesini sağlar — geliştirme için kullanışlıdır. (Aynı porttaki iki yerel profil aynı yerel veritabanını paylaşır, bu yüzden aynı tabloları görürler.)

Bir profilin **MCP üzerinden sun** açık MCP bölümü — profil başına bağlanma bloğu, istemcine ekleyeceğin endpoint'i gösterir.
Bir profilin **MCP üzerinden sun** açık MCP bölümü — profil başına bağlanma bloğu, istemcine ekleyeceğin endpoint'i gösterir.

Bir istemci bağla

DynoTable, MCP'yi streamable HTTP üzerinden konuşur, böylece MCP yeteneğine sahip herhangi bir aracı bağlanabilir. Sunulan her profil, kendi MCP bölümünde kendi bağlanma komutunu gösterir — onu oradan kopyala. Komut http://127.0.0.1:<port>/mcp?profile=<slug> adresini işaret eder: ?profile=<slug>, DynoTable'a hangi profili istediğini söyler ve onu onay isteminde ön seçer (yalnızca bir ipucudur — yine de sen onaylarsın). Sunucu adında profil slug'ını kullanmak (örneğin dynotable-prod), iki profilin bağlantılarını ayrı tutar.

Aşağıdaki örnekler slug olarak prod kullanır; profilinin slug'ını ve Ayarlar'daki gerçek portu yerine koy.

Bunu projende çalıştır — profilin MCP bölümünde gösterilen tam komuttur:

claude mcp add --transport http dynotable-prod "http://127.0.0.1:<port>/mcp?profile=prod"

İkinci bir profili bağlamak için, o profilin komutuyla (kendi slug'ıyla) tekrarla. Bağlandıktan sonra, yeni sunucuyu alması için istemciyi yeniden başlat ya da yeniden yükle.

Bağlantıyı onayla

Bir istemci ilk kez bağlandığında, DynoTable uygulamanın içinde bir onay istemi gösterir. Bağlanan istemciyi adlandırır, bağlantının hangi profile bağlanacağını seçmene izin verir (?profile= ipucundan ön seçilir, sunduğun profillerle sınırlı) ve senden bir kapsam vermeni — ya da reddetmeni — ister. Sen onaylayana kadar hiçbir şey sunulmaz.

Uygulama içi onay istemi: bağlanan bir istemci erişim ister ve sen üç kapsamdan birini verir ya da reddedersin.
Uygulama içi onay istemi: bağlanan bir istemci erişim ister ve sen üç kapsamdan birini verir ya da reddedersin.

Kapsamlar

Bir kapsam, bağlantının hangi araçları görebileceğine ve kullanabileceğine karar verir. Bunlar birikimlidir — her kademe, kendinden öncekileri kapsar:

  • Salt okuma — şemanı oku, sorgular çalıştır ve öğeleri oku. Değişiklik yok.
  • Oku ve hazırla — Salt okumadaki her şey, artı incelemen ve işlemen için değişiklikleri hazırlama (aracı DynamoDB'ye asla doğrudan yazmaz — bunu hazırlama üzerinden yönlendirir).
  • Tam erişim — yukarıdaki her şey, artı görünümleri açma, filtreler ayarlama ve sonuçları dışa aktarma. Yazmalar yine de hazırlamadan geçer — Tam erişimde bile aracı DynamoDB'ye doğrudan yazamaz.

Bağlantı, istemde onayladığın profili bağlar — onun kimlik bilgileri ve bölgesi bağlantının ömrü boyunca sabitlenir, böylece tam olarak o profilin verisini okur (ve ona yazmaları hazırlar). İstemdeki istemci adı, bağlanan aracı tarafından kendi bildirimidir, bu yüzden gerçek kapı, onayladığın profil ve kapsamdır, ad değil.

Onaylanan profil MFA kullanıyorsa, aracıdan tek seferlik kod doğrudan kendi oturumunda istenir — DynoTable'a geri dönmene gerek yok. (SSO ile oturum açan profiller, o oturum açmayı yine DynoTable'da tamamlar.)

Bağlantıları yönet

Onaylanan her istemci, Ayarlar → MCP Server'da listelenir. İstediğin zaman herhangi birini iptal et — iptal edilen bir istemci, bir sonraki isteğinde kesilir. Bir profili sunmayı bırakmak, onun bağlantılarını da anında iptal eder. Sunucuyu kapatmak her şeyi durdurur.

Güvenlik

  • Yalnızca loopback. Sunucu 127.0.0.1'e bağlanır; makineni terk eden hiçbir şey ona erişemez.
  • Varsayılan olarak kapalı, bağlantı başına onay. Sen sunucuyu etkinleştirmeden ve bağlantısını seçtiğin bir kapsamda onaylamadan hiçbir aracı erişim elde etmez.
  • Kimlik bilgileri yerel kalır. Bağlantılar, bu makinedeki mevcut AWS profillerini kullanır (AWS'ye bağlan); kimlik bilgileri aracıya asla gönderilmez.
  • Bağlantı başına bir profil. Her bağlantı, onayladığın tek profile sabitlenir — başka bir profilin tablolarına ya da kimlik bilgilerine asla erişemez.
  • Yazmalar incelemeden geçer. Tam erişimde bile değişiklikler, işlemen için hazırlanır — aracı DynamoDB'ye kendi başına yazamaz.
  • İptal edilebilir. Bir istemciyi ya da sunucuyu istediğin zaman iptal et ya da kapat.

Güncellendi