Skip to content

Conversation

@DmitryKatson
Copy link

Summary

This PR adds a Python implementation of the Business Central MCP Proxy, providing a cross-platform alternative to the existing .NET version with simplified installation and setup.

Key Features

  • PyPI-ready package: Published as bc-mcp-proxy (ready for Microsoft to publish under their PyPI account)
  • Unified setup command: python -m bc_mcp_proxy setup handles configuration, authentication, and generates MCP client configs automatically
  • Cross-platform: Works on Windows, macOS, and Linux
  • Better IDE integration: Works seamlessly with Cursor, VS Code, and other Python-based MCP clients
  • Same functionality: Provides identical MCP proxy capabilities as the .NET version

What's Included

  • Core proxy implementation (bc_mcp_proxy/)
  • Interactive setup flow with device-code authentication
  • PyPI packaging configuration (pyproject.toml, MANIFEST.in, LICENSE)
  • User-facing README following the .NET version structure
  • Maintainer documentation and build scripts in maintainer/ folder
  • Updated .gitignore to exclude Python build artifacts

Testing

The package has been tested on TestPyPI and verified to work end-to-end:

  • ✅ Package builds and uploads successfully
  • ✅ Installation from TestPyPI works
  • ✅ Unified setup command functions correctly
  • ✅ Proxy connects to Business Central successfully
  • ✅ MCP clients can use the proxy via stdio

See samples/BcMCPProxyPython/maintainer/TESTING.md for detailed testing instructions.

Next Steps for Microsoft

  1. Review the implementation
  2. Test the package (instructions in maintainer/TESTING.md)
  3. Publish to PyPI under Microsoft's account (instructions in maintainer/PUBLISHING.md)
  4. Update any documentation as needed

Installation (for users, after publication)

python -m pip install --upgrade bc-mcp-proxy && python -m bc_mcp_proxy setup

Adds a cross-platform Python alternative to the .NET MCP proxy with:
- PyPI-ready package (bc-mcp-proxy)
- Unified interactive setup command
- Automatic MCP client config generation
- Device-code authentication with token caching
- Maintainer docs and build scripts organized in maintainer/

The Python version provides easier installation and better IDE
integration while maintaining the same core functionality.

Updates .gitignore to exclude Python build artifacts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant