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 分