Müşteri adı gibi kişisel bilgiler yazmayın.

Bu sayfa İngilizceden çevrilmiştir. Esas olan İngilizce sürümdür — bir şey yanlış görünüyorsa onu kontrol edin. EN

Bir Yapay Zekâ Ajanı Bağlama (MCP)

Claude, ChatGPT, Cursor veya kendi ajanınızı MCP üzerinden kurumsal çalışma alanınıza bağlayın; ajan bir müşterinin belgelerinden DS-160 formları hazırlasın ve müşteri bağlantıları göndersin.

Bir göçmenlik danışmanlık firmasının kendi yapay zekâ ajanı, MCP (Model Context Protocol) üzerinden firmanın DS160.io çalışma alanında çalışabilir. Ajan, bir müşterinin belgelerinden veya e-postalarından bir form oluşturabilir, bulduğu cevapları doldurabilir, neyin hâlâ eksik olduğunu kontrol edebilir ve kalanını tamamlaması için müşteriye bir bağlantı gönderebilir. Ardından ekibiniz başvuruyu kontrol eder ve CEAC’ta kendisi imzalar.

Ajan tek bir kurumsal çalışma alanına bağlanır ve yalnızca sizin izin verdiğiniz işleri yapabilir. Yapabildiği her şey aynı zamanda DS160.io API’sinin bir uç noktasıdır.

Başlamadan önce

  • Kurumsal bir çalışma alanı. MCP kurumsal çalışma alanlarında kullanılabilir.
  • Sahip veya Yönetici erişimi. API anahtarlarını yalnızca çalışma alanının Sahipleri ve Yöneticileri oluşturabilir ve bir bağlantıya izin verebilir.
  • Bir MCP istemcisi. Claude Code, Cursor, VS Code, Codex ve Windsurf bir API anahtarıyla bağlanır. claude.ai ve ChatGPT ise DS160.io’ya giriş yaparak bağlanır.

Sunucunun adresi şudur:

https://www.ds160.io/api/mcp

Çalışma alanınızın kendi alan adı olsa bile bu adresi kullanın.

API anahtarıyla bağlanma

  1. Çalışma alanı ayarları → Ekip ve erişim → API anahtarları bölümünü açın ve API anahtarı oluştur düğmesine tıklayın.
  2. Anahtara ajanın adını verin (ör. Claude Code, kabul ekibi), MCP hazır ayarını seçin ve anahtarı oluşturun. Hazır ayar runs:write dışındaki tüm kapsamları işaretler; ajanın ihtiyaç duymadığı kapsamların işaretini kaldırın.
  3. Gizli anahtarı kopyalayın. ds160_sk_ ile başlar ve yalnızca bir kez gösterilir.
  4. Sunucuyu, gizli anahtar bir Authorization başlığında olacak şekilde istemcinize ekleyin. Claude Code’da:
claude mcp add --transport http ds160 https://www.ds160.io/api/mcp --header "Authorization: Bearer ds160_sk_…"

Diğer istemciler aynı adresi ve başlığı kendi ayarlarında alır. Cursor’da (.cursor/mcp.json):

{
    "mcpServers": {
        "ds160": {
            "url": "https://www.ds160.io/api/mcp",
            "headers": { "Authorization": "Bearer ds160_sk_…" }
        }
    }
}

VS Code’da (.vscode/mcp.json), aynı url ve headers değerlerini "type": "http" ile "servers" altına ekleyin. Gizli anahtarı commit ettiğiniz dosyaların dışında tutun: istemcinizin ortam değişkenleri veya gizli girdiler desteği varsa onu kullanın.

claude.ai veya ChatGPT’yi bağlama

claude.ai ve ChatGPT anahtar göndermez. Bunun yerine DS160.io’ya giriş yaparak bağlanırlar:

  1. claude.ai veya ChatGPT’de https://www.ds160.io/api/mcp adresini özel bağlayıcı (custom connector) olarak ekleyin.
  2. İstendiğinde kendi hesabınızla DS160.io’ya giriş yapın.
  3. Ajanın çalışacağı kurumsal çalışma alanını seçin.
  4. İstenen izinleri inceleyin, ardından izin vermek için tıklayın.

