Installation überspringen. In unter 2 Minuten einsatzbereit.
Starte eine kostenlose Testphase auf cloud.anythingmcp.com, füge Microsoft Dynamics 365 Sales (Dataverse) mit einem Klick hinzu und richte deinen KI-Client (Claude, ChatGPT, Copilot oder Cursor) auf den erzeugten MCP-Endpoint. Kein Docker, kein git clone, keinerlei Entwicklungserfahrung nötig.
Zusammenfassung
Lass deine KI in Dynamics 365 Sales arbeiten: Firmen, Kontakte, Leads und Verkaufschancen finden und aktualisieren, Aufgaben, Anrufe und Notizen festhalten, Leads qualifizieren, Deals abschließen und jede Dataverse-Tabelle mit OData oder FetchXML abfragen. Angemeldet mit deinem Microsoft-Konto über die Dataverse Web API.
Frag einfach
Beispiel-Prompts für Microsoft Dynamics 365 Sales (Dataverse)
Klick auf einen Prompt, um ihn zu kopieren. In Claude, ChatGPT, Cursor, Gemini, Copilot oder OpenClaw einfügen — und gegen diesen Connector laufen lassen.
Claude ist KI und kann Fehler machen. Bitte Antworten gegenprüfen.
💡 Keine Installation? Nutze cloud.anythingmcp.com direkt. Einloggen, Connectors → Microsoft Dynamics 365 Sales (Dataverse) klicken, Zugangsdaten einfügen, MCP-API-Key erzeugen, fertig. Kein Docker, kein
git clone, kein lokaler Server.
Dynamics 365 Sales
Lass deine KI in Dynamics 365 Sales arbeiten: Firmen, Kontakte, Leads und Verkaufschancen finden und aktualisieren, Aufgaben, Anrufe und Notizen festhalten, Leads qualifizieren, Deals abschließen und jede Dataverse-Tabelle mit OData oder FetchXML abfragen. Angemeldet mit deinem Microsoft-Konto über die Dataverse Web API.
Einrichtung
- Finde die Adresse deiner Umgebung: Öffne in Dynamics Settings (das Zahnrad) → Advanced settings oder im Power Platform Admin Center Environments → deine Umgebung → Environment URL. Sie sieht aus wie
contoso.crm4.dynamics.com. Trage den Hostnamen ohnehttps://und ohne Pfad inDYNAMICS_ORG_HOSTein. - Öffne das Microsoft Entra Admin Center unter
https://entra.microsoft.com→ Applications → App registrations → New registration, oder verwende die App wieder, die du für den Outlook-, OneDrive- oder SharePoint-Connector angelegt hast. Accounts in this organizational directory only ist die übliche Wahl. - Füge eine Redirect URI mit der Plattform Web hinzu:
https://cloud.anythingmcp.com/api/mcp-oauth/callback(wenn du AnythingMCP selbst betreibst:<your AnythingMCP URL>/api/mcp-oauth/callback). Sie muss exakt übereinstimmen, sonst antwortet Microsoft mitAADSTS50011. - Setze unter API permissions → Add a permission → Dynamics CRM → Delegated permissions einen Haken bei
user_impersonation. Klicke auf Grant admin consent, wenn deine Organisation Benutzern nicht erlaubt, selbst zuzustimmen. - Kopiere unter Certificates & secrets → New client secret den Value des Secrets. Er wird nur einmal angezeigt.
- Trage
MICROSOFT_CLIENT_ID,MICROSOFT_CLIENT_SECRET,MICROSOFT_TENANT_ID(deine Directory (tenant) ID oder Domain, oderorganizationsfür eine Multi-Tenant-App) undDYNAMICS_ORG_HOSTein, dann installiere den Connector. - Klicke auf Authorize with Provider und melde dich mit einem Benutzer dieser Umgebung an, dann führe
d365_who_am_ials kurze Kontrolle aus.
Die Region steckt im Hostnamen: Die Zahl nach crm ist die Region des Rechenzentrums, zum Beispiel crm für Nordamerika, crm4 für Europa, den Nahen Osten und Afrika, crm11 für das Vereinigte Königreich oder crm16 für Deutschland. Kopiere sie aus der Umgebungs-URL, statt zu raten. Wenn du DYNAMICS_ORG_HOST später änderst, musst du dich neu anmelden, weil die Autorisierung zu genau einer Umgebung gehört.
Dieselben Rechte wie der Benutzer: Der Benutzer, der sich anmeldet, braucht in dieser Umgebung eine Lizenz für Dynamics 365 oder Power Apps und eine Sicherheitsrolle wie Salesperson oder Sales Manager. Die KI sieht und ändert genau das, was diese Rolle erlaubt.
Was der Connector kann: Firmen, Kontakte, Leads und Verkaufschancen finden, anlegen und aktualisieren, Aufgaben, Telefonate und Notizen in ihrer Zeitleiste festhalten, Leads qualifizieren oder disqualifizieren und Verkaufschancen als gewonnen oder verloren schließen. Für alles andere, etwa Angebote, Aufträge, Produkte oder deine eigenen Tabellen, führt d365_query OData-Abfragen aus, und d365_fetchxml_query übernimmt Joins und Summen. d365_list_tables und d365_describe_table zeigen, welche Tabellen und Spalten es gibt.
Erst bestätigen: Die KI bestätigt jedes Anlegen und Ändern mit dir. Einen Lead zu qualifizieren oder eine Verkaufschance als gewonnen oder verloren zu schließen verändert deine Pipeline und lässt sich nur von Hand in Dynamics rückgängig machen, deshalb fragt sie vor jedem dieser Schritte nach.
Bei der Installation ausgeschaltet: die Lösch-Tools d365_delete_account, d365_delete_contact, d365_delete_lead, d365_delete_opportunity und d365_delete_record. Eine Löschung kann auch verknüpfte Datensätze entfernen, schalte sie also nur einzeln ein, wenn du sie brauchst.
Limits: Dataverse erlaubt 6.000 Anfragen pro Benutzer in 5 Minuten; darüber hinaus bittet es den Connector zu warten.
Häufige Fehler: 401 heißt, dass die Autorisierung widerrufen wurde, das Client Secret abgelaufen ist oder sich DYNAMICS_ORG_HOST seit deiner Anmeldung geändert hat: Autorisiere erneut. 403 mit „principal user is missing privilege“: Der Sicherheitsrolle des Benutzers fehlt diese Berechtigung. 401 oder 403 bei jedem Aufruf direkt nach der Anmeldung: Der Benutzer ist kein Mitglied dieser Umgebung oder hat dort keine Lizenz. 412: Der Datensatz hat sich seit dem Lesen geändert, deshalb liest die KI ihn erneut.
Der Connector funktioniert auch mit anderen Dataverse-Umgebungen, etwa Customer Service oder Power Apps mit deinen eigenen Tabellen.
Voraussetzungen: MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET, MICROSOFT_TENANT_ID, DYNAMICS_ORG_HOST
Connector lokal installieren
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Öffne http://localhost:3000/connectors/store, wähle Microsoft Dynamics 365 Sales (Dataverse) und trage die unter Voraussetzungen aufgelisteten Variablen ein.
Verfügbare Tools
| Tool | What it does |
|---|---|
d365_who_am_i | Return the signed-in user's id (UserId), business unit and organization id |
d365_list_accounts | List or search accounts (companies): name, number, phone, email, website, city, country, primary contact, owner, status |
d365_get_account | Read one account with every column (or the selected ones), with labels for choice and lookup columns and its @odata.etag |
d365_create_account | Create an account |
d365_update_account | Change columns of one account; columns left out keep their values |
d365_delete_account | Delete one account |
d365_list_contacts | List or search contacts (people): full name, job title, email, phones, company (parentcustomerid), city, owner, status |
d365_get_contact | Read one contact with every column (or the selected ones), with labels for choice and lookup columns and its @odata.etag |
d365_create_contact | Create a contact, optionally linked to its account |
d365_update_contact | Change columns of one contact; columns left out keep their values |
d365_delete_contact | Delete one contact |
d365_list_leads | List or search leads: topic, name, company, email, phone, source, rating, estimated value, owner, status (open, qualified, disqualified) |
d365_get_lead | Read one lead with every column (or the selected ones), with labels for choice and lookup columns and its @odata.etag |
d365_create_lead | Create a lead |
d365_update_lead | Change columns of one open lead; columns left out keep their values |
d365_qualify_lead | Qualify an open lead: Dynamics closes it as qualified and creates the chosen records (account, contact, opportunity) from it, linked to the… |
d365_disqualify_lead | Close an open lead as disqualified with a reason: 4 Lost, 5 Cannot Contact, 6 No Longer Interested (default), 7 Canceled |
d365_delete_lead | Delete one lead |
d365_list_opportunities | List or search opportunities: topic, customer (account or contact), estimated value and close date, probability, pipeline phase, owner… |
d365_get_opportunity | Read one opportunity with every column (or the selected ones), with labels for choice and lookup columns and its @odata.etag |
d365_create_opportunity | Create an opportunity for an account or a contact |
d365_update_opportunity | Change columns of one open opportunity (value, close date, probability, description); columns left out keep their values |
d365_win_opportunity | Close an open opportunity as won, with the actual revenue and close date |
d365_lose_opportunity | Close an open opportunity as lost (canceled or out-sold), with an optional comment |
d365_delete_opportunity | Delete one opportunity |
d365_list_activities | List activities of every type (tasks, phone calls, emails, appointments) with subject, type, dates, status and the row they are about |
d365_get_email | Read one email activity: subject, body (HTML in description), sender, recipients, direction, sent date, status and the row it is about |
d365_create_task | Create a task for the signed-in user, about an account, contact, lead or opportunity |
d365_create_phone_call | Log a phone call activity about an account, contact, lead or opportunity, with notes |
d365_create_note | Add a note to the timeline of an account, contact, lead or opportunity |
d365_complete_task | Mark an open task as completed |
d365_query | Query any table by its entity set name with OData: quotes, salesorders, invoices, products, pricelevels, campaigns, competitors… |
d365_next_page | Read the next page of any list, query or FetchXML answer that carried @odata.nextLink |
d365_fetchxml_query | Run a FetchXML query: joins across tables (link-entity), aggregates (count, sum, avg with groupby) and filters the OData syntax cannot… |
d365_get_record | Read one row of any table by entity set and id, with labels for choice and lookup columns and its @odata.etag |
d365_create_record | Create a row in any table that has no dedicated tool (a quote, a product, a custom table) |
d365_update_record | Change columns of one row in any table; columns left out keep their values |
d365_delete_record | Delete one row of any table |
d365_list_tables | List tables with their logical name, entity set name (what the query tools take) and primary name column |
d365_describe_table | Describe one table: entity set name, primary id and name columns, and every column with its type, whether it is required and whether it can… |
d365_list_lookups | List the lookup columns of a table with the table each points to and the navigation property name a write needs ("<navigation… |
d365_get_choice_options | List the values and labels of a choice column (option set), e.g. industrycode of account or statuscode of opportunity, so filters and… |
Beispiel-Prompts
- „Zeig meine offenen Verkaufschancen mit Abschluss in diesem Quartal, sortiert nach geschätztem Umsatz.“
- „Finde Anna Meyer bei Contoso und protokolliere einen Anruf: Sie möchte bis Freitag ein Angebot.“
- „Welche Leads der letzten 30 Tage sind noch offen und haben noch keine Aktivität?“
- „Schließ die Fabrikam-Verlängerung als gewonnen mit 48.000 und leg eine Folgeaufgabe für nächsten Montag an.“
Nächste Schritte
War dieser Guide hilfreich?