loading…
Search for a command to run...
loading…
A minimal MCP server that gives AI coding agents clean read and write access to Microsoft Dataverse environments via the Dataverse Web API v9.2. It works as a d
A minimal MCP server that gives AI coding agents clean read and write access to Microsoft Dataverse environments via the Dataverse Web API v9.2. It works as a drop-in alternative to Microsoft's own MCP server, without requiring Copilot Credits or managed environments.
A minimal MCP server that gives AI coding agents (Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI) clean read + careful write access to Microsoft Dataverse / XRM environments via the Dataverse Web API v9.2.
Why this exists: Microsoft ships its own Dataverse MCP server, but it requires Power Platform admin setup, Managed Environments, and Copilot Credits per call.
xrm-mcpis a drop-in alternative that works with any Dataverse environment using your existing Azure CLI or Microsoft account. Read more →
az first, falls back to interactive device flowInstall via pipx (recommended):
pipx install git+https://github.com/jukkan/xrm-mcp.git
Or via pip:
pip install git+https://github.com/jukkan/xrm-mcp.git
Add xrm-mcp to your agent's MCP configuration.
Claude Desktop / Claude Code (~/.claude/claude_desktop_config.json or .mcp.json):
{
"mcpServers": {
"xrm-mcp": {
"command": "xrm-mcp"
}
}
}
GitHub Copilot (VS Code) — add to .vscode/mcp.json in your workspace:
{
"servers": {
"xrm-mcp": {
"type": "stdio",
"command": "xrm-mcp"
}
}
}
Once configured, pass your environment URL with every request and the agent takes it from there:
"Show me all project records from https://myorg.crm4.dynamics.com created in the last 30 days"
xrm-mcp
The server uses FastMCP and communicates over stdin/stdout (stdio transport).
XRM MCP attempts authentication in the following order:
az is available and logged inTokens are cached at ~/.xrm-mcp/cache.json.
To re-authenticate, delete the cache file or use az login.
python -m xrm_mcp.auth https://yourorg.crm4.dynamics.com
ping(org_url)
find_table(org_url, name)
list_tables(org_url, search="", custom_only=True, prefix="", exclude_ms_prefixes=True)
custom_only=True — only return custom entities (default)prefix="na_" — filter to a specific publisher prefixexclude_ms_prefixes=False — include Microsoft solution tables (msdyn_, adx_, etc.)describe_table(org_url, table)
query_records(org_url, table, select="", filter="", top=100, orderby="")
create_record(org_url, table, data)
update_record(org_url, table, record_id, data)
upsert_record(org_url, table, alternate_key, alternate_value, data)
See CLAUDE.md for detailed agent usage examples and WHY.md for how this compares to Microsoft's own Dataverse MCP server.
az authentication)Clone the repository:
git clone https://github.com/jukkan/xrm-mcp.git
cd xrm-mcp
Install in development mode:
pip install -e .
MIT
Contributions welcome! Please open an issue or pull request.
Выполни в терминале:
claude mcp add xrm-mcp -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.