Ajan bundan sonra o çalışma alanında sizin adınıza hareket eder. Bir bağlantıya izin vermek için çalışma alanının Sahibi veya Yöneticisi olmanız gerekir.

Kapsamlar: her biri neye izin verir

KapsamAjanın yapabilecekleri
forms:readFormları listelemek, bir formun adını ve durumunu okumak, neyin eksik olduğunu kontrol etmek, bir gönderimi takip etmek
forms:writeForm oluşturmak (ve okumak)
forms:cloneMevcut bir formu yeni bir forma kopyalamak
client-links:writeBaşvuru sahiplerine gönderilecek müşteri bağlantıları oluşturmak
answers:readBir formun cevaplarını okumak
answers:writeBir formun cevaplarını yazmak ve kaldırmak
runs:writeCEAC’ta bir gönderim başlatmak ve takip etmek

answers:read, başvuru sahiplerinin kişisel verilerini DS160.io’nun dışına gönderir. Ajanın okuduğu adlar, doğum tarihleri, pasaport numaraları, seyahat geçmişi ve diğer tüm DS-160 cevapları ajana ve onu çalıştıran tarafa (örneğin bir yapay zekâ sağlayıcısına) iletilir. Müşterilerinin verilerinin veri sorumlusu olarak buna izin verilip verilmeyeceğine çalışma alanınız karar verir ve bu veriler DS160.io’dan çıktıktan sonra onlardan çalışma alanınız sorumludur (bkz. gizlilik politikası ve Veri İşleme Sözleşmesi). Ajanın yalnızca form doldurması gerekiyorsa answers:read kapsamını vermeyin: yalnızca answers:write ile cevapları geri okumadan yazabilir.

Ajanın yapabilecekleri ve yapamayacakları

  • Bir formu hazırlayabilir: formu oluşturabilir, müşterinin gönderdiklerinden cevapları doldurabilir, hangi soruların hâlâ eksik olduğunu veya reddedileceğini görebilir ve kalanı için müşteriye bir bağlantı gönderebilir.
  • Yazdığı her cevap, form düzenleyicisinin kontrol ettiği gibi kontrol edilir. Soru İngilizce dışındaki harflere izin vermiyorsa metin büyük harflerle kaydedilir. Uymayan bir cevap bir gerekçeyle reddedilir ve toplu işlemdeki diğer cevaplar bundan etkilenmez.
  • Her değişiklik kaydedilir. Formun Değişiklik geçmişi, her değişikliği bir anahtar için “API key ad”, bir bağlantı için “üye via ajan” olarak gösterir.
  • İmzalayamaz veya gönderemez. Bir ajanın başlattığı gönderim, çalışma alanının ayarı ne olursa olsun her zaman imzalamadan önce durur: bir kişi başvuruyu kontrol eder ve CEAC’ta imzalar (bkz. İmzalamadan Önce İnceleme).
  • CEAC’ın captcha’larını yazamaz. Gönderim beklerken bunları bir kişi DS160.io’da yazar; gönderim, birine ne zaman ve nerede ihtiyaç olduğunu ajana bildirir.
  • Form oluşturmak, uygulamada form oluşturmak gibi faturalandırılır: oluşturulan veya klonlanan her form, oluşturulmuş bir form sayılır.
  • Yalnızca kendi çalışma alanında çalışır. Diğer çalışma alanlarını göremez ve başka bir çalışma alanındaki bir form bulunamadı olarak bildirilir.

Araçlar

