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" } }