Skip to content

demiliani/D365BCAdminMCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Dynamics 365 Business Central Admin MCP Server (YAMPI)

A Model Context Protocol (MCP) server that enables AI assistants like Claude Desktop, GitHub Copilot, and Cursor to manage Dynamics 365 Business Central environments through natural language commands.

๐ŸŒŸ Features

  • ๐Ÿ” Interactive Authentication - Secure Microsoft Entra ID authentication with browser-based login
  • ๐Ÿ“ฆ 34 Administrative Tools - Complete environment, app, session, PTE upload, and extension management
  • โšก Smart Token Caching - Automatic token refresh to minimize authentication prompts
  • ๐ŸŒ Multi-Tenant Support - Manage multiple Business Central tenants seamlessly
  • ๐Ÿ’ฌ Natural Language Interface - Control BC through conversational AI commands
  • ๐Ÿ”’ Secure by Design - No credentials stored, uses Azure authentication standards

๐Ÿ“ฆ Installation

Via npm (Recommended)

npm install -g @demiliani/d365bc-admin-mcp

Prerequisites

  • Node.js 16+ - Download
  • Dynamics 365 Business Central - Admin access to your tenant
  • Microsoft Entra ID - Azure account with BC admin privileges

โš™๏ธ Configuration

After installation, configure your AI assistant to use the MCP server.

Claude Desktop

Location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Configuration:

{
  "mcpServers": {
    "d365bc-admin": {
      "command": "d365bc-admin-mcp"
    }
  }
}

