关于 JAJ Dataverse Dev MCP
JAJ Dataverse Dev MCP 是面向 Dataverse 开发者和顾问的轻量 MCP 服务,适用于跨环境工作。它以薄封装提供广泛的 Web API 能力,并使用现有 Azure CLI 身份,无需单独配置应用凭据。
主要功能
- 01使用 Azure CLI 身份
- 02选择已配置的多个环境
- 03查询和更新记录
- 04检查元数据与解决方案
- 05创建和导出解决方案
适用场景
- 01查看最近创建的 Dataverse 记录
- 02检查表和解决方案组件
- 03创建非托管解决方案
- 04导出解决方案以供部署
MCP 相关
通过薄封装向 MCP 客户端开放 Dataverse Web API 能力,涵盖数据、元数据、解决方案、组件和故障排查任务,并支持配置多个环境。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
JAJ Dataverse Dev MCP
轻量级 MCP 服务,适用于日常 Dataverse 和 Power Platform 开发。
使用现有的 Azure CLI 身份,将 Agent 连接到多个 Dataverse 环境。 该服务通过 Web API 提供一层轻量、适合 Agent 使用的接口,涵盖数据、元数据、解决方案、组件、故障排查和开发任务。
Agent → MCP → Azure CLI 身份 → Dataverse Web API
VS Code + GitHub Copilot 快速入门
将服务添加到 .vscode/mcp.json:
{
"servers": {
"dataverse-dev": {
"command": "npx",
"args": [ "-y", "jaj-dataverse-dev-mcp" ]
}
}
}
保存文件并按下 Start。首次启动可能需要一些时间,因为 npx 会下载软件包。
使用 Azure CLI 登录:
az login
在项目根目录中创建 environments.json,并添加所需的环境:
{
"environments": {
"dev": {
"url": "https://org8ffb6d07.crm.dynamics.com/",
"allowWrite": true
}
}
}
打开 Copilot 并尝试:
- 列出可用的 Dataverse 环境
- 调用 dev 环境的 whoami
- 显示最近创建的五个帐户的名称和 ID
- 列出非托管解决方案
就是这样!
其他兼容 MCP 的 Agent 也遵循相同的模式:通过 stdio 运行 jaj-dataverse-dev-mcp,并允许其访问本地 Azure CLI 会话和连接配置。
Claude Desktop 快速入门
将服务添加到 claude_desktop_config.json:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"dataverse-dev": {
"command": "npx",
"args": ["-y", "jaj-dataverse-dev-mcp"],
"env": { "DATAVERSE_ENVIRONMENTS_PATH": "C:/Users/you/project/environments.json" }
}
}
}
保存文件,完全退出并重新启动 Claude Desktop(仅关闭窗口不会加载配置更改)。
从 VS Code + GitHub Copilot 快速入门中的 “使用 Azure CLI 登录……” 继续
为什么要开发这个项目?
目前已有多种 Dataverse MCP 实现,包括 Microsoft 自己的工具。
这个项目源于日常开发工作:Agent 经常需要使用现有专业工具之外的功能。 在许多情况下,Agent 可以通过直接构建 Dataverse Web API 请求成功完成任务。
这个 MCP 采用了这种方式。
它不会用庞大的抽象层隐藏 Dataverse,而是通过轻量封装提供对 Web API 的广泛访问。
它也面向经常在不同项目、客户和 Dataverse 环境之间切换的开发者与顾问。
一个 MCP 服务即可使用现有 Azure CLI 身份连接多个 Dataverse 环境。 无需单独注册应用,也无需客户端 ID 或客户端密钥。
先决条件
- Node.js 20+
- 已安装 Azure CLI 并已登录
- 有权访问一个或多个 Dataverse 环境 URL
身份验证
# Authentication is based on your current Azure CLI identity:
az login
# Useful variants:
az login --tenant <tenant-id> # Specific tenant, if your tenant is not the default
az login --allow-no-subscriptions # Tenant without subscriptions
az login --use-device-code # Remote/headless environments
# To inspect the currently active Azure CLI account:
az account show
Dataverse 环境
环境在项目根目录的 environments.json 中配置,并使用 dev、test、prod 等易记名称进行标识。
Agent 使用这些名称来选择要操作的 Dataverse 环境。
如果某个环境位于与默认 Azure CLI 租户不同的租户中,请为该环境添加 tenantId。
可使用 DATAVERSE_ENVIRONMENTS_PATH 在运行时指定其他配置文件路径。
示例:
{
"environments": {
"dev": {
"url": "https://YOUR-DEV.crm.dynamics.com/",
"allowWrite": true
},
"test": {
"url": "https://YOUR-TEST.crm4.dynamics.com",
"allowWrite": false
},
"prod": {
"url": "https://YOUR-PROD.crm4.dynamics.com",
"allowWrite": false,
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
}
添加项目专属的 Copilot 指令
如需改善 Agent 的行为,请将 Dataverse 专属指令添加到使用此 MCP 的项目中。
将 docs/examples/copilot-instructions.md 复制到使用 MCP 服务的工作区中的 .github/copilot-instructions.md,然后根据项目进行自定义:
- 将
YOUR-dev、YOUR-test和YOUR-prod替换为environments.json中的环境名称 - 将
YOUR_DEFAULT_SOLUTION替换为主要 Dataverse 解决方案的唯一名称 - 根据项目调整默认环境和安全规则
将自定义后的文件提交到项目仓库,以便所有贡献者使用相同的指导。
使用 npx 直接运行
也可以手动启动此软件包,默认使用 stdio 传输:
npx -y jaj-dataverse-dev-mcp
对于开发或使用 Streamable HTTP 的客户端,请添加 --http。
可以用来做什么?
虽然此 MCP 有意作为 Dataverse Web API 的轻量封装,但它可以支持广泛的开发和故障排查任务,例如:
- 查询和更新 Dataverse 记录
- 检查表、列、元数据、发布者和解决方案
- 创建和配置非托管解决方案
- 将现有组件添加到解决方案
- 使用 Dataverse 操作和函数
- 导出解决方案,以便部署到其他环境
因此,它既适用于直接开发任务,也适用于由 Agent 驱动的工作流:Agent 检查 Dataverse、决定下一步操作,并通过 MCP 执行该操作。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。