From f135d9b949d590153d35fa032577cea0911957d7 Mon Sep 17 00:00:00 2001 From: Gerry Qi Date: Fri, 27 Jun 2025 16:28:58 +0800 Subject: [PATCH] Add dify dsl demo (#3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add dify dsl demo * Deploying on docker --------- Co-authored-by: Gerry.qi 齐晓明 Co-authored-by: Gerry.qi --- README.md | 10 ++- examples/dify/dify_demo.md | 3 + examples/dify/dify_doris_dsl.yml | 127 +++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 examples/dify/dify_doris_dsl.yml diff --git a/README.md b/README.md index 9c80f5a..1dffe9f 100644 --- a/README.md +++ b/README.md @@ -222,9 +222,17 @@ Execute the following command to start the server: ```bash ./start_server.sh ``` - This command starts the FastAPI application with Streamable HTTP MCP service. +### 5. Deploying on docker +If you want to run only Doris MCP Server in docker: + + +```bash +cd doris-mcp-server +docker build -t doris-mcp-server . +docker run -d -p : -v /*your-host*/doris-mcp-server/.env:/app/.env --name -it doris-mcp-server:latest +``` **Service Endpoints:** * **Streamable HTTP**: `http://:/mcp` (Primary MCP endpoint - supports GET, POST, DELETE, OPTIONS) diff --git a/examples/dify/dify_demo.md b/examples/dify/dify_demo.md index 88c210a..cbd2ea9 100644 --- a/examples/dify/dify_demo.md +++ b/examples/dify/dify_demo.md @@ -103,6 +103,9 @@ If your Dify deployment requires a publicly accessible endpoint, you can use the 2. Select **Agent** as the template and set the **App Name** (e.g., `Doris ChatBI`). ![Agent setup](../images/dify_agent_setup.png) + +3. Import from DSL,[dify_doris_dsl.yml](dify_doris_dsl.yml) + ----- ## Instructions & Tool Configuration diff --git a/examples/dify/dify_doris_dsl.yml b/examples/dify/dify_doris_dsl.yml new file mode 100644 index 0000000..62cc9fe --- /dev/null +++ b/examples/dify/dify_doris_dsl.yml @@ -0,0 +1,127 @@ +app: + description: '' + icon: 🤖 + icon_background: '#FFEAD5' + mode: agent-chat + name: doris + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: langgenius/deepseek:0.0.5@21408d5c48cd9f18d66b08883d0999fe89e6d049c891324c2229dea23b9665d5 +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: junjiem/mcp_sse:0.2.1@53cc613667fcf91dd7208dd5f6d2c8df3c7ff0af8b79e8f3c0a430f1b39bda4c +kind: app +model_config: + agent_mode: + enabled: true + max_iteration: 10 + prompt: null + strategy: function_call + tools: + - enabled: true + isDeleted: false + notAuthor: false + provider_id: junjiem/mcp_sse/mcp_sse + provider_name: junjiem/mcp_sse/mcp_sse + provider_type: builtin + tool_label: 获取 MCP 工具列表 + tool_name: mcp_sse_list_tools + tool_parameters: + prompts_as_tools: 1 + resources_as_tools: 1 + servers_config: null + - enabled: true + isDeleted: false + notAuthor: false + provider_id: junjiem/mcp_sse/mcp_sse + provider_name: junjiem/mcp_sse/mcp_sse + provider_type: builtin + tool_label: 调用 MCP 工具 + tool_name: mcp_sse_call_tool + tool_parameters: + arguments: '' + prompts_as_tools: '' + resources_as_tools: '' + servers_config: '' + tool_name: '' + annotation_reply: + enabled: false + chat_prompt_config: {} + completion_prompt_config: {} + dataset_configs: + datasets: + datasets: [] + reranking_enable: true + reranking_mode: reranking_model + reranking_model: + reranking_model_name: '' + reranking_provider_name: '' + retrieval_model: multiple + top_k: 4 + dataset_query_variable: '' + external_data_tools: [] + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + - .MP4 + - .MOV + - .MPEG + - .WEBM + allowed_file_types: [] + allowed_file_upload_methods: + - remote_url + - local_file + enabled: false + image: + detail: high + enabled: false + number_limits: 3 + transfer_methods: + - remote_url + - local_file + number_limits: 3 + model: + completion_params: + stop: [] + mode: chat + name: deepseek-chat + provider: langgenius/deepseek/deepseek + more_like_this: + enabled: false + opening_statement: '' + pre_prompt: "\nUse 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:\n1. Analyze the user's question and match\ + \ the most appropriate tool.\n2. Use tool names and parameters exactly as defined;\ + \ do not invent new ones.\n3. Pass parameters in the required JSON format.\n4.\ + \ When calling tools, use:\n {\"mcp_sse_call_tool\": {\"tool_name\": \"\"\ + , \"arguments\": \"{}\"}}\n5. Output plain text only—no XML tags.\n\nUser\ + \ question: user_query\n\n\nReturn tool results or a final answer,\ + \ including analysis.\n\n" + prompt_type: simple + retriever_resource: + enabled: true + sensitive_word_avoidance: + configs: [] + enabled: false + type: '' + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + user_input_form: [] +version: 0.3.0