MCP Dataverse

io.github.codeurali由 GitHub 账号 codeurali 发布v0.7.10更新于 Oct 24, 2026

Microsoft Dataverse MCP server: CRUD, FetchXML, metadata, schema, audit, batch and security roles.

概览

AI 生成的概览

让 AI 助手读取和修改 Microsoft Dataverse 环境:架构、记录、查询、用户、角色和审计日志。

可以做什么
MCP Dataverse 通过约 79 个工具连接 Microsoft Dataverse,涵盖元数据与架构查看、OData 与 FetchXML 查询、CRUD 与 upsert 操作、记录关系、绑定与非绑定操作和函数、批量操作、解决方案、Relevance Search、用户、团队、安全角色与权限、文件列、审计与跟踪日志、注释以及自定义对象。响应以 summary、data、suggestions 的结构返回。破坏性操作需要显式确认,缓存的凭据经过加密。
适用场景
当助手需要针对真实的 Dataverse 环境工作而不是猜测表和列名时适用,例如查看架构、构建或验证查询、读取和更新记录,或管理用户与角色。既适合本地开发时的交互式 Microsoft 登录,也适合无人值守的 CI/CD 或 Azure 托管场景。
运行要求
作为本地 stdio 进程在用户机器上运行,需要 Node.js 20 或更高版本。需要设置 DATAVERSE_ENV_URL 为 Dataverse 环境 URL,或设置 MCP_CONFIG_PATH 指向会覆盖其他环境变量的 config.json。认证有三种模式:设备代码、通过应用注册的客户端凭据,或托管标识。可选的 HTTP 传输使用 MCP_TRANSPORT、MCP_HTTP_PORT 和 MCP_HTTP_SECRET。
安装前请注意
该服务器会向 Microsoft Dataverse 进行认证,并且可以创建、更新、删除、upsert、分配、合并和共享记录,更改架构与自定义项,以及修改用户、团队和角色权限。破坏性操作需要显式确认。凭据以加密形式缓存在磁盘上。客户端凭据和托管标识模式依赖应用注册或 Azure 标识,因此应将其 Dataverse 权限限制到最小范围。可选的 HTTP 传输由 MCP_HTTP_SECRET 保护,因此

安装

在 SourceWeft 中

  1. 打开 控制台中的 MCP Dataverse,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

MCP Dataverse

[MCP Dataverse]

An MCP server for Microsoft Dataverse.

100 tools · 4 resources · 5 guided workflows · Three auth modes

[npm] [npm downloads] [CI] [Node 20+] [TypeScript] [License: MIT]

→ Full Documentation



Why MCP Dataverse?

AI agents hallucinate schema, guess column names, and build broken OData queries. This server gives them real-time access to your Dataverse environment — schema, records, metadata, solutions — through the Model Context Protocol.

  • Three auth modes — device code (local), client credentials (CI/CD), managed identity (Azure-hosted)
  • Works with any MCP client — VS Code, Claude, Cursor, Windsurf, Gemini, Codex CLI
  • Atomic tools — each tool does one thing well; the AI picks the right one
  • Structured outputs — every response returns {summary, data, suggestions} as both text and MCP structuredContent (with a declared outputSchema on all core tools)
  • Guardrails — every tool declares read-only or destructive hints, and the riskiest operations require an explicit confirm: true
  • Encrypted token cache — AES-256-GCM cached credentials, kept out of tool output

Install

bash
npx mcp-dataverse install

The interactive wizard configures your environment, registers the server in VS Code, and authenticates your Microsoft account in under 2 minutes.

Requires Node.js 20+. For other clients (Claude, Cursor, Windsurf…) see Multi-Client Setup.

Update

bash
npx mcp-dataverse update

No re-config required — just checks your existing setup and shows what changed. npx auto-fetches the latest version on each run, so simply restarting your MCP client is enough to get the new tools.


Authentication

Three modes — choose based on where the server runs:

