We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dbt-labs/dbt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""MCP Server tools for server information and management."""
import logging
from importlib.metadata import version
from mcp.server.fastmcp import FastMCP
from dbt_mcp.tools.definitions import dbt_mcp_tool
from dbt_mcp.tools.register import register_tools
from dbt_mcp.tools.tool_names import ToolName
from dbt_mcp.tools.toolsets import Toolset
logger = logging.getLogger(__name__)
def _get_server_version() -> str:
"""Get the dbt-mcp server version from package metadata."""
try:
return version("dbt-mcp")
except Exception:
return "unknown"
@dbt_mcp_tool(
description="Get the version of the dbt MCP server. Use this to check what version of the dbt MCP server is running.",
title="Get MCP Server Version",
read_only_hint=True,
destructive_hint=False,
idempotent_hint=True,
open_world_hint=False,
)
def get_mcp_server_version() -> str:
"""Returns the current version of the dbt MCP server."""
return _get_server_version()
MCP_SERVER_TOOLS = [
get_mcp_server_version,
]
def register_mcp_server_tools(
dbt_mcp: FastMCP,
*,
disabled_tools: set[ToolName],
enabled_tools: set[ToolName] | None,
enabled_toolsets: set[Toolset],
disabled_toolsets: set[Toolset],
) -> None:
"""Register MCP server tools."""
register_tools(
dbt_mcp,
tool_definitions=MCP_SERVER_TOOLS,
disabled_tools=disabled_tools,
enabled_tools=enabled_tools,
enabled_toolsets=enabled_toolsets,
disabled_toolsets=disabled_toolsets,
)