Lets an AI client read and change Microsoft Dataverse data, schema, solutions and security through the Web API.
다른 이름 codeurali/mcp-dataverse, mcp-dataverse
- 스타
- 18
- Tools
- —
- 다운로드, 30일
- 1,306
- 최신 버전
- 0.7.10
- 마지막 커밋
- 2026년 11월 1일
- 라이선스
- MIT
Microsoft Dataverse MCP란?
Microsoft Dataverse은(는) MCP server입니다. Lets an AI client read and change Microsoft Dataverse data, schema, solutions and security through the Web API.
프로젝트 README에서 생성된 요약
Microsoft Dataverse MCP server 정보
Managing Microsoft Dataverse environments through an AI client is what this server enables for developers and administrators. It provides real-time access to your schema, records, metadata, and solutions via the Web API, preventing AI models from hallucinating column names or building incorrect OData queries. The server includes 100 tools covering categories like CRUD operations, metadata, RBAC, and solution management.
Users can run this locally using device code authentication or deploy it in unattended environments like CI/CD or Azure using client credentials and managed identity. It supports various MCP clients including Claude, Cursor, Windsurf, and VS Code. For multi-client setups, it can operate as an HTTP server. To ensure safety, the server includes guardrails where risky operations require explicit confirmation and provides structured outputs containing summaries and data suggestions.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Microsoft Dataverse MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 Microsoft Dataverse MCP 설치
$ claude mcp add mcp-dataverse -- npx -y mcp-dataverseCursor에 Microsoft Dataverse MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-dataverse": {
"command": "npx",
"args": [
"-y",
"mcp-dataverse"
]
}
}
}VS Code에 Microsoft Dataverse MCP 설치
.vscode/mcp.json
{
"servers": {
"mcp-dataverse": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-dataverse"
]
}
}
}Claude Desktop에 Microsoft Dataverse MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"mcp-dataverse": {
"command": "npx",
"args": [
"-y",
"mcp-dataverse"
]
}
}
}Codex에 Microsoft Dataverse MCP 설치
~/.codex/config.toml
[mcp_servers.mcp-dataverse] command = "npx" args = ["-y", "mcp-dataverse"]
Gemini CLI에 Microsoft Dataverse MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"mcp-dataverse": {
"command": "npx",
"args": [
"-y",
"mcp-dataverse"
]
}
}
}구성
DATAVERSE_ENV_URLYour Dataverse environment URL
MCP_CONFIG_PATHPath to a config.json file (overrides all other env vars). Recommended for VS Code / Claude Desktop setups.
MCP_TRANSPORT
| 이름 | 설명 | 유형 |
|---|---|---|
| DATAVERSE_ENV_URL | Your Dataverse environment URL | |
| MCP_CONFIG_PATH | Path to a config.json file (overrides all other env vars). Recommended for VS Code / Claude Desktop setups. | |
| MCP_TRANSPORT | — |
자동 검사
2026년 11월 12일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용검사되지 않음
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지와 의존성에 심각한 보안 권고 없음통과
README
GitHub에서 보기MCP Dataverse
An MCP server for Microsoft Dataverse.
100 tools · 4 resources · 5 guided workflows · Three auth modes
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 MCPstructuredContent(with a declaredoutputSchemaon 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
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
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:
| Mode | When to use |
|---|---|
| Device Code (default) | Local development — interactive Microsoft login, token cached on disk |
| Client Credentials | Unattended: CI/CD, Docker, Azure services — authMethod: "client-credentials" + App Registration |
| Managed Identity | Azure-hosted (App Service, Container Apps) — zero secrets, authMethod: "managed-identity" |
Device code quick start: authentication triggers on the first tool call.
- Open
View → Output → MCP— a sign-in code appears - Go to
https://microsoft.com/devicelogin, enter the code, sign in with your work account - Token is cached encrypted — all future starts are silent
For client credentials and managed identity setup, see Authentication docs.
Capabilities
| Category | Count | Description |
|---|---|---|
| Metadata | 9 | Tables, schema, relationships, option sets, entity keys |
| Query | 3 | OData, FetchXML, paginated retrieval |
| CRUD | 6 | Get, create, update, delete, upsert, assign |
| Relations | 4 | Associate, associate bulk, disassociate, query associations |
| Actions & Functions | 6 | Bound/unbound Dataverse actions and functions |
| Batch | 1 | Up to 1000 operations atomically |
| Solutions | 2 | Publish customizations, create sitemap |
| Search | 1 | Full-text Relevance Search |
| Users & Teams | 4 | Users, roles, teams, role assignment |
| RBAC | 7 | Role privileges: list, assign, remove, add, replace, get, team |
| Files | 2 | Upload/download file and image columns |
| Audit & Trace | 3 | Audit log, plugin trace logs, workflow trace logs |
| Annotations | 2 | Notes and file attachments |
| Customization | 4 | Custom actions, plugins, env variables, connection references |
| Attributes | 4 | Create, update, delete columns; lookup column type |
| Schema (write) | 2 | Create custom tables and relationships |
| Record Access | 4 | Check, grant, revoke record sharing; merge records |
| Assistance | 2 | Tool router, tool tags |
| + more | … | Delta sync, impersonation, views, business units, duplicate detection |
HTTP Transport
Run as an HTTP server for multi-client use:
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 MCP_HTTP_SECRET=mysecret node dist/server.js
| Env var | Default | Description |
|---|---|---|
MCP_TRANSPORT |
stdio |
http enables the HTTP transport |
MCP_HTTP_PORT |
3000 |
Listen 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_MS |
1800000 |
Idle 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_RESPONSE |
true |
JSON responses (false = SSE streaming) |
Connect using VS Code / Copilot with:
{
"servers": {
"dataverse": {
"type": "http",
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer mysecret"
}
}
}
}
Troubleshooting
| Symptom | Fix |
|---|---|
| No sign-in prompt | Open View → Output → MCP — the device code is displayed there |
No MSAL accounts found |
Run npx mcp-dataverse-auth then restart the server |
Authentication timed out |
Restart the MCP server — a fresh code is generated automatically |
| Server not appearing in Agent mode | Run npx mcp-dataverse install or npx mcp-dataverse doctor |
| HTTP errors | Run 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
| Version | Feature | Status |
|---|---|---|
| v0.4 | HTTP transport + attribute management + schema consistency | ✅ Released |
| v0.5 | Enterprise auth (Client Credentials, Managed Identity, Entra JWT) | ✅ Released |
| v0.6 | MCP Prompts (5 templates) + MCP Resources (4) | ✅ Released |
| v0.7 | Schema write (create table/relationship) + Record Access (share, merge) | ✅ Released (v0.7.5) |
License
Microsoft Dataverse MCP 질문
Microsoft Dataverse MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add mcp-dataverse -- npx -y mcp-dataverse를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Microsoft Dataverse MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
How does the Dataverse MCP server authenticate?
It supports three modes: device code sign-in for local development, client credentials for CI/CD and Docker, and managed identity for Azure-hosted deployments.
Can it query Dataverse records with OData or FetchXML?
Yes, it includes query tools for OData, FetchXML and paginated retrieval.
Does it support creating and changing table metadata?
Yes, it can read schema, relationships and option sets, and can also create custom tables, relationships and columns.
Can the Dataverse MCP server run over HTTP for multiple clients?
Yes, setting MCP_TRANSPORT=http enables an HTTP transport with a /mcp endpoint and optional bearer token or Entra JWT auth.
Does it work with non-VS Code MCP clients like Claude or Cursor?
Yes, it works with any MCP client, including VS Code, Claude, Cursor, Windsurf, Gemini and Codex CLI.