npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@demiliani/d365bc-admin-mcp

v1.0.6

Published

MCP Server for Dynamics 365 Business Central Administration

Downloads

441

Readme

Dynamics 365 Business Central Admin MCP Server

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
  • 📦 29 Administrative Tools - Complete environment, app, and session 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"
"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?"

🛠️ Available Tools (29 Total)

The MCP server exposes 29 administrative tools organized by category:

🔑 Authentication & Tenant Management (3 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 | | get_token_cache_status | View cached token status for all tenants |

🌍 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 (5 tools)

| Tool | Description | |------|-------------| | get_installed_apps | List apps installed in an environment | | get_available_app_updates | Check for available app updates | | 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 |

🧹 Token Management (1 tool)

| Tool | Description | |------|-------------| | clear_cached_token | Clear cached authentication token for a tenant |

🎯 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

  • npm Package: https://www.npmjs.com/package/@demiliani/d365bc-admin-mcp
  • Issues: Report bugs or request features via GitHub Issues
  • Version: 1.0.0

🙏 Acknowledgments

Built with:


Made with ❤️ for the Dynamics 365 Business Central community