AraçNe yaparKapsam
list_formsÇalışma alanının formlarını en yeniden başlayarak listelerforms:read
get_formBir formun adını, durumunu ve onayını okurforms:read
create_formBir form oluşturur (oluşturulan form başına faturalandırılır)forms:write
clone_formBir formu, isteğe bağlı olarak bazı bölümleri dışarıda bırakarak yeni bir forma kopyalarforms:clone
create_client_linkBir form için müşteri bağlantısı oluştururclient-links:write
search_docsBu dokümanlarda arama yapar; anahtar veya bağlantı başına günde 200 aramaherhangi biri
describe_form_pagesFormun sayfalarını ve her soruyu listeler: cevap yolu, türü, zorunlu olup olmadığı, açılır liste değerleri ve her cevabın açtığı sorular; her cevap türü için JSON ile birlikteherhangi biri
get_answersBir formun cevaplarını, formun tamamı veya tek bir sayfa için okuranswers:read
set_answersÇağrı başına en fazla 200 cevabı sırayla yazar: her biri yazılır, kaldırılır (değer null) veya bir kod ve gerekçeyle reddediliranswers:write
get_form_progressHer bölüm için: durumu, cevaplanmamış zorunlu sorular ve yola göre sorunlar; ayrıca formun tamamlanıp tamamlanmadığıforms:read, answers:read veya answers:write
start_runSeçilen bir konsolosluk için CEAC’ta bir gönderim başlatır; imzalamadan önce dururruns:write
get_runBir gönderimin durumu, nerede olduğunun özeti, bir kişiye ihtiyaç olup olmadığı ve gönderimin bağlantısıruns:write veya forms:read

Erişimi iptal etme

  • Bir anahtar: Çalışma alanı ayarları → Ekip ve erişim → API anahtarları bölümünden iptal edin. Ajanın yaptığı bir sonraki çağrı reddedilir.
  • Bir bağlantı (claude.ai, ChatGPT): Hesap ve Güvenlik bölümünden veya tüm çalışma alanı için Çalışma alanı ayarları bölümünden iptal edin. İkisi de mevcut bağlantıları listeler.

Bir anahtar sızmış olabilirse veya bir ajan artık kullanılmıyorsa hemen iptal edin.

Ajanı başvuru sahibinin verdikleriyle sınırlayın

Bir DS-160’ı, her cevabın doğru olduğunu beyan eden başvuru sahibi imzalar. Ajanınıza yalnızca başvuru sahibinin size verdiklerinden (belgeleri, e-postaları ve cevapları) yararlanarak cevap vermesini, asla tahmin etmemesini veya cevap uydurmamasını söyleyin. Emin olmadığı yerde soruyu boş bırakmalıdır; böylece get_form_progress soruyu eksik olarak gösterir ve müşteri veya ekibiniz onu cevaplar. Formu kimse imzalamadan önce inceleyin.

Sorun giderme

SorunNe yapmalı
İstemci bağlanamıyor veya 401 alıyorAdresin https://www.ds160.io/api/mcp ve başlığın tam gizli anahtarla Authorization: Bearer <secret> olduğunu kontrol edin. İptal edilmiş bir anahtar yeniden kullanılamaz: yeni bir anahtar oluşturun.
Bir araç bir kapsamın eksik olduğunu söylüyorAnahtarda veya bağlantıda bu kapsam yok. Bu kapsamla bir anahtar oluşturun (veya yeniden bağlanıp kapsama izin verin), ardından eskisini iptal edin.
Bir cevap reddediliyorGerekçesini okuyun. Doğru yol ve bir açılır listenin kabul ettiği değerler için describe_form_pages kullanın.
start_run reddediliyorget_form_progress, her bölümde neyin eksik veya hatalı olduğunu listeler. Bunları tamamlayın, ardından gönderimi yeniden başlatın. Formun bir gönderimi zaten sürüyorsa onu get_run ile takip edin.
Gönderim needsPerson ile bekliyorBiri gönderimin bağlantısını DS160.io’da açar ve captcha’yı yazar. Gönderim imzaya hazır olduğunda biri başvuruyu kontrol eder ve CEAC’ta imzalar.