Databricks MCP Server
by JustTryAI
Verified
{
"name": "Databricks MCP Server",
"description": "A Model Completion Protocol (MCP) server for interacting with Databricks services",
"version": "0.1.0",
"repository": "https://github.com/JustTryAI/databricks-mcp-server",
"structure": {
"src": {
"description": "Source code for the project",
"children": {
"server": {
"description": "MCP server implementation",
"patterns": ["*_mcp_server.py", "*.py"]
},
"api": {
"description": "API client for Databricks services",
"patterns": ["*.py"]
},
"core": {
"description": "Core functionality and utilities",
"patterns": ["*.py"]
},
"cli": {
"description": "Command-line interface",
"patterns": ["*.py"]
}
}
},
"tests": {
"description": "Test files for the project",
"patterns": ["test_*.py"],
"rules": [
"Each file in src/ should have a corresponding test file in tests/"
]
},
"examples": {
"description": "Example usage of the MCP server",
"patterns": ["*.py"]
},
"scripts": {
"description": "Helper scripts for running the server and tests",
"patterns": ["*.ps1", "*.sh"]
}
},
"conventions": {
"python": {
"style": {
"lineLength": 100,
"indentation": {
"type": "spaces",
"size": 4
},
"quotes": {
"default": "double",
"avoidEscape": true
}
},
"imports": {
"ordering": [
"standard_library",
"third_party",
"first_party"
],
"grouping": true,
"alphabetize": true
},
"docstrings": {
"style": "google",
"required": ["classes", "methods", "functions"]
},
"typings": {
"required": true,
"ignorePatterns": ["tests/*"]
}
},
"naming": {
"variables": "snake_case",
"constants": "UPPER_SNAKE_CASE",
"classes": "PascalCase",
"functions": "snake_case",
"methods": "snake_case",
"files": "snake_case"
}
},
"patterns": {
"mcp_tools": {
"description": "Pattern for MCP tool definitions",
"example": "async def tool_name(params: Dict[str, Any]) -> Dict[str, Any]: ...",
"rules": [
"Tool functions should be async",
"Tool functions should have clear docstrings describing purpose and parameters",
"Tool functions should have proper error handling",
"Tool functions should return a dictionary that matches the MCP protocol spec"
]
},
"databricks_api": {
"description": "Pattern for Databricks API calls",
"example": "async def api_call(client, **params): ...",
"rules": [
"API functions should be async",
"API functions should handle rate limiting and retries",
"API functions should provide clear error messages",
"API responses should be validated before returning"
]
}
},
"files": {
"required": [
"README.md",
"pyproject.toml",
".gitignore",
"src/server/databricks_mcp_server.py"
],
"linting": {
"enabled": true,
"pylint": true,
"flake8": true,
"mypy": true
}
},
"mcp": {
"protocol_version": "1.0",
"tool_documentation": {
"required_fields": ["name", "description", "parameters", "returns"],
"example": {
"name": "list_clusters",
"description": "Lists all available Databricks clusters",
"parameters": {},
"returns": "List of cluster objects"
}
},
"tool_implementation": {
"error_handling": "All tool functions must return errors as part of the result object with isError: true",
"timeouts": "All tool functions should implement appropriate timeouts",
"progress_reporting": "Long-running operations should provide progress updates"
}
},
"references": {
"mcp_protocol": "https://modelcontextprotocol.io/llms-full.txt",
"databricks_api": "https://docs.databricks.com/api/azure/workspace/clusters/edit",
"python_sdk": "https://github.com/modelcontextprotocol/python-sdk",
"python_style_guide": "https://peps.python.org/pep-0008/"
},
"testing": {
"frameworks": ["pytest"],
"coverage": {
"minimum": 80,
"exclude": ["scripts/*", "examples/*"]
},
"strategies": [
"unit_tests",
"integration_tests",
"mcp_protocol_tests"
]
},
"documentation": {
"required": [
"README.md",
"tests/README.md",
"examples/README.md"
],
"api_docs": {
"style": "sphinx",
"output_dir": "docs/api"
}
},
"environment": {
"python_version": ">=3.10",
"package_manager": "uv",
"virtual_env": ".venv"
}
}