Steps:

  1. Open the configuration file (create it if it doesn't exist)
  2. Add the above configuration
  3. Save the file
  4. Restart Claude Desktop
  5. You should see the MCP server connected in the chat window

GitHub Copilot (VS Code)

Location: .vscode/settings.json in your workspace or global settings

Configuration:

{
  "github.copilot.chat.mcp.servers": {
    "d365bc-admin": {
      "command": "d365bc-admin-mcp"
    }
  }
}

Steps:

  1. Open VS Code Settings (JSON)
  2. Add the above configuration
  3. Save the file
  4. Restart VS Code
  5. Open GitHub Copilot Chat to start using the MCP server

Cursor

Location: .cursor/config.json in your workspace

Configuration:

{
  "mcp": {
    "servers": {
      "d365bc-admin": {
        "command": "d365bc-admin-mcp"
      }
    }
  }
}

Steps:

  1. Create .cursor/config.json in your workspace root
  2. Add the above configuration
  3. Save the file
  4. Restart Cursor
  5. The MCP server will be available in Cursor's AI chat

๐Ÿ” Authentication

On first use, a browser window will open for Microsoft Entra ID authentication. Sign in with your Business Central administrator account. The token is cached for 50 minutes and automatically refreshed.

No additional setup required - the MCP server handles authentication automatically!

๐Ÿ’ก Usage Examples

Once configured, use natural language commands in your AI assistant:

Environment Management

"Show me all my Business Central environments"
"What's the status of my Production environment?"
"Create a new sandbox environment called 'Dev-Test' in the US"
"Copy Production environment to a new sandbox called 'Testing'"
"Delete the 'Old-Test' sandbox environment"

Application Management

"List all installed apps in Production"
"Show available updates for my apps"
"Install app with ID <app-id> in my Production environment"
"Update the Sales Module app to version 2.0"
"Uninstall the old Marketing app from Sandbox"

Session Management

"Show active user sessions in Production"
"Terminate session abc123 in my Sandbox environment"

Update Windows

"Get the update window settings for Production"
"Set update window for Production to 10 PM - 6 AM UTC"

Storage & Monitoring

"Show storage usage for all environments"
"What's the storage usage for Production?"

Extension Deployment & PTE Uploads

"Upload the app c:\\Packages\\MyPTE.app to Production (Fabrikam)"
"Bulk upload all .app files from c:\\Packages into Sandbox and wait for deployments"
"Check the extension deployment status for Fabrikam in Production"

๐Ÿ› ๏ธ Available Tools (34 Total)

The MCP server exposes 33 administrative tools organized by category:

๐Ÿ”‘ Authentication & Tenant Management (2 tools)

Tool Description
get_microsoft_entra_id_token Get authentication token with intelligent caching
get_tenant_id_from_tenant_name Retrieve tenant ID from tenant name

๐ŸŒ Environment Management (10 tools)

Tool Description
get_environment_informations List all BC environments in a tenant
create_new_environment Create a new BC environment
copy_environment Copy an existing environment to create a new one
delete_environment Delete a Business Central environment
get_environment_update_window Get update window settings for an environment
set_environment_update_window Configure update window for an environment
set_app_insights_key Set Application Insights connection string
get_environment_storage_usage Get storage usage for a specific environment
get_all_environments_storage_usage Get storage usage for all environments
get_companies List companies in an environment

๐Ÿ“ฆ Application Management (6 tools)

Tool Description
get_installed_apps List apps installed in an environment
get_available_app_updates Check for available app updates
install_app Install a Marketplace (AppSource) app in a Business Central environment
update_app Update an app to a specific version
uninstall_app Remove an app from an environment
get_app_operations Get status of app install/update/uninstall operations

๐Ÿ”„ Environment Updates (2 tools)

Tool Description
get_available_environment_updates Check for available BC version updates
schedule_environment_update Schedule or run an environment update

๐Ÿ‘ฅ Session Management (2 tools)

Tool Description
get_active_sessions List active user sessions in an environment
kill_active_sessions Terminate a specific active session

๐Ÿ”” Notification Management (3 tools)

Tool Description
get_notification_recipients List notification recipients
create_notification_recipient Add a new notification recipient
delete_notification_recipient Remove a notification recipient

๐Ÿ”ง Feature Management (3 tools)

Tool Description
get_available_features List available features in an environment
activate_feature Activate a feature in a Business Central environment
deactivate_feature Deactivate a feature in a Business Central environment

๐Ÿงฉ Extension Deployment & PTE Uploads (4 tools)

Tool Description
get_extension_deployment_status Get extension deployment status for an environment/company
create_pte_upload Create and upload a single PTE (.app) file
create_pte_uploads_from_folder Bulk upload PTEs from a folder, waiting for each deployment
get_extension_upload Retrieve the status of a specific extension upload task

๐Ÿงน Token Management (2 tools)

Tool Description
clear_cached_token Clear cached authentication token for a tenant
get_token_cache_status View cached token status for all tenants

๐ŸŽฏ Quick Start

  1. Install the package:

    npm install -g @demiliani/d365bc-admin-mcp

    ๐Ÿ“– Need detailed installation instructions? See the Installation Guide for platform-specific steps (Windows, macOS, Linux) and troubleshooting.

  2. Configure your AI assistant (see Configuration section above)

  3. Start using it:

    • Open your AI assistant (Claude, Copilot, or Cursor)
    • Type: "Show me all my Business Central environments"
    • Authenticate when prompted (first time only)
    • Start managing your BC environments with natural language!

๐Ÿ“š Documentation

For detailed installation documentation, see:

๐Ÿ” Troubleshooting

"Command not found: d365bc-admin-mcp"

npm install -g @demiliani/d365bc-admin-mcp
which d365bc-admin-mcp

Authentication Issues

  • Ensure you have Business Central admin privileges
  • Check that you're signing in with the correct Microsoft account
  • Try clearing the token cache: "Clear cached token for tenant [tenant-id]"

MCP Server Not Appearing

  • Verify the config file location for your OS
  • Check for JSON syntax errors in the config
  • Restart your AI assistant completely
  • Check the assistant's logs for error messages

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ฎ Support

๐Ÿ™ Acknowledgments

Built with:


Made with โค๏ธ for the Dynamics 365 Business Central community

About

MCP Server for Dynamics 365 Business Central Administration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages