<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Step-by-Step Guide to Building Custom MCP Server on Databricks in Technical Blog</title>
    <link>https://community.databricks.com/t5/technical-blog/step-by-step-guide-to-building-custom-mcp-server-on-databricks/ba-p/132995</link>
    <description>&lt;H1&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="mcp-latest.drawio.png" style="width: 677px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/21054i8F69A0F9865F8590/image-size/large?v=v2&amp;amp;px=999" role="button" title="mcp-latest.drawio.png" alt="mcp-latest.drawio.png" /&gt;&lt;/span&gt;&lt;/H1&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H1&gt;Introduction&lt;/H1&gt;
&lt;P&gt;&lt;SPAN&gt;One of the biggest challenges with LLMs is bridging the gap between static knowledge and real-world actions. MCP solves this by providing a standard way for models to connect with external tools and data sources.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/aws/en/generative-ai/mcp/" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Model Context Protocol (MCP)&lt;/STRONG&gt;&lt;/A&gt;&lt;SPAN&gt; is an open standard that allows Large Language Models (LLMs) to connect with external tools, data sources, and APIs in a structured way. Instead of relying only on what the model knows, MCP gives the LLM controlled access to real-time information and custom functionality.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In this article, we’ll walk through a step-by-step guide to build a custom MCP server and deploy it as a Databricks app. Once deployed, we’ll test this MCP server in the Databricks playground by attaching it as a tool to the LLM model.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;For demonstration, we’ll build simple tools—one to fetch NSE stock market data and another to show how an agent can interact with Databricks (e.g., creating tables or running SQL queries). Similarly, multiple other tools can be developed to seamlessly integrate with Databricks, such as tools for workflow creation and more.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;STRONG&gt;Note:&amp;nbsp;&lt;/STRONG&gt;The tools and resources provided related to stock market data are intended solely for educational purposes and should not be interpreted as financial or investment advice.&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;We’ll cover the following steps:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Building the MCP server on a local machine&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Deploying the MCP server as a Databricks app&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Testing the MCP server in the Databricks playground&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H1&gt;&lt;SPAN&gt;Prerequisites&lt;/SPAN&gt;&lt;/H1&gt;
&lt;OL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Databricks workspace with the "&lt;/SPAN&gt;Managed MCP Server (Beta)"&lt;SPAN&gt;&amp;nbsp;feature enabled in the Preview settings. (This will be turned on by default once it is GA / Public Preview)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;Databricks CLI&lt;SPAN&gt; installed locally&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;Personal access token&lt;SPAN&gt;(PAT)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;&lt;SPAN&gt;Build MCP Server Locally&lt;/SPAN&gt;&lt;/H1&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN&gt;Clone the&lt;A href="https://github.com/databrickslabs/mcp" target="_blank" rel="noopener"&gt; Databricks Labs MCP repo&lt;/A&gt; which provides a predefined template for building MCP servers&lt;/SPAN&gt;&lt;LI-CODE lang="python"&gt;git clone https://github.com/databrickslabs/mcp.git&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;The Python file &lt;/SPAN&gt;&lt;FONT color="#339966"&gt;&lt;SPAN&gt;mcp/examples/custom-server/src/custom_server/app.py&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;contains the MCP server code. It uses &lt;/SPAN&gt;&lt;SPAN&gt;FastMCP&lt;/SPAN&gt;&lt;SPAN&gt; to run the server. To add tools, simply define a Python function and decorate it with &lt;/SPAN&gt;&lt;SPAN&gt;@mcp.tool&lt;/SPAN&gt;&lt;SPAN&gt;. The template already includes a basic example for addition.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Let’s extend it by adding a few more tools:&amp;nbsp;&lt;/SPAN&gt;
&lt;UL class="lia-list-style-type-square"&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Tool 1: &lt;/STRONG&gt;&lt;STRONG&gt;get_stock_info&lt;/STRONG&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;Uses the yfinance package to fetch live stock details for a given NSE symbol.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Tool 2: &lt;/STRONG&gt;&lt;STRONG&gt;run_query&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Uses the &lt;A href="https://docs.databricks.com/aws/en/dev-tools/python-sql-connector" target="_blank" rel="noopener"&gt;databricks-sql-connector&lt;/A&gt; to execute SQL queries on a Databricks warehouse.&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN&gt;Although these tools or Databricks resources can be invoked directly via API or SDK in agent code, wrapping them in an MCP server as Databricks apps provides additional benefits. MCP standardizes the interface, making tools automatically discoverable across downstream agentic frameworks, ensures consistent responses, and eliminates the need for each team to write and maintain separate code.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;STRONG&gt;Note:&amp;nbsp;&lt;/STRONG&gt;In addition to MCP, Databricks also offers the option to create tools using Unity Catalog function tools and Agent Code tools. For more information, please refer to &lt;A href="https://docs.databricks.com/aws/en/generative-ai/agent-framework/agent-tool#choose-your-tool-approach" target="_blank" rel="noopener"&gt;https://docs.databricks.com/aws/en/generative-ai/agent-framework/agent-tool#choose-your-tool-approach&lt;/A&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN&gt;Adding the code snippet for each tools&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;import yfinance as yf
import requests
import pandas as pd
from io import StringIO
import databricks.sql
import os
from databricks.sdk.core import Config
from mcp.server.fastmcp import FastMCP

