DataverseMCPToolBox.Server
0.1.0-alpha
dotnet add package DataverseMCPToolBox.Server --version 0.1.0-alpha
NuGet\Install-Package DataverseMCPToolBox.Server -Version 0.1.0-alpha
<PackageReference Include="DataverseMCPToolBox.Server" Version="0.1.0-alpha" />
<PackageVersion Include="DataverseMCPToolBox.Server" Version="0.1.0-alpha" />
<PackageReference Include="DataverseMCPToolBox.Server" />
paket add DataverseMCPToolBox.Server --version 0.1.0-alpha
#r "nuget: DataverseMCPToolBox.Server, 0.1.0-alpha"
#:package DataverseMCPToolBox.Server@0.1.0-alpha
#addin nuget:?package=DataverseMCPToolBox.Server&version=0.1.0-alpha&prerelease
#tool nuget:?package=DataverseMCPToolBox.Server&version=0.1.0-alpha&prerelease
DataverseMCPToolBox.Server
MCP (Model Context Protocol) server for Dataverse operations. Provides a JSON-RPC interface for managing Dataverse connections and executing plugins.
Overview
This package contains platform-specific self-contained executables of the Dataverse MCP Server. The server communicates via stdin/stdout using JSON-RPC 2.0 protocol and is designed to be spawned as a child process by the VS Code extension or other clients.
Supported Platforms
This package includes binaries for:
- macOS ARM64 (Apple Silicon) -
runtimes/osx-arm64/native/ - macOS x64 (Intel) -
runtimes/osx-x64/native/ - Windows x64 -
runtimes/win-x64/native/ - Linux x64 -
runtimes/linux-x64/native/
All binaries are self-contained and do not require .NET runtime to be installed on the target machine.
Usage
This package is typically consumed automatically by the Dataverse MCP ToolBox VS Code Extension. The extension will:
- Download the appropriate platform binary from this NuGet package
- Extract it to the extension's global storage
- Spawn the server process and communicate via JSON-RPC
Manual Usage (Advanced)
If you want to use the server directly:
- Extract the appropriate platform binary from the package
- Make it executable (Unix systems):
chmod +x DataverseMCPToolBox - Run the executable - it will listen on stdin/stdout for JSON-RPC messages
Example JSON-RPC request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "CreateConnection",
"params": {
"request": {
"environmentUrl": "https://org.crm.dynamics.com",
"connectionName": "MyConnection"
}
}
}
Features
Connection Management
- Create Dataverse connections with OAuth device flow authentication
- Test connection validity
- Retrieve organization details
- Close connections
Plugin System
- Load plugins from NuGet packages
- Execute MCP tools provided by plugins
- Hot-reload plugins without restarting the server
Available RPC Methods
CreateConnection- Establish a new Dataverse connectionTestConnection- Verify connection is validGetOrganizationDetails- Get organization informationGetWhoAmI- Get current user informationCloseConnection- Close a specific connectionCloseAllConnections- Close all active connectionsSetPluginDirectory- Configure plugin installation directoryInstallPlugin- Install a plugin from NuGetUninstallPlugin- Remove an installed pluginReloadPlugins- Reload all pluginsListPlugins- Get list of installed pluginsListTools- Get list of available MCP toolsCallTool- Execute an MCP tool
Communication Protocol
The server uses JSON-RPC 2.0 over stdin/stdout:
- stdin: Receives JSON-RPC requests
- stdout: Sends JSON-RPC responses (formatted with Content-Length headers)
- stderr: Server logs and debug information
Message Format
Messages use the Language Server Protocol header format:
Content-Length: <length>\r\n\r\n
<JSON-RPC message>
Requirements
- No external dependencies required (self-contained executables)
- Windows, macOS, or Linux operating system
- For Dataverse connections: Valid Microsoft 365/Dataverse credentials
Version History
0.1.0-alpha
- Initial release
- Support for Dataverse connection management
- Plugin system with NuGet integration
- MCP tool execution framework
- OAuth device flow authentication
- Multi-platform support (macOS ARM64/x64, Windows x64, Linux x64)
License
MIT License - See LICENSE file for details
Repository
GitHub: https://github.com/tchinnin/dataverse-mcp-toolbox
Support
For issues, feature requests, or contributions, please visit the GitHub repository.
Related Packages
- DataverseMCPToolBox.Extensibility - SDK for building plugins
- DataverseMCPToolBox.WhoAmI - Sample WhoAmI plugin
Author
Théophile CHIN-NIN
Note: This package is intended for use with the Dataverse MCP ToolBox VS Code Extension. Manual usage requires understanding of JSON-RPC protocol and Model Context Protocol concepts. bool isValid = connectionService.TestConnection(result.ConnectionId);
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- DataverseMCPToolBox.Extensibility (>= 0.1.0-alpha)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Identity.Client (>= 4.61.3)
- Microsoft.PowerPlatform.Dataverse.Client (>= 1.1.32)
- Newtonsoft.Json (>= 13.0.3)
- NuGet.Protocol (>= 6.8.0)
- StreamJsonRpc (>= 2.19.27)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|