ModeWhen to use
Device Code (default)Local development — interactive Microsoft login, token cached on disk
Client CredentialsUnattended: CI/CD, Docker, Azure services — authMethod: "client-credentials" + App Registration
Managed IdentityAzure-hosted (App Service, Container Apps) — zero secrets, authMethod: "managed-identity"

Device code quick start: authentication triggers on the first tool call.

  1. Open View → Output → MCP — a sign-in code appears
  2. Go to https://microsoft.com/devicelogin, enter the code, sign in with your work account
  3. Token is cached encrypted — all future starts are silent

For client credentials and managed identity setup, see Authentication docs.


Capabilities

CategoryCountDescription
Metadata9Tables, schema, relationships, option sets, entity keys
Query3OData, FetchXML, paginated retrieval
CRUD6Get, create, update, delete, upsert, assign
Relations4Associate, associate bulk, disassociate, query associations
Actions & Functions6Bound/unbound Dataverse actions and functions
Batch1Up to 1000 operations atomically
Solutions2Publish customizations, create sitemap
Search1Full-text Relevance Search
Users & Teams4Users, roles, teams, role assignment
RBAC7Role privileges: list, assign, remove, add, replace, get, team
Files2Upload/download file and image columns
Audit & Trace3Audit log, plugin trace logs, workflow trace logs
Annotations2Notes and file attachments
Customization4Custom actions, plugins, env variables, connection references
Attributes4Create, update, delete columns; lookup column type
Schema (write)2Create custom tables and relationships
Record Access4Check, grant, revoke record sharing; merge records
Assistance2Tool router, tool tags
+ more…Delta sync, impersonation, views, business units, duplicate detection

→ Full Capabilities Reference


HTTP Transport

Run as an HTTP server for multi-client use:

bash
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 MCP_HTTP_SECRET=mysecret node dist/server.js
Env varDefaultDescription
MCP_TRANSPORTstdiohttp enables the HTTP transport
MCP_HTTP_PORT3000Listen port (/mcp endpoint, /health probe)
MCP_HTTP_SECRET / BEARER_TOKEN—Static bearer token for inbound auth
ENTRA_TENANT_ID + ENTRA_CLIENT_ID—Validate inbound tokens as Entra v2.0 JWTs (RFC 9728 discovery auto-enabled)
MCP_HTTP_SESSION_TTL_MS1800000Idle session eviction timeout (30 min; 0 disables)
MCP_HTTP_REQUIRE_AUTH—true = refuse to start with no inbound auth configured
MCP_HTTP_CORS_ORIGIN*Allowed CORS origin — lock this down for hosted deployments
MCP_HTTP_JSON_RESPONSEtrueJSON responses (false = SSE streaming)

Connect using VS Code / Copilot with:

json
{  "servers": {    "dataverse": {      "type": "http",      "url": "http://localhost:3000/mcp",      "headers": {        "Authorization": "Bearer mysecret"      }    }  }}

Troubleshooting

SymptomFix
No sign-in promptOpen View → Output → MCP — the device code is displayed there
No MSAL accounts foundRun npx mcp-dataverse-auth then restart the server
Authentication timed outRestart the MCP server — a fresh code is generated automatically
Server not appearing in Agent modeRun npx mcp-dataverse install or npx mcp-dataverse doctor
HTTP errorsRun npx mcp-dataverse doctor to diagnose config and connectivity

Performance Tip

MCP Dataverse is designed to be comprehensive, but most AI models work best with fewer tools in context. Deselect the tools you don't need in your client's tool picker (e.g. VS Code Chat panel) to keep the agent focused and responsive.


Roadmap

VersionFeatureStatus
v0.4HTTP transport + attribute management + schema consistency✅ Released
v0.5Enterprise auth (Client Credentials, Managed Identity, Entra JWT)✅ Released
v0.6MCP Prompts (5 templates) + MCP Resources (4)✅ Released
v0.7Schema write (create table/relationship) + Record Access (share, merge)✅ Released (v0.7.5)

→ Full Roadmap


License

MIT © Ali Taggaz

来源:README.md,提交 2490205

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.7.10最新Oct 13, 2026
  2. v0.5.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分