9.0 KiB
Dify Example: Integrating Doris MCP Server
This document demonstrates how to integrate and use doris-mcp-server in Dify to perform Doris SQL calls via MCP.
Table of Contents
- Prerequisites
- Installation & Configuration
- Starting the MCP Server
- Ngrok Tunnel (Optional)
- Installing & Configuring the Plugin in Dify
- Creating a Dify App
- Adding MCP Tools
- Example Calls
Prerequisites
-
Clone the repository:
git clone https://github.com/apache/doris-mcp-server.git cd doris-mcp-server -
Install the latest Python package and copy the environment template:
pip install mcp-doris-server cp .env.example .env vim .envFill in your Doris FE connection settings in
.env:DORIS_HOST=localhost DORIS_PORT=9030 DORIS_USER=root DORIS_PASSWORD= DORIS_DATABASE=information_schema DORIS_FE_HTTP_PORT=8030 # Optional: custom BE host list DORIS_BE_HOSTS=
Starting the MCP Server
Run the startup script:
./start_server.sh
If successful, you will see logs like this:

Ngrok Tunnel (Optional)
If your Dify deployment requires a public endpoint, use ngrok:
ngrok http http://localhost:3000
Use the generated public URL in subsequent steps.

Installing & Configuring the Plugin in Dify
-
In the Dify console, go to Plugin Marketplace, search for and install MCP‑SSE / StreamableHTTP:

-
After installation, click Configure and set the URL to your public or local address (e.g.,
https://abc123.ngrok.io/mcp):{ "doris_mcp_server": { "transport": "streamable_http", "url": "https://<your-domain>/mcp" } } -
Click Save. If configured correctly, you will see a green Authorized indicator:
Creating a Dify App
- In the Dify console, click New App → Blank App.
- Select Agent as the template, set App Name (e.g.,
Doris ChatBI).
Instructions & Tool Configuration
Instruction Block
Paste the following into the Instruction field:
<instruction>
Use MCP tools to complete tasks as much as possible. Carefully read the annotations, method names, and parameter descriptions of each tool. Please follow these steps:
1. Analyze the user's question and match the most appropriate tool.
2. Use tool names and parameters exactly as defined; do not invent new ones.
3. Pass parameters in the required JSON format.
4. When calling tools, use:
{"mcp_sse_call_tool": {"tool_name": "<tool_name>", "arguments": "{}"}}
5. Output plain text only—no XML tags.
<input>
User question: user_query
</input>
<output>
Return tool results or a final answer, including analysis.
</output>
</instruction>
Adding MCP Tools
In the Tools pane, click Add twice to add two entries both named mcp_sse (they will inherit transport and URL from the plugin):
Example Calls
List Tables in Database
- User: What tables are in the database?
- Result: Dify will call the MCP tool to run
SHOW TABLESand return the list.
Sales Trend Over Ten Years
- User: What has been the sales trend over the past ten years in the ssb database, and which year had the fastest growth?
- Result: The tool will execute the SQL, calculate growth rates, and return a trend chart or table.

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
... (license omitted for brevity)
-->
# Dify Example: Integrating Doris MCP Server
This document demonstrates how to integrate and use the `doris-mcp-server` in Dify to perform Doris SQL calls via MCP.
## Table of Contents
- [Prerequisites](#prerequisites)
- [Installation & Configuration](#installation--configuration)
- [Starting the MCP Server](#starting-the-mcp-server)
- [Ngrok Tunnel (Optional)](#ngrok-tunnel-optional)
- [Installing & Configuring the Plugin](#installing--configuring-the-plugin)
- [Creating a Dify App](#creating-a-dify-app)
- [Instructions & Tool Configuration](#instructions--tool-configuration)
- [Example Calls](#example-calls)
---
## Prerequisites
1. Clone the repository:
```bash
git clone https://github.com/apache/doris-mcp-server.git
cd doris-mcp-server
-
Install the Python package and prepare the environment file:
pip install mcp-doris-server cp .env.example .env vim .env -
In
.env, set your Doris front-end connection:DORIS_HOST=localhost DORIS_PORT=9030 DORIS_USER=root DORIS_PASSWORD= DORIS_DATABASE=information_schema DORIS_FE_HTTP_PORT=8030 # Optional: custom BE host list DORIS_BE_HOSTS=
Installation & Configuration
-
Install the MCP server package:
pip install mcp-doris-server -
Copy and edit the environment template as shown above.
Starting the MCP Server
Run the startup script:
./start_server.sh
If successful, you will see logs like this:
Ngrok Tunnel (Optional)
If your Dify deployment requires a public endpoint, use ngrok:
ngrok http http://localhost:3000
Use the generated URL in the plugin configuration.
Installing & Configuring the Plugin
- In the Dify console, go to Plugin Marketplace, search for MCP‑SSE / StreamableHTTP, and install it.
- Click Configure, and set the URL (e.g.,
https://<your-domain>/mcp):
{
"doris_mcp_server": {
"transport": "streamable_http",
"url": "https://<your-domain>/mcp"
}
}
- Click Save. A green Authorized indicator should appear:
Creating a Dify App
- In the Dify console, click New App → Blank App.
- Select Agent as the template, set App Name (e.g.,
Doris ChatBI).
Instructions & Tool Configuration
Instruction Block
Paste the following into the Instruction field:
<instruction>
Use MCP tools to complete tasks as much as possible. Carefully read the annotations, method names, and parameter descriptions of each tool. Please follow these steps:
1. Analyze the user's question and match the most appropriate tool.
2. Use tool names and parameters exactly as defined; do not invent new ones.
3. Pass parameters in the required JSON format.
4. When calling tools, use:
{"mcp_sse_call_tool": {"tool_name": "<tool_name>", "arguments": "{}"}}
5. Output plain text only—no XML tags.
<input>
User question: user_query
</input>
<output>
Return tool results or a final answer, including analysis.
</output>
</instruction>
Adding MCP Tools
In the Tools pane, click Add twice to add two entries both named mcp_sse (they will inherit transport and URL from the plugin):
Example Calls
List Tables in Database
- User: What tables are in the database?
- Result: Dify calls the MCP tool to run
SHOW TABLESand returns the list.
Sales Trend Over Ten Years
- User: What has been the sales trend in the
ssbdatabase over the past ten years, and which year saw the fastest growth? - Result: The tool executes SQL, computes growth rates, and returns a chart or table.