# create MCP server
mcp = FastMCP("custom MCP server on databricks apps")

# Tool 1
@mcp.tool(
    name = "get_stock_info",
    description = "Fetch the stock information of the given symbol"
)
def get_stock_info(symbol: str) -&amp;gt; str | None:
    """Fetch market cap, current price, and 52-week range for NSE stock."""
    try:
        info = yf.Ticker(f"{symbol}.NS").fast_info
        return (
            f"\nDetails for {symbol}.NS:\n"
            f"market_cap = {info['marketCap']}\n"
            f"current_price = {info['last_price']} INR\n"
            f"year_low = {info['year_low']} INR\n"
            f"year_high = {info['year_high']} INR\n"
        )
    except Exception as e:
        print(f"Error fetching {symbol}: {e}")
        return None

# Tool 2
@mcp.tool(
    name="run_query_on_databricks",
    description="Gets the SQL query and execute the query on databricks SQL warehouse"
)
def run_query_on_databricks(sql_query: str):
    """
    Executes a SQL query on a Databricks SQL Warehouse and returns the results as a pandas DataFrame.
    """
    cfg = Config()
    warehouse_id = os.getenv("WAREHOUSE_ID")
    host = cfg.host
    http_path = f"/sql/1.0/warehouses/{warehouse_id}"
    if not all([host, http_path]):
        raise ValueError("Missing required Databricks connection environment variables.")

    with databricks.sql.connect(server_hostname=host, http_path=http_path, credentials_provider=lambda: cfg.authenticate) as conn, conn.cursor() as cur:
        cur.execute(sql_query)
        rows = cur.fetchall()
        return pd.DataFrame(rows, columns=[c[0] for c in cur.description])
&lt;/LI-CODE&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;4.&amp;nbsp;&lt;SPAN&gt;Update environment variables in &lt;/SPAN&gt;&lt;EM&gt;app.yaml&lt;/EM&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;command: ["uv", "run", "custom-server"]
env:
  - name: 'WAREHOUSE_ID'
    value: '&amp;lt;warehouse-id&amp;gt;'&lt;/LI-CODE&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN&gt;5.&amp;nbsp;Add required Python libraries in &lt;EM&gt;requirements.txt&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;uv
