This guide is for Kiro to validate the MCP server installation and functionality.
Before starting, ensure you have:
- Python 3.9 or higher installed
- Access to a Databricks workspace
- SAP Business Data Cloud account with proper permissions
- Databricks recipient configured for Delta Sharing
- Claude Desktop installed (for MCP testing)
# Clone the repository
cd C:\Users\mariodefe
cd sap-bdc-mcp-server
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On Mac/Linux:
source venv/bin/activate
# Install the package
pip install -e ".[dev]"# Copy environment template
copy .env.example .env
# Edit .env file and set:
# DATABRICKS_RECIPIENT_NAME=your_actual_recipient_name
# LOG_LEVEL=INFO# Run tests
pytest -v
# Check if server starts (press Ctrl+C to stop)
python -m sap_bdc_mcp.serverExpected output: Server should start without errors and wait for input.
Objective: Verify the server can start and list tools.
Steps:
- Start the server:
python -m sap_bdc_mcp.server - Server should initialize without errors
- Press Ctrl+C to stop
Expected Result: No initialization errors.
Objective: Test MCP integration with Claude Desktop.
Steps:
-
Locate Claude Desktop config file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
Add configuration:
{
"mcpServers": {
"sap-bdc": {
"command": "C:\\Users\\mariodefe\\sap-bdc-mcp-server\\venv\\Scripts\\python.exe",
"args": ["-m", "sap_bdc_mcp.server"],
"env": {
"DATABRICKS_RECIPIENT_NAME": "YOUR_RECIPIENT_NAME"
}
}
}
}-
Restart Claude Desktop
-
In Claude, check if the server is connected:
- Look for "sap-bdc" in available servers
- Should show 5 available tools
Expected Result: Server appears in Claude Desktop with 5 tools listed.
Objective: Verify all tools are accessible.
In Claude Desktop, ask:
What tools are available from the SAP BDC server?
Expected Result: Claude should list:
- create_or_update_share
- create_or_update_share_csn
- publish_data_product
- delete_share
- generate_csn_template
Objective: Test basic share creation.
In Claude Desktop, ask:
Use the SAP BDC server to create a test share named "validation_test_share"
with a simple table configuration.
Expected Result:
- Tool should execute
- Either success or descriptive error message
- No server crashes
Objective: Test CSN generation from existing share.
Prerequisite: Have an existing Databricks share name ready.
In Claude Desktop, ask:
Generate a CSN template from the Databricks share named "EXISTING_SHARE_NAME"
Expected Result:
- CSN template generated in JSON format
- Schema structure visible
- No errors
Objective: Verify graceful error handling.
In Claude Desktop, ask:
Try to delete a share named "nonexistent_share_xyz"
Expected Result:
- Error message returned (not crash)
- Error is descriptive
- Server continues running
- Server starts without errors
- All 5 tools listed correctly
- Configuration loads properly
- Environment variables recognized
- Server appears in MCP servers list
- Tools are accessible from Claude
- Commands execute (success or fail gracefully)
- Error messages are clear and helpful
- Can connect to Databricks
- Recipient authentication works
- Share operations execute
- CSN generation works
- Invalid share names handled gracefully
- Missing parameters reported clearly
- Authentication errors descriptive
- Server doesn't crash on errors
Solution: This typically means:
- Running outside Databricks environment
- Missing dbutils
- Need to use Databricks Connect for local development
Solution:
- Check .env file exists
- Verify environment variable is set correctly
- Restart server after changing config
Solution:
- Check config file path is correct
- Verify JSON syntax is valid
- Ensure Python path in config is correct
- Restart Claude Desktop
- Check Claude Desktop logs
Solution:
- Ensure virtual environment is activated
- Reinstall:
pip install -e ".[dev]" - Check Python version (3.9+)
When reporting issues, please include:
-
Environment:
- OS and version
- Python version
- SAP BDC Connect SDK version
- Claude Desktop version (if applicable)
-
Error messages:
- Full error text
- Stack traces
- Server logs
-
Steps to reproduce:
- Exact commands run
- Configuration used
- Expected vs actual behavior
-
Context:
- Running in Databricks? (Yes/No)
- Local development? (Yes/No)
- First time setup? (Yes/No)
The validation is successful if:
- ✅ Server starts without errors
- ✅ All 5 tools are accessible
- ✅ At least one tool executes successfully
- ✅ Errors are handled gracefully (no crashes)
- ✅ Integration with Claude Desktop works
Once validation is complete:
- Document any issues found
- Verify fixes for critical issues
- Approve for GitHub publication
- Plan PyPI release
- Consider npm package needs
For questions during validation:
- Open an issue in the repository
- Contact the development team
- Check documentation in README.md