Geben Sie keine persönlichen Daten ein, etwa den Namen eines Kunden.
Einen KI-Agenten verbinden (MCP)
Verbinden Sie Claude, ChatGPT, Cursor oder Ihren eigenen Agenten über MCP mit Ihrem Business-Arbeitsbereich, damit er DS-160-Formulare aus den Unterlagen eines Kunden vorbereitet und Kundenlinks sendet.
Der eigene KI-Agent einer Einwanderungsberatung kann über MCP (das Model Context Protocol) in ihrem DS160.io-Arbeitsbereich arbeiten. Aus den Unterlagen oder E-Mails eines Kunden kann der Agent ein Formular erstellen, die gefundenen Antworten eintragen, prüfen, was noch fehlt, und dem Kunden einen Link senden, um den Rest auszufüllen. Ihr Team prüft den Antrag anschließend und unterschreibt ihn selbst auf CEAC.
Der Agent verbindet sich mit einem Business-Arbeitsbereich und kann nur das tun, was Sie ihm erlauben. Alles, was er tun kann, ist auch ein Endpunkt der DS160.io-API.
Bevor Sie beginnen
- Ein Business-Arbeitsbereich. MCP gibt es in Business-Arbeitsbereichen.
- Inhaber- oder Administratorzugriff. Nur Inhaber und Administratoren eines Arbeitsbereichs können API-Schlüssel erstellen oder eine Verbindung zulassen.
- Ein MCP-Client. Claude Code, Cursor, VS Code, Codex und Windsurf verbinden sich mit einem API-Schlüssel. claude.ai und ChatGPT verbinden sich, indem Sie sich bei DS160.io anmelden.
Die Adresse des Servers lautet:
https://www.ds160.io/api/mcp
Verwenden Sie diese Adresse auch dann, wenn Ihr Arbeitsbereich eine eigene Domain hat.
Mit einem API-Schlüssel verbinden
- Öffnen Sie Arbeitsbereichseinstellungen → Team und Zugriff → API-Schlüssel und klicken Sie auf API-Schlüssel erstellen.
- Benennen Sie den Schlüssel nach dem Agenten (zum Beispiel Claude Code, Erfassungsteam), wählen Sie die Vorlage MCP und erstellen Sie den Schlüssel. Die Vorlage wählt alle Berechtigungen außer
runs:writeaus; entfernen Sie jede Berechtigung, die der Agent nicht braucht. - Kopieren Sie das Geheimnis. Es beginnt mit
ds160_sk_und wird nur einmal angezeigt. - Fügen Sie den Server Ihrem Client mit dem Geheimnis in einem
Authorization-Header hinzu. In Claude Code:
claude mcp add --transport http ds160 https://www.ds160.io/api/mcp --header "Authorization: Bearer ds160_sk_…"
Andere Clients nehmen dieselbe Adresse und denselben Header in ihren Einstellungen auf. In Cursor (.cursor/mcp.json):
{
"mcpServers": {
"ds160": {
"url": "https://www.ds160.io/api/mcp",
"headers": { "Authorization": "Bearer ds160_sk_…" }
}
}
}
In VS Code (.vscode/mcp.json) tragen Sie dieselben url und headers unter "servers" mit "type": "http" ein. Halten Sie das Geheimnis aus Dateien heraus, die Sie committen: Nutzen Sie die Unterstützung Ihres Clients für Umgebungsvariablen oder geheime Eingaben, wo es sie gibt.
claude.ai oder ChatGPT verbinden
claude.ai und ChatGPT senden keinen Schlüssel. Sie verbinden sich stattdessen, indem Sie sich bei DS160.io anmelden:
- Fügen Sie in claude.ai oder ChatGPT
https://www.ds160.io/api/mcpals benutzerdefinierten Connector hinzu. - Melden Sie sich auf Nachfrage mit Ihrem eigenen Konto bei DS160.io an.
- Wählen Sie den Business-Arbeitsbereich, in dem der Agent arbeiten soll.
- Prüfen Sie die angefragten Berechtigungen und klicken Sie dann auf Zulassen.
Der Agent handelt dann als Sie, in diesem Arbeitsbereich. Um eine Verbindung zuzulassen, müssen Sie Inhaber oder Administrator des Arbeitsbereichs sein.
Berechtigungen: was jede erlaubt
| Berechtigung | Was der Agent tun kann |
|---|---|
forms:read | Formulare auflisten, Name und Status eines Formulars lesen, prüfen, was fehlt, eine Einreichung verfolgen |
forms:write | Formulare erstellen (und lesen) |
forms:clone | Ein vorhandenes Formular in ein neues kopieren |
client-links:write | Kundenlinks zum Senden an Antragsteller erstellen |
answers:read | Die Antworten eines Formulars lesen |
answers:write | Die Antworten eines Formulars schreiben und entfernen |
runs:write | Eine Einreichung bei CEAC starten und verfolgen |
answers:read gibt personenbezogene Daten von Antragstellern aus DS160.io heraus. Namen, Geburtsdaten, Passnummern, Reisehistorie und jede andere DS-160-Antwort, die der Agent liest, gehen an den Agenten und an den, der ihn betreibt, etwa einen KI-Anbieter. Ihr Arbeitsbereich entscheidet als Verantwortlicher für die Daten seiner Kunden, ob das zulässig ist, und ist für diese Daten verantwortlich, sobald sie DS160.io verlassen (siehe die Datenschutzerklärung und den Auftragsverarbeitungsvertrag). Wenn der Agent Formulare nur ausfüllen soll, lassen Sie answers:read weg: Mit answers:write allein kann er Antworten schreiben, ohne sie zurückzulesen.
Was der Agent kann und was nicht
- Er kann ein Formular vorbereiten: es erstellen, Antworten aus dem eintragen, was der Kunde gesendet hat, sehen, welche Fragen noch fehlen oder abgelehnt würden, und dem Kunden einen Link für den Rest senden.
- Jede Antwort, die er schreibt, wird geprüft, so wie der Formulareditor sie prüft. Text wird in Großbuchstaben gespeichert, sofern die Frage keine Buchstaben außerhalb des Englischen erlaubt. Eine Antwort, die nicht passt, wird mit einer Begründung abgelehnt, und der Rest des Stapels ist davon nicht betroffen.
- Jede Änderung wird protokolliert. Der Änderungsverlauf des Formulars zeigt jede Änderung als „API key Name“ bei einem Schlüssel oder als „Mitglied via Agent“ bei einer Verbindung.
- Er kann nicht unterschreiben oder einreichen. Eine von einem Agenten gestartete Einreichung hält immer vor dem Unterschreiben an, unabhängig von der Einstellung des Arbeitsbereichs: Eine Person prüft den Antrag und unterschreibt ihn auf CEAC (siehe Vor dem Unterschreiben prüfen).
- Er kann die Captchas von CEAC nicht eingeben. Eine Person gibt sie in DS160.io ein, während die Einreichung wartet; die Einreichung teilt dem Agenten mit, wann und wo jemand gebraucht wird.
- Das Erstellen eines Formulars wird abgerechnet wie in der App: Jedes erstellte oder geklonte Formular zählt als erstelltes Formular.
- Er arbeitet nur in seinem eigenen Arbeitsbereich. Er sieht keine anderen Arbeitsbereiche, und ein Formular aus einem anderen Arbeitsbereich wird als nicht gefunden gemeldet.
Werkzeuge
| Werkzeug | Was es tut | Berechtigung |
|---|---|---|
list_forms | Listet die Formulare des Arbeitsbereichs auf, das neueste zuerst | forms:read |
get_form | Liest Name, Status und Einwilligung eines Formulars | forms:read |
create_form | Erstellt ein Formular (abgerechnet pro erstelltem Formular) | forms:write |
clone_form | Kopiert ein Formular in ein neues, auf Wunsch ohne bestimmte Abschnitte | forms:clone |
create_client_link | Erstellt einen Kundenlink für ein Formular | client-links:write |
search_docs | Durchsucht diese Dokumentation, 200 Suchen pro Tag und Schlüssel oder Verbindung | beliebig |
describe_form_pages | Listet die Seiten des Formulars und jede Frage auf: ihren Antwortpfad, Typ, ob sie Pflicht ist, Dropdown-Werte und die Fragen, die jede Antwort öffnet, mit dem JSON für jeden Antworttyp | beliebig |
get_answers | Liest die Antworten eines Formulars, für das ganze Formular oder eine Seite | answers:read |
set_answers | Schreibt bis zu 200 Antworten pro Aufruf, der Reihe nach: Jede wird geschrieben, entfernt (Wert null) oder mit Code und Begründung abgelehnt | answers:write |
get_form_progress | Für jeden Abschnitt: sein Status, die Pflichtfragen ohne Antwort und die Probleme nach Pfad; und ob das Formular vollständig ist | forms:read, answers:read oder answers:write |
start_run | Startet eine Einreichung bei CEAC für ein gewähltes Konsulat; hält vor dem Unterschreiben an | runs:write |
get_run | Status einer Einreichung, eine Zusammenfassung, wo sie steht, ob eine Person gebraucht wird, und der Link dorthin | runs:write oder forms:read |
Zugriff widerrufen
- Ein Schlüssel: Widerrufen Sie ihn unter Arbeitsbereichseinstellungen → Team und Zugriff → API-Schlüssel. Der nächste Aufruf des Agenten wird abgelehnt.
- Eine Verbindung (claude.ai, ChatGPT): Widerrufen Sie sie unter Konto und Sicherheit oder für den ganzen Arbeitsbereich in den Arbeitsbereichseinstellungen. Beide listen die bestehenden Verbindungen auf.
Widerrufen Sie sofort, wenn ein Schlüssel offengelegt worden sein könnte oder ein Agent nicht mehr genutzt wird.
Halten Sie den Agenten an die Angaben des Antragstellers
Ein DS-160 wird vom Antragsteller unterschrieben, der erklärt, dass jede Antwort wahr ist. Weisen Sie Ihren Agenten an, nur aus dem zu antworten, was der Antragsteller Ihnen gegeben hat (seine Unterlagen, E-Mails und Antworten), und niemals eine Antwort zu raten oder zu erfinden. Wo er unsicher ist, soll er die Frage leer lassen, damit get_form_progress sie als fehlend zeigt und der Kunde oder Ihr Team sie beantwortet. Prüfen Sie das Formular, bevor jemand es unterschreibt.
Fehlerbehebung
| Problem | Was zu tun ist |
|---|---|
Der Client kann sich nicht verbinden oder erhält 401 | Prüfen Sie, dass die Adresse https://www.ds160.io/api/mcp lautet und der Header Authorization: Bearer <secret> mit dem vollständigen Geheimnis. Ein widerrufener Schlüssel kann nicht wieder verwendet werden: Erstellen Sie einen neuen. |
| Ein Werkzeug meldet eine fehlende Berechtigung | Dem Schlüssel oder der Verbindung fehlt diese Berechtigung. Erstellen Sie einen Schlüssel damit (oder verbinden Sie sich erneut und erlauben Sie sie), dann widerrufen Sie den alten. |
| Eine Antwort wird abgelehnt | Lesen Sie die Begründung. Nutzen Sie describe_form_pages für den richtigen Pfad und die Werte, die ein Dropdown akzeptiert. |
start_run wird abgelehnt | get_form_progress listet auf, was in jedem Abschnitt fehlt oder falsch ist. Ergänzen Sie es und starten Sie die Einreichung erneut. Läuft bereits eine Einreichung des Formulars, verfolgen Sie sie mit get_run. |
Die Einreichung wartet mit needsPerson | Jemand öffnet den Link der Einreichung in DS160.io und gibt das Captcha ein. Sobald die Einreichung zum Unterschreiben bereit ist, prüft jemand den Antrag und unterschreibt ihn auf CEAC. |