AI agents & MCP
Let your AI assistant work with your business data, on your terms
Claude and other MCP-capable agents connect to your Data Lake with a revocable key, answer questions from all your systems and — if you allow it — operate the platform itself, under the same permissions and audit trail as any other client.
# the agent asks the data plane
read_records entity=account $filter=Region eq 'West'
aggregate entity=orders sum(Total) by Month
# with an admin key, it can operate the platform too
create_table set_entity_exposure restart_dab
# and the same tools from your own shell
$ dlake tool aggregate --entity orders --profile acme
What is MCP, and why does it matter here?
In plain wordsMCP is a standard plug that lets an AI assistant use tools and data. The Data Lake offers that plug, so an agent can work with your data without anyone building a custom integration.
The CLI is a complete peer of the MCP connector — every tool is callable as dlake tool <name> or dlake admin <name>, which is why the same skills serve both. One key decides which of the two planes a caller reaches, and the rules underneath both are enforced in SQL Server rather than by whichever client is asking.
Data plane
Work with rows
Read, write, query, aggregate, export and look at history — for the entities you have exposed, and no others.
dlake tool list shows what your key allows.
Admin control plane
Operate the platform
Define schema, expose entities, mint keys, restart the Data API, manage security and events, drive the sync products.
dlake admin list — admin keys only.
How agents connect and what keeps them safe
Connect with a key, not a login
You mint a key for the agent, hand it to the MCP client, and switch it off whenever you want. The key rides in the request header and carries its own identity into the database, so the audit trail records the agent, not a person.
Admin Control Plane (MCP)Scope down to tables, fields and rows
Scoped keys are enforced server-side and fail closed, down to entity and field level. Row-level security adds per-row rules inside SQL Server that apply whoever is asking.
Row-Level SecurityPublic capability summaries
20 skill summaries ship inside the CLI, one per Commercient integration: what it does for the business and how to get its operating guide. Whitelisted customers fetch the operational skills from the admin plane with dlake admin get_skill.
The 20 skills belowStored procedures as agent tools
Wrap a business action in a stored procedure and publish it, and the agent gets one named tool that either commits everything or changes nothing.
Stored Procedures as MCP ToolsConnect Claude Code
One command adds the Data Lake as an MCP server. The key is a complete authentication on its own, so there is no OAuth, no client registration and no callback URL to arrange — the same is true of the dlake CLI, editor clients and your own apps. dlake keys create mints an unscoped key and prints it once; a scoped key comes from the DAB & API Keys page or dlake admin create_api_key --scope @scope.json.
# your key is <tenant>:dlk_... - mint one with dlake keys create
$ claude mcp add --transport http datalake https://datalake-ms-dab.commercient.com/mcp --header "X-API-Key: acme:dlk_..."
Connect the admin control plane
A second, separate connection for configuring the lake. It never reads or writes table data — that stays on the data plane — and it is worth adding as its own server so an everyday key cannot reach it.
# optional second server - needs a full-scope key minted by an Admin user
$ claude mcp add --transport http datalake-admin https://datalake-ms-dab.commercient.com/admin --header "X-API-Key: acme:dlk_..."
Claude Desktop and claude.ai
Add a custom connector
These are hosted connector interfaces and cannot send a custom header, so they sign in through OAuth instead. It collects the same key and hands back a token standing for it, so it grants nothing extra. Use the same URLs, and name the connectors Commercient Data Lake \ Data Hub for the data plane and Commercient Data Lake \ Data Hub Admin for the admin plane.
Data plane
https://datalake-ms-dab.commercient.com/mcpAdmin control plane
https://datalake-ms-dab.commercient.com/adminGeneric or per-tenant URL
Both forms reach the same tools; the only difference is who names the tenant. The generic URL carries no tenant in the path and resolves it from the credential — a composite X-API-Key: <tenant>:dlk_..., or an X-Tenant: <slug> header sent with a plain dlk_ key.
| Plane | Generic URL | Per-tenant URL |
|---|---|---|
| Data plane | https://datalake-ms-dab.commercient.com/mcp | https://datalake-ms-dab.commercient.com/auth/{tenant}/mcp |
| Admin control plane | https://datalake-ms-dab.commercient.com/admin | https://datalake-ms-dab.commercient.com/auth/{tenant}/admin |
- Generic is one connector definition for any customer: hand out a single URL and the key identifies the tenant.
- Per-tenant when the tenant is fixed — and with OAuth it also pre-selects that tenant on the authorize page.
- Per-tenant when one client needs several Data Lake tenants connected at once: clients dedupe connectors by normalized URL, so each tenant needs its own distinct URL to live as a separate connector.
Once connected, an agent can fetch the documentation itself: get_help_docs, get_api_guide, list_skills and get_skill. The CLI equivalents are dlake guide help and dlake guide api.
The 20 bundled agent skills
In plain wordsEach skill is a capability summary of one Commercient integration. Install them all with one command; whitelisted customers fetch the operating guides from the admin plane.
dlake skills installdlake skills show dlakeSkills ship inside the CLI and update with it, so dlake skills install after every upgrade refreshes the copies on disk (add --skip-existing to keep local edits). Catalogue last changed 9 Oct 2026. Browse the skills folder on GitHub ↗
Build and operate a tenant2 skills
In plain wordsStart here: the everyday skill for an existing Data Lake, and the one that stands up a brand-new integration.
| Skill | What it covers | ERP pages |
|---|---|---|
dlake-integration-setup | Capability summary of the Commercient Integration Setup integration for your ERP and your CRM. Not an operating guide. | — |
dlake | Capability summary of the Commercient Data Lake integration for your ERP. Not an operating guide. | — |
Bring data in (sync products)3 skills
In plain wordsWhich ERP tables are cloned, and the agents for sources that are not SQL Server or that are APIs.
| Skill | What it covers | ERP pages |
|---|---|---|
dlake-apisync | Capability summary of the Commercient Generic API Sync integration for your ERP. Not an operating guide. | — |
dlake-normalsync | Capability summary of the Commercient Normal Sync integration for your ERP. Not an operating guide. | — |
dlake-odbcsync | Capability summary of the Commercient ODBC Sync integration for your ERP. Not an operating guide. | — |
Push data to a CRM (CRMPro)8 skills
In plain wordsThe forward sync from your ERP into HubSpot, Salesforce, Shopify, Zoho, Dynamics, MDC or Magento, with one page per source ERP.
| Skill | What it covers | ERP pages |
|---|---|---|
dlake-crmpro-dynamicscrm | Capability summary of the Commercient CRMPro integration for your ERP and Dynamics CRM. Not an operating guide. | 19 |
dlake-crmpro-hubspot | Capability summary of the Commercient CRMPro integration for your ERP and HubSpot. Not an operating guide. | 89 |
dlake-crmpro-magento | Capability summary of the Commercient CRMPro integration for your ERP and Magento. Not an operating guide. | 7 |
dlake-crmpro-mdc | Capability summary of the Commercient CRMPro integration for your ERP and MDC. Not an operating guide. | 11 |
dlake-crmpro-salesforce | Capability summary of the Commercient CRMPro integration for your ERP and Salesforce. Not an operating guide. | 105 |
dlake-crmpro-shopify | Capability summary of the Commercient CRMPro integration for your ERP and Shopify. Not an operating guide. | 24 |
dlake-crmpro-zohocrm | Capability summary of the Commercient CRMPro integration for your ERP and Zoho CRM. Not an operating guide. | 27 |
dlake-crmpro | Capability summary of the Commercient CRMPro integration for your ERP and your CRM. Not an operating guide. | — |
Write changes back (TxDownloaderPro)6 skills
In plain wordsThe return leg: changes made in the CRM travel back to the source system.
| Skill | What it covers | ERP pages |
|---|---|---|
dlake-txdownloaderpro-dynamicscrm | Capability summary of the Commercient TxDownloaderPro integration for your ERP and Dynamics CRM. Not an operating guide. | 18 |
dlake-txdownloaderpro-hubspot | Capability summary of the Commercient TxDownloaderPro integration for your ERP and HubSpot. Not an operating guide. | 67 |
dlake-txdownloaderpro-salesforce | Capability summary of the Commercient TxDownloaderPro integration for your ERP and Salesforce. Not an operating guide. | 69 |
dlake-txdownloaderpro-shopify | Capability summary of the Commercient TxDownloaderPro integration for your ERP and Shopify. Not an operating guide. | 22 |
dlake-txdownloaderpro-zohocrm | Capability summary of the Commercient TxDownloaderPro integration for your ERP and Zoho CRM. Not an operating guide. | 30 |
dlake-txdownloaderpro | Capability summary of the Commercient TxDownloaderPro integration for your ERP and your CRM. Not an operating guide. | — |
On the customer's own server1 skill
In plain wordsThe Windows agent that actually reads the source ERP; the other half of every setup.
| Skill | What it covers | ERP pages |
|---|---|---|
dlake-syncagent | Capability summary of the Commercient Sync Agent integration for your ERP. Not an operating guide. | — |
Where skills are installed4 harnesses
| Harness | Skills directory |
|---|---|
| Claude Code / Cowork | .claude/skills/<skill>/ (per project) or ~/.claude/skills/<skill>/ (global) |
| OpenAI Codex | ~/.codex/skills/<skill>/ or your project's skills directory |
| OpenCode | .opencode/skill/<skill>/ |
| Other harnesses | wherever the harness discovers skills; keep the <skill>/SKILL.md layout intact |
dlake skills install auto-detects these locations. Confirm the exact path against your harness's own documentation.
Questions about AI agents
What is MCP?
MCP (Model Context Protocol) is an open standard that lets an AI assistant such as Claude connect to external tools and data. Commercient Data Lake exposes MCP connectors, so an agent can query your data and, with the right key, operate the platform, using the same permissions and audit trail as any other client.
How do I connect Claude Code?
One command: claude mcp add --transport http datalake https://datalake-ms-dab.commercient.com/mcp --header "X-API-Key: <tenant>:dlk_...". The composite key is a complete authentication on the generic URL, so no OAuth, client registration or callback URL is needed. Add the admin control plane as a second server on the /admin path if you want an agent to configure the lake; that one needs a full-scope key minted by an Admin user.
What can an AI agent actually do with my data lake?
On the data plane it can read and write records, run read-only SQL queries, aggregate, export, ingest files and look at time-travel history for the entities you have exposed. On the admin control plane it can define schema, expose entities, manage keys and drive the sync products. Run dlake tool list and dlake admin list to see exactly which tools your key can use.
What are agent skills?
Skills are capability summaries: each one says what a Commercient integration does for the business and who can get the operating guide; none of them is an operating guide. They ship inside the CLI. dlake skills install writes them where your agent harness looks (Claude Code, Codex, OpenCode and others), and dlake skills show <name> prints one. Registered, whitelisted Commercient customers fetch the operational skills from the admin plane with dlake admin get_skill <name>, or list them with list_skills.
Can an agent sign up for a Data Lake on my behalf?
Signing up is deliberately a human step. dlake register start takes a password and three affirmation flags (that you have backed up your CRM and ERP data, and that you consent to phone contact). The CLI help states that agents must ask the human and never pass these on their own initiative. Once the Data Lake is seeded, the rest of the setup wizard can be driven over MCP.
How do I limit what an agent can see?
Mint a scoped API key with dlake admin create_api_key and a scope file listing the entities and actions it may use, then run dlake admin restart_dab --confirm true. Row-level security adds per-row rules on top, and revoking a key takes effect immediately.