Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
MCP Server for Microsoft Dataverse Web API MCP Dataverse Server MCP server that exposes the Microsoft Dataverse Web API as **50 AI-callable tools** — enabling GitHub Copilot, Claude, and other MCP clients to query, create, and manage Dataverse records without hallucinating schema. Install ✅ Recommended — Interactive CLI (VS Code 1.99+) The wizard will: 1. Ask for your Dataverse environment URL 2. Save configuration to ~/.mcp-dataverse/config.json 3. Register Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
mcp-dataverse is best for mcp, dataverse, power-platform workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
MCP Server for Microsoft Dataverse Web API MCP Dataverse Server MCP server that exposes the Microsoft Dataverse Web API as **50 AI-callable tools** — enabling GitHub Copilot, Claude, and other MCP clients to query, create, and manage Dataverse records without hallucinating schema. Install ✅ Recommended — Interactive CLI (VS Code 1.99+) The wizard will: 1. Ask for your Dataverse environment URL 2. Save configuration to ~/.mcp-dataverse/config.json 3. Register
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Codeurali
Artifacts
0
Benchmarks
0
Last release
0.2.5
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/codeurali/mcp-dataverse.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Codeurali
Protocol compatibility
MCP
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
npx mcp-dataverse install
jsonc
{
"servers": {
"mcp-dataverse": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-dataverse"],
"env": {
"MCP_CONFIG_PATH": "/path/to/.mcp-dataverse/config.json"
}
}
}
}jsonc
{
"servers": {
"mcp-dataverse": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-dataverse"],
"env": {
"MCP_CONFIG_PATH": "/path/to/.mcp-dataverse/config.json"
}
}
}
}text
[mcp-dataverse] First-time authentication required.
Environment: https://yourorg.crm.dynamics.com
Open the URL below in your browser to sign in.
[mcp-dataverse] Sign in required
1. Open https://microsoft.com/devicelogin in your browser
(use the browser profile linked to your Power Platform account)
2. Paste the code: ABCD-1234 (already copied to your clipboard)
3. Sign in with your work accounttext
[mcp-dataverse] Authenticated ✓ Token cached — no sign-in needed next time.
bash
npx mcp-dataverse-auth https://yourorg.crm.dynamics.com
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP Server for Microsoft Dataverse Web API MCP Dataverse Server MCP server that exposes the Microsoft Dataverse Web API as **50 AI-callable tools** — enabling GitHub Copilot, Claude, and other MCP clients to query, create, and manage Dataverse records without hallucinating schema. Install ✅ Recommended — Interactive CLI (VS Code 1.99+) The wizard will: 1. Ask for your Dataverse environment URL 2. Save configuration to ~/.mcp-dataverse/config.json 3. Register