yfinance
pandas
databricks-sql-connector
python-dotenv
&lt;/LI-CODE&gt;
&lt;P&gt;With the above steps, we’ve successfully set up the MCP server in our local IDE. Now its time to do the deployment.&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;&lt;SPAN&gt;Deploy the MCP Server as a Databricks App&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN&gt;Deploying the MCP server as a Databricks app can be done in just a few steps:&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN&gt;Install the Databricks CLI on your local machine and authenticate to your workspace using OAuth.&lt;BR /&gt;Refer to the&lt;A href="https://docs.databricks.com/aws/en/dev-tools/cli/install" target="_blank" rel="noopener"&gt; Databricks CLI installation guide&lt;/A&gt;&amp;nbsp;and complete the required Authentication steps&lt;BR /&gt;&lt;/SPAN&gt;&lt;LI-CODE lang="markup"&gt;databricks configure # you will be asked to enter host url and the PAT token
databricks auth login --host &amp;lt;workspace-url&amp;gt;​&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Create the Databricks app. The app name should be prefixed with `mcp-`&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;LI-CODE lang="markup"&gt;databricks apps create mcp-&amp;lt;app_name&amp;gt;&lt;/LI-CODE&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Upload the source code to the Databricks workspace and deploy the app.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;LI-CODE lang="markup"&gt;DATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName)
databricks sync . "/Users/$DATABRICKS_USERNAME/mcp-custom-server"
databricks apps deploy mcp-&amp;lt;app_name&amp;gt; --source-code-path "/Workspace/Users/$DATABRICKS_USERNAME/mcp-custom-server/custom-server"&lt;/LI-CODE&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mcp deploy" style="width: 999px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/20231iBEE0F14DD7F734B7/image-size/large?v=v2&amp;amp;px=999" role="button" title="mcp-deploy.png" alt="mcp deploy" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;mcp deploy&lt;/span&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Service Principal Permission&lt;BR /&gt;Ensure the service principal has the necessary permissions to run the query. You can find the service principal under the App Authorization section in the deployed Databricks Apps page and grant the required Unity Catalog access.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;LI-CODE lang="markup"&gt;GRANT ALL ON CATALOG &amp;lt;catalog_name&amp;gt; TO &amp;lt;service_principal&amp;gt;&lt;/LI-CODE&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="app service principal" style="width: 912px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/20232iF33FD61627695178/image-size/large?v=v2&amp;amp;px=999" role="button" title="app-service-principal.png" alt="app service principal" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;app service principal&lt;/span&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;Now the MCP server is successfully deployed as Databricks App.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;&lt;SPAN&gt;Use the MCP Server in Databricks Playground&lt;/SPAN&gt;&lt;/H1&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN&gt;With the custom MCP server deployed, we can now test it in the &lt;STRONG&gt;Databricks&amp;nbsp;Playground.&amp;nbsp;&lt;/STRONG&gt;Choose the LLM model and add the tool by selecting the MCP server as shown below&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="add mcp tool with llm" style="width: 999px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/20226i54B158E6A05F2FF1/image-size/large?v=v2&amp;amp;px=999" role="button" title="add-tool-in-playground.png" alt="add mcp tool with llm" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;add mcp tool with llm&lt;/span&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Add a &lt;/SPAN&gt;&lt;STRONG&gt;System Prompt&lt;/STRONG&gt;&lt;SPAN&gt; to guide the Agent on the tasks to perform.&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="system prompt" style="width: 999px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/20227i39B97B7E6DB9AF91/image-size/large?v=v2&amp;amp;px=999" role="button" title="system-prompt.png" alt="system prompt" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;system prompt&lt;/span&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Try asking the Agent to fetch the stock details of NSE listed companies.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;The LLM will internally call the tool &lt;/SPAN&gt;&lt;STRONG&gt;get_stock_info&lt;/STRONG&gt;&lt;SPAN&gt;, which we defined in the MCP server.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Ask the Agent to capture the &lt;STRONG&gt;Top 5 companies by market cap&lt;/STRONG&gt; and store the results in a Unity Catalog Delta table. Internally LLM follows the below actions&amp;nbsp;&lt;/SPAN&gt;
&lt;UL class="lia-list-style-type-square"&gt;
&lt;LI&gt;&lt;SPAN&gt;With its own knowledge, it gets the top 5 companies.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;For each company, it calculates stock information such as market cap by calling &lt;/SPAN&gt;&lt;STRONG&gt;get_stock_info&amp;nbsp;&lt;/STRONG&gt;&lt;SPAN&gt;tool.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Using the tool &lt;STRONG&gt;run_query_on_databricks&lt;/STRONG&gt;, it creates a Delta table and inserts the &lt;STRONG&gt;top 5 company details&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="llm response" style="width: 999px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/20229iD3C77511CA3F5097/image-size/large?v=v2&amp;amp;px=999" role="button" title="llm-mcp-response.png" alt="llm response" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;llm response&lt;/span&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;Lets query this table in Databricks SQL Editor to verify the results.&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="result delta table" style="width: 999px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/20230i1A2A15F91159506C/image-size/large?v=v2&amp;amp;px=999" role="button" title="result-table.png" alt="result delta table" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;result delta table&lt;/span&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN&gt;This custom MCP server can be called with LangGraph or any agent flow locally or in databricks notebooks. &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Refer to&amp;nbsp;&lt;A href="https://docs.databricks.com/aws/en/notebooks/source/generative-ai/langgraph-mcp-tool-calling-agent.html" target="_blank" rel="noopener"&gt;langgraph-mcp-tool-calling-agent - Databricks&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;&lt;SPAN&gt;Conclusion&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN&gt;Through this walkthrough, we saw how easy it is to extend Databricks with a custom &lt;/SPAN&gt;&lt;STRONG&gt;MCP server&lt;/STRONG&gt;&lt;SPAN&gt; — from deployment as an App to testing it live in the Playground.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Databricks is making it simple to bring &lt;STRONG&gt;AI Agents and real-world data&lt;/STRONG&gt; together in one place. Instead of juggling multiple systems, you can now empower your LLMs to fetch external insights, run SQL on your lakehouse, and interact with enterprise data securely — all within the Databricks platform.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;&lt;SPAN&gt;References&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://docs.databricks.com/aws/en/generative-ai/mcp/custom-mcp" target="_blank" rel="noopener"&gt;https://docs.databricks.com/aws/en/generative-ai/mcp/custom-mc&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 05 Nov 2025 14:24:55 GMT</pubDate>
    <dc:creator>gopínath</dc:creator>
    <dc:date>2025-11-05T14:24:55Z</dc:date>
    <item>
      <title>Step-by-Step Guide to Building Custom MCP Server on Databricks</title>
      <link>https://community.databricks.com/t5/technical-blog/step-by-step-guide-to-building-custom-mcp-server-on-databricks/ba-p/132995</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="mcp-latest.drawio.png" style="width: 677px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/21149iAC795E7765ED572C/image-size/large?v=v2&amp;amp;px=999" role="button" title="mcp-latest.drawio.png" alt="mcp-latest.drawio.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Nov 2025 14:24:55 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/step-by-step-guide-to-building-custom-mcp-server-on-databricks/ba-p/132995</guid>
      <dc:creator>gopínath</dc:creator>
      <dc:date>2025-11-05T14:24:55Z</dc:date>
    </item>
    <item>
      <title>Re: Step-by-Step Guide to Building Custom MCP Server on Databricks</title>
      <link>https://community.databricks.com/t5/technical-blog/step-by-step-guide-to-building-custom-mcp-server-on-databricks/bc-p/145384#M893</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I really enjoyed this MCP server consultation post. The step-by-step instructions are excellent.&lt;BR /&gt;For those looking to improve their MCP server development consultation skills, this resource is very useful: &lt;STRONG&gt;&lt;A class="" href="https://mobisoftinfotech.com/services/mcp-server-development-consultation" target="_blank" rel="noopener"&gt;https://mobisoftinfotech.com/services/mcp-server-development-consultation&lt;/A&gt;&lt;/STRONG&gt;&lt;BR /&gt;It clarified some advanced points I had missed. Highly recommended for project leads.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jan 2026 11:25:49 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/step-by-step-guide-to-building-custom-mcp-server-on-databricks/bc-p/145384#M893</guid>
      <dc:creator>vincentsquinter</dc:creator>
      <dc:date>2026-01-27T11:25:49Z</dc:date>
    </item>
  </channel>
</rss>

