JW

javiarmesto/workshop-mcp-server-directions-lab

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

10 stars 3 forks 质量 74 趋势 32

Python STDIO MCP workshop with local mock data and an optional connection to your Business Central sandbox.

概览

start without BC credentials; src/config.py permits mock mode. Create the venv and run python test_server.py from the repository root. The expected result is MCP tool discovery using sample data; it does not validate Entra authentication or live BC. configure .env from .env.example, authorize the application and company, then verify a read with your own client. Do not mix a successful mock test with a successful BC API call. The root contains server_workshop.py, setup.ps1, setup.sh, ConfigurationPaths.ps1, test_server.py and validate_workshop.py; src/ and data/ contain modules and samples. No root scripts/ or tests/ directory is supplied. Static documentation review: ; no dependency installation or MCP invocation performed. No applicable license file confirmed. Welcome to the ! 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.

README

以下为原文 README 节选,完整内容请查看原文。

🚀 MCP Server Workshop - Business Central Integration

Choose a route

Learn MCP locally: start without BC credentials; src/config.py permits mock mode. Create the venv and run python test_server.py from the repository root. The expected result is MCP tool discovery using sample data; it does not validate Entra authentication or live BC.

Connect your own BC sandbox: configure .env from .env.example, authorize the application and company, then verify a read with your own client. Do not mix a successful mock test with a successful BC API call.

The root contains server_workshop.py, setup.ps1, setup.sh, ConfigurationPaths.ps1, test_server.py and validate_workshop.py; src/ and data/ contain modules and samples. No root scripts/ or tests/ directory is supplied. Static documentation review: 6 October 2026; no dependency installation or MCP invocation performed. No applicable license file confirmed.

Welcome to the MCP Server Workshop! 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.

⏱️ Workshop Duration: 20-30 minutes
📖 Complete Workshop Guide →
🚀 Quick Start Guide → (Setup + Exercises)
📊 Presentation Slides: MCP_Server_Custom Directions.pptx


🎯 Workshop Objectives

Learn to build, extend, and customize MCP servers with:

  • ✅ MCP Protocol fundamentals
  • ✅ STDIO transport for Claude Desktop integration
  • ✅ Business Central API integration
  • ✅ Custom tools and prompts creation
  • ✅ Practical exercises for hands-on learning

📋 Prerequisites

Before starting the workshop, ensure you have:

Required:

  • 🐍 Python 3.12 or higher installed (Download here)
  • 💻 Claude Desktop app installed (Download here)
  • 📦 Basic command line knowledge (terminal/PowerShell)

Only required for the real Business Central route:

  • 🏭 Azure AD Tenant with Business Central access
  • Business Central Environment with Standard API v2.0 enabled:
  • Sandbox or Production environment
  • API endpoints: /api/v2.0/companies, /items, /customers, /salesOrders, etc.
  • Company name and Environment name
  • 🚀 Azure AD App Registration configured:
    • Client ID, Client Secret, Tenant ID
    • API permissions for Business Central (Dynamics 365 Business Central)
    • Redirect URI configured (if needed)

Local MCP learning route (mock data):

  • 🧪 Mock Data Mode: The workshop includes mock data as a fallback
    • Allows completing exercises without real BC connection
    • Limited to testing MCP protocol mechanics
    • Does not demonstrate real authentication or API integration
    • Use the real BC route when authentication and live APIs are your learning objective
在 GitHub 查看完整 README

安装

npx @modelcontextprotocol/inspector
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "bc-workshop-server": { "command": "YOUR_PYTHON_PATH_HERE", "args": ["YOUR_SERVER_PATH_HERE"], "env": { "PYTHONPATH": "YOUR_WORKSHOP_PATH_HERE" } } } }