Dataverse MCP: praktický přehled
Dataverse MCP je způsob, jak připojit AI agenta k Microsoft Dataverse přes Model Context Protocol. Prakticky: agent nedostává jen textový kontext, ale sadu nástrojů pro čtení metadat, dotazování dat a případně i zápisy do Dataverse.
Nejdůležitější závěr: MCP není náhrada Dataverse security, ALM ani Web API. Je to agentický přístupový layer nad Dataverse. Hodí se pro PoC, asistenty a řízené interní scénáře, ale do produkce patří až po vyřešení oprávnění, auditů, prostředí a guardrailů.
Co je Dataverse MCP
MCP, Model Context Protocol, je otevřený protokol pro propojení LLM aplikací s externími daty a nástroji. Microsoft Dataverse může fungovat jako MCP server.
Standardní endpoint má tvar:
https://{dataverseOrgName}.crm.dynamics.com/api/mcp
Preview endpoint:
https://{dataverseOrgName}.crm.dynamics.com/api/mcp_preview
Preview endpoint ber jako testovací. Microsoft uvádí, že preview capabilities jsou určené pro evaluaci a feedback před GA; chování a seznam nástrojů se může měnit.
Jaké nástroje Dataverse MCP nabízí
Podle Microsoft Learn Dataverse MCP zpřístupňuje mimo jiné tyto tools:
| Tool | K čemu je |
|---|---|
list_tables |
vypíše dostupné tabulky |
describe_table |
vrátí schéma tabulky |
read_query |
spustí SELECT dotaz pro čtení dat |
create_record |
vytvoří řádek |
update_record |
aktualizuje řádek |
Delete Record |
smaže řádek |
Create Table |
vytvoří tabulku |
Update Table |
upraví schéma tabulky |
Delete Table |
smaže tabulku |
Search |
hledá v Dataverse záznamech |
Fetch |
načte detail záznamu podle entity name a ID |
Nejistota: přesný seznam tools se může lišit podle GA/preview endpointu a aktuální verze služby. Search navíc závisí na zapnutém Dataverse Search.
Architektura
1. Copilot Studio → Dataverse MCP → Dataverse
Nejvíc Microsoft-native varianta.
Tok:
- Admin povolí Dataverse MCP v prostředí.
- V Copilot Studio se agentovi přidá tool typu Model Context Protocol.
- Agent volá Dataverse MCP tools.
- Autorizace běží přes Microsoft identity a Dataverse security model.
Vhodné pro interní business agenty nad Dynamics 365 / Dataverse, pokud chceš zůstat v Microsoft governance modelu.
2. VS Code / GitHub Copilot → remote MCP endpoint → Dataverse
Vhodné pro vývojáře.
Typický scénář:
- „vypiš tabulky v tomto prostředí“,
- „popiš schema tabulky account“,
- „vygeneruj dotaz“,
- „ověř hodnoty v dev prostředí“.
Pozor hlavně na správné cílení prostředí: DEV/UAT/PROD musí být jasně pojmenované.
3. Claude Desktop / Claude Code → @microsoft/dataverse proxy → Dataverse MCP
Pro non-Microsoft klienty Microsoft doporučuje lokální stdio proxy přes npm balíček @microsoft/dataverse.
Příklad:
npx -y @microsoft/dataverse mcp https://yourorg.crm.dynamics.com
Preview varianta:
npx -y @microsoft/dataverse mcp https://yourorg.crm.dynamics.com --preview
Claude Code příklad:
claude mcp add dataverse -t stdio -- npx -y @microsoft/dataverse mcp https://yourorg.crm.dynamics.com
Tahle varianta je praktická pro prototypy mimo Microsoft stack, ale přidává další komponentu: Node.js/npx, consent, login a troubleshooting proxy.
4. Vlastní MCP klient → direct remote endpoint → Dataverse
Enterprise varianta bez lokální proxy.
Obvykle vyžaduje:
- registraci aplikace v Microsoft Entra ID,
- permission Dynamics CRM →
mcp.tools, - přidání client ID do allowed MCP clients v Power Platform admin center,
- MCP klienta, který zvládne potřebný remote transport a auth flow.
Tohle bych volil až ve chvíli, kdy je jasný produkční use case a governance.
Předpoklady
Minimum pro PoC:
- Dataverse prostředí, ideálně DEV,
- Managed Environment,
- Power Platform admin pro konfiguraci,
- povolený konkrétní MCP klient,
- uživatel nebo service principal s omezenou Dataverse security rolí,
- jasné agent instructions.
Důležité: Dataverse MCP respektuje standardní Dataverse security model — security roles, row-level security a field-level security. Uživatel přes MCP nemá vidět víc, než mu dovolí jeho role. Přesto to nenahrazuje návrh guardrailů pro agenta.
Praktické use cases
Rychlá explorace dat a schématu
Agent může odpovídat na otázky typu:
- jaké tabulky v prostředí existují,
- jaké sloupce má tabulka
account, - kolik je otevřených opportunities,
- jaké záznamy splňují konkrétní filtr.
Hodí se pro konzultanty, analytiky a vývojáře, kteří jinak ručně sahají do Web API, FetchXML nebo SQL-like dotazů.
CRM / Dynamics 365 assistant
Agent může pomáhat s accounty, kontakty, opportunities nebo cases:
- najít zákazníka,
- shrnout jeho záznam,
- připravit návrh aktualizace,
- vytvořit draft nového záznamu,
- dohledat otevřené úkoly nebo case.
Zápisy bych v první fázi nepouštěl bez potvrzení člověkem.
Developer assistant pro Power Platform
Užitečné pro:
- kontrolu názvů tabulek a sloupců,
- návrh dotazů,
- pochopení vztahů,
- ověřování dat v DEV,
- rychlé schema lookupy při psaní pluginů, integrací nebo skriptů.
Pro schema změny stále používej solution-aware workflow a ALM. MCP není náhrada za pac, solutions, pipelines ani řízené deploymenty.
Vlastní agentický tool layer
Pokud stavíš vlastního agenta, Dataverse MCP může být standardní konektor místo ručně napsané integrace na Dataverse Web API. Výhoda je rychlost integrace. Nevýhoda je menší kontrola nad přesným chováním agenta a nutnost důkladně řešit bezpečnost.
Limity a rizika
1. Špatný tool call nebo zápis
Agent může vybrat špatnou tabulku, špatný záznam nebo špatnou operaci. Technicky ho zastaví hlavně oprávnění a guardraily.
Doporučení:
- začít read-only,
- zápisy jen v DEV,
- před create/update/delete vyžadovat explicitní potvrzení,
- před změnou vypsat cílové prostředí, tabulku, ID záznamu a změnu,
- používat separátní security role pro agentické scénáře,
- omezit dostupné tools, pokud to klient umožňuje.
2. Produkce vs DEV/UAT
Největší praktické riziko je omyl v cílovém prostředí.
Doporučení:
- pojmenovat MCP servery
Dataverse-DEV,Dataverse-UAT,Dataverse-PROD, - do instrukcí agenta natvrdo napsat, kde smí číst a kde smí zapisovat,
- v produkci začít jen čtením,
- před každým zápisem vypsat environment URL.
3. Preview není stabilní kontrakt
/api/mcp_preview používej jen pro PoC a testy. Pro produkční scénáře preferuj /api/mcp.
4. Billing
Microsoft Learn uvádí, že od 15. 12. 2025 jsou Dataverse MCP tools zpoplatněny při přístupu AI agentů vytvořených mimo Microsoft Copilot Studio, s výjimkami podle licencí. Search tool je účtován jinak než ostatní tools.
Nejistota: konkrétní dopad je nutné ověřit proti aktuálním licencím a Copilot Credit pravidlům konkrétního tenantu.
5. Lokální proxy troubleshooting
U @microsoft/dataverse proxy mohou selhat:
- tenant admin consent,
- allowlist klienta v prostředí,
- špatná org URL,
- Node.js/npx,
- autentizace uživatele,
- rozdíl mezi GA a preview endpointem.
Microsoft uvádí validační režim:
dataverse mcp https://myorg.crm.dynamics.com --validate
A debug logy:
dataverse mcp https://myorg.crm.dynamics.com --log-level Debug --log-file
Doporučení pro Zica
Krátká verze:
- Udělej PoC jen v DEV Dataverse prostředí.
- Použij standardní
/api/mcp, ne preview. - Začni read-only scénáři:
list_tables,describe_table,read_query. - Pro Claude Code / Desktop použij
@microsoft/dataverseproxy. - Pro VS Code zkus remote endpoint přes GitHub Copilot, pokud je klient povolený adminem.
- Zápisy povol až po ověření security rolí a jen s potvrzením člověkem.
- Produkci neotvírej pro zápisy, dokud nejsou vyřešené role, audit, naming prostředí a billing.
Doporučené agent instructions:
Pracuj jen proti Dataverse-DEV, pokud uživatel explicitně neřekne jinak.
Před každým zápisem ukaž environment URL, tabulku, ID záznamu a přesnou změnu.
Nikdy nemaž záznam bez explicitního potvrzení.
Při nejasném názvu tabulky nejdřív použij list_tables a describe_table.
Nezobrazuj citlivá pole, pokud nejsou nutná pro odpověď.
Shrnutí
Dataverse MCP je užitečná cesta, jak dát AI agentům řízený přístup k Dataverse datům a metadatům. Největší hodnota je v rychlé exploraci, vývojářské asistenci a interních CRM agentech.
Do produkce ale patří opatrně: MCP jen zpřístupní nástroje. Kvalitu a bezpečnost řeší až správné Dataverse role, environment strategie, audit, agent instructions a potvrzování rizikových operací.
Zdroje
- Microsoft Learn: Connect to Dataverse with Model Context Protocol
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp - Microsoft Learn: Configure the Dataverse MCP server for an environment
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp-disable - Microsoft Learn: Dataverse MCP FAQ
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp-faq - Microsoft Learn: Connect to Dataverse with MCP in Microsoft Copilot Studio
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp-copilot-studio - Microsoft Learn: Connect Dataverse MCP with GitHub Copilot in Visual Studio Code and Copilot CLI
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp-vscode - Microsoft Learn: Connect to Dataverse with MCP in non-Microsoft clients
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp-other-clients - Microsoft Learn: Use preview tools and upcoming features in Dataverse MCP server
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp-preview-tools - Microsoft Learn: What is Microsoft Dataverse?
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-intro - Microsoft Learn: Use the Microsoft Dataverse Web API
https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/overview - npm:
@microsoft/dataverse
https://www.npmjs.com/package/@microsoft/dataverse - GitHub:
microsoft/Dataverse-skills
https://github.com/microsoft/Dataverse-skills