MCP server that exposes the Microsoft Dataverse Web API as 50 AI-callable tools — enabling GitHub Copilot, Claude, and other MCP clients to query, create, and manage Dataverse records without hallucinating schema.
npx mcp-dataverse install
The wizard will:
~/.mcp-dataverse/config.jsoncode --add-mcpAfter the wizard completes, the server is immediately available in VS Code — open Copilot chat and the 50 Dataverse tools are ready.
Requires VS Code 1.99+ — the CLI registration uses
code --add-mcp, introduced in March 2025. If neithercodenorcode-insidersis on your PATH, the wizard prints a manual snippet to copy-paste. Custom VS Code profiles are also detected and patched automatically.
MCP: Add Server → choose NPM Package → enter mcp-dataverse{
"servers": {
"mcp-dataverse": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-dataverse"],
"env": {
"MCP_CONFIG_PATH": "/path/to/.mcp-dataverse/config.json"
}
}
}
}
Create or edit .vscode/mcp.json (workspace scope) or the user-level mcp.json (Ctrl+Shift+P → MCP: Open User Configuration):
{
"servers": {
"mcp-dataverse": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-dataverse"],
"env": {
"MCP_CONFIG_PATH": "/path/to/.mcp-dataverse/config.json"
}
}
}
}
No PAC CLI, no Azure AD app registration, no credentials to configure.
The server uses Microsoft's device code flow (MSAL Public Client) — the same mechanism used by Power Platform CLI. Zero pre-configuration: just set your environment URL and the server handles the rest.
Authentication is triggered on the first tool call after the server starts (e.g. asking Copilot "Who am I in Dataverse?"). Here is the exact sequence:
Step 1 — Open the Output panel
In VS Code: View → Output → select MCP in the dropdown.
Step 2 — The sign-in prompt appears
[mcp-dataverse] First-time authentication required.
Environment: https://yourorg.crm.dynamics.com
Open the URL below in your browser to sign in.
[mcp-dataverse] Sign in required
1. Open https://microsoft.com/devicelogin in your browser
(use the browser profile linked to your Power Platform account)
2. Paste the code: ABCD-1234 (already copied to your clipboard)
3. Sign in with your work account
Step 3 — Sign in
https://microsoft.com/devicelogin in the browser/profile linked to your Power Platform work accountStep 4 — Confirmation in the Output panel
[mcp-dataverse] Authenticated ✓ Token cached — no sign-in needed next time.
The tool call that triggered auth now completes. All 50 tools are ready to use.
⏱ The code expires after 5 minutes. If it times out, retry the tool call — a new code will be generated.
Why not auto-open the browser? Consultants often work with multiple browser profiles (personal vs. work). Device code flow intentionally lets you choose the right browser and profile.
The token is cached encrypted (AES-256-GCM) in ~/.mcp-dataverse/. On all future server starts, renewal is completely silent — no prompt, no browser.
You only need to re-authenticate if the refresh token expires (~90 days of inactivity) or you reset it manually:
npx mcp-dataverse-auth https://yourorg.crm.dynamics.com
When re-auth is needed, the Output panel shows:
[mcp-dataverse] Session expired — re-authenticating.
Open the URL below in your browser to sign in again.
[mcp-dataverse] Sign in required
...
The same device code process applies.
git clone <repo-url> mcp-dataverse && cd mcp-dataverse
npm install
cp config.example.json config.json
Edit config.json:
| Field | Description |
| ------------------ | ----------------------------------------------------- |
| environmentUrl | Your org URL, e.g. https://yourorg.crm.dynamics.com |
| requestTimeoutMs | HTTP timeout in ms (default: 30000) |
| maxRetries | Retry count on transient errors (default: 3) |
npm run auth:setup
Runs device code authentication. Follow the URL printed to the terminal — sign in with your Power Platform account. Token is cached and silently renewed.
npm run build
npx tsx tests/live/test-whoami.ts
Expected output:
WhoAmI result: { UserId: 'xxxxxxxx-...', BusinessUnitId: 'xxxxxxxx-...', OrganizationId: 'xxxxxxxx-...' }
.vscode/mcp.json is already present in this repo. If you need to add it manually:
{
"servers": {
"dataverse": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/dist/server.js"],
"env": {}
}
}
}
| Tool | Category | Description |
| -------------------------------------------- | ------------- | ----------------------------------------------------------------------------------- |
| dataverse_whoami | Auth | Verify connection; returns UserId, BusinessUnitId, OrgId |
| dataverse_list_tables | Metadata | List all tables (customOnly filter available) |
| dataverse_get_table_metadata | Metadata | Full schema: columns, types, logical names |
| dataverse_get_relationships | Metadata | All 1:N, N:1, N:N relationships for a table; filter by relationshipType |
| dataverse_list_global_option_sets | Metadata | All global option sets in the environment |
| dataverse_get_option_set | Metadata | Options and values for a specific option set |
| dataverse_get_entity_key | Metadata | Alternate key definitions for a table (fields, index status, customizable flag) |
| dataverse_query | Query | OData query with $select, $filter, $orderby, $expand, $count |
| dataverse_execute_fetchxml | Query | Raw FetchXML for aggregations and complex joins |
| dataverse_retrieve_multiple_with_paging | Query | Paginated query following @odata.nextLink, with configurable maxTotal cap |
| dataverse_get | CRUD | Retrieve a single record by GUID |
| dataverse_create | CRUD | Create a record; returns the new GUID |
| dataverse_update | CRUD | Patch a record — only specified fields are changed |
| dataverse_delete | CRUD | Delete a record (requires explicit confirm) |
| dataverse_upsert | CRUD | Create-or-update via alternate key |
| dataverse_assign | CRUD | Assign a record to a different user or team owner |
| dataverse_associate | Relations | Associate two records via a named relationship |
| dataverse_disassociate | Relations | Remove an association between two records |
| dataverse_execute_action | Actions | Execute a global (unbound) Dataverse action |
| dataverse_execute_function | Actions | Execute a global read-only function (e.g. WhoAmI) |
| dataverse_execute_bound_action | Actions | Execute an action bound to a specific record |
| dataverse_execute_bound_function | Actions | Execute an OData bound function on a specific record |
| dataverse_retrieve_dependencies_for_delete | Actions | Check what components block deletion of a Dataverse component |
| dataverse_list_dependencies | Actions | List component dependencies before modifying or deleting |
| dataverse_batch_execute | Batch | Up to 1000 operations in a single HTTP batch request; optional atomic changeset |
| dataverse_change_detection | Tracking | Delta tracking using change tokens to detect record changes since last sync |
| dataverse_solution_components | Solution | List all components in a named solution; filter by component type code |
| dataverse_publish_customizations | Solution | Publish pending customizations (all or targeted entities/web resources/option sets) |
| dataverse_impersonate | Impersonation | Execute any tool on behalf of another Dataverse user via MSCRMCallerId |
| dataverse_list_custom_actions | Customization | Lists custom actions (custom API / SDK messages) in the environment |
| dataverse_list_plugin_steps | Customization | Lists plugin step registrations with stage, mode, entity, and state |
| dataverse_get_environment_variable | Environment | Retrieve an environment variable definition and current value |
| dataverse_set_environment_variable | Environment | Set or update an environment variable value |
| dataverse_get_plugin_trace_logs | Trace | Retrieve plugin execution trace logs for debugging |
| dataverse_get_workflow_trace_logs | Trace | Retrieve async workflow/system job execution logs |
| dataverse_search | Search | Full-text Relevance Search across all configured tables |
| dataverse_get_audit_log | Audit | Retrieve audit trail for a record showing change history |
| dataverse_detect_duplicates | Quality | Check for potential duplicates before creating a record |
| dataverse_get_annotations | Annotations | Retrieve notes and file attachments linked to a record |
| dataverse_list_users | Users | Search system users by name or email with BU filtering |
| dataverse_get_user_roles | Users | Security roles assigned to a system user |
| dataverse_create_annotation | Annotations | Create a note or file attachment linked to a record |
| dataverse_get_attribute_option_set | Metadata | Local/entity-specific option set values (statecode, statuscode, picklist) |
| dataverse_list_solutions | Solution | List all solutions in the environment |
| dataverse_set_workflow_state | Customization | Enable or disable a workflow or process |
| dataverse_list_views | Views | List system and personal saved views for a table |
| dataverse_upload_file_column | Files | Upload binary content to a file/image column on a record |
| dataverse_download_file_column | Files | Download binary content from a file/image column on a record |
| dataverse_list_business_units | Org | List business units in the environment (org hierarchy) |
| dataverse_list_teams | Teams | List Dataverse teams with optional filter by team type |
| Command | Description |
| -------------------------- | ----------------------------------- |
| npm run build | Compile TypeScript → dist/ |
| npm run dev | Watch mode — no build step needed |
| npm start | Start the compiled server |
| npm run auth:setup | One-time device code authentication |
| npm run typecheck | Type-check without emitting output |
| npm run lint | ESLint on src/ |
| npm run test:unit | Unit tests only |
| npm run test:integration | Integration tests |
| npm test | All tests |
TypeScript MCP server over stdio transport. The DeviceCodeAuthProvider (MSAL device code flow) injects Bearer tokens into a native-fetch-based HttpClient wrapped by DataverseClient. Each tool module registers handlers with the MCP Server instance.
GitHub Copilot → stdio → MCP Server → Tool Router → DataverseClient → Dataverse Web API v9.2
└── DeviceCodeAuthProvider (MSAL)
config.json — it is in .gitignore~/.mcp-dataverse/) is encrypted (AES-256-GCM) and should not be shared| Symptom | Fix |
| ------------------------------------------ | -------------------------------------------------------------------------------- |
| No sign-in prompt appeared | Open View → Output → MCP in VS Code — the device code is displayed there |
| Browser didn't open automatically | Copy the URL from the Output panel manually: https://microsoft.com/devicelogin |
| No MSAL accounts found | Run npx mcp-dataverse-auth to re-authenticate, then restart the server |
| Authentication timed out | The 5-minute window expired — restart the MCP server to get a new code |
| "https://" is required | Check your ~/.mcp-dataverse/config.json — URL must start with https:// |
| Server not appearing in Copilot Agent mode | Re-run npx mcp-dataverse install; check Output → MCP panel for errors |
| Install wizard says "not found on PATH" | Install VS Code Shell Command (Ctrl+Shift+P → Shell Command: Install...) or use the manual snippet provided |
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T01:49:53.037Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "dataverse",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "power-platform",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "dynamics-365",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "copilot",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:mcp|supported|profile capability:dataverse|supported|profile capability:power-platform|supported|profile capability:dynamics-365|supported|profile capability:copilot|supported|profile capability:model-context-protocol|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Codeurali",
"href": "https://github.com/codeurali/mcp-dataverse",
"sourceUrl": "https://github.com/codeurali/mcp-dataverse",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T03:13:44.573Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T03:13:44.573Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-codeurali-mcp-dataverse/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to mcp-dataverse and adjacent AI workflows.