Workshop -Directions-Lab
This workshop teaches you to build a complete MCP (Model Context Protocol) server with STDIO transport for Claude Desktop, integrated with Microsoft Dynamics 365 Business Central.
claude mcp add --transport stdio javiarmesto-workshop-mcp-server-directions-lab python server_workshop.py \ --env PYTHONPATH="<path-to-workshop-root>"
How to use
This MCP server implements a Business Central integration workshop using the STDIO transport for Claude Desktop. It exposes six tools that fetch data or metadata from a Business Central environment (when configured with real BC credentials) and demonstrates how to structure prompts and responses for MCP tooling. The server can be run from the command line and then connected to Claude Desktop or the MCP Inspector for testing. The available tools include operations like getting customers, items, and sales orders from Business Central, as well as other BC-related data fetch operations demonstrated in the workshop. Use the Claude Desktop UI to connect to this server via STDIO by providing the Python executable path and the path to the server script, plus the PYTHONPATH environment variable if required. The MCP Inspector can also be used to visualize and test individual tools without Claude Desktop.
How to install
Prerequisites
- Python 3.12 or higher
- Claude Desktop (for integration testing)
- Basic command line knowledge (terminal or PowerShell)
Step-by-step installation
-
Download the repository and navigate to it:
- git clone https://github.com/javiarmesto/Workshop-MCP-Server-Directions-Lab.git
- cd Workshop-MCP-Server-Directions-Lab-main
-
Create and activate a Python virtual environment, then install dependencies:
- python -m venv workshop-env
-
Windows PowerShell
.\workshop-env\Scripts\Activate.ps1Windows CMD
workshop-env\Scripts\activate.batmacOS/Linux
source workshop-env/bin/activate - pip install -r requirements.txt
-
Configure credentials (optional for mock data):
- cp .env.example .env
- Edit .env with your Azure AD and Business Central credentials (if using BC integration) Example keys: AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, BC_ENVIRONMENT, BC_COMPANY_ID
-
Test the server setup:
- python ./test_server.py
Expected result: The test script will list available MCP tools and show a success message. You can also verify via the MCP Inspector or Claude Desktop configuration as described in the workshop guide.
Additional notes
Tips and common considerations:
- This workshop can operate with mock data if BC access is not available; real authentication and API calls require BC credentials and an Azure AD app registration.
- When configuring Claude Desktop, ensure PYTHONPATH is set so Python can load workshop modules correctly.
- If you modify file paths, update the mcpServers entry accordingly so the STDIO transport can locate the server script.
- The MCP Inspector provides a visual debugging aid; you can run the inspector and manually test individual tools before connecting Claude Desktop.
- The configuration steps reference server_workshop.py as the entry script; if your setup uses a different filename, adjust the args accordingly.
Related MCP Servers
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
mcp-yfinance
Real-time stock API with Python, MCP server example, yfinance stock analysis dashboard
pfsense
pfSense MCP Server enables security administrators to manage their pfSense firewalls using natural language through AI assistants like Claude Desktop. Simply ask "Show me blocked IPs" or "Run a PCI compliance check" instead of navigating complex interfaces. Supports REST/XML-RPC/SSH connections, and includes built-in complian
cloudwatch-logs
MCP server from serkanh/cloudwatch-logs-mcp
servicenow-api
ServiceNow MCP Server and API Wrapper
the -company
TheMCPCompany: Creating General-purpose Agents with Task-specific Tools