Skip to main content
Glama

Dify Server

# Model Context Protocol (MCP) Server for dify workflows A simple implementation of an MCP server for using [dify](https://github.com/langgenius/dify). It achieves the invocation of the Dify workflow by calling the tools of MCP. ## 📰 News * [2025/4/15] zNow supports directly using environment variables to pass `base_url` and `app_sks`, making it more convenient to use with cloud-hosted platforms. ## 🔨Installation The server can be installed via [Smithery](https://smithery.ai/server/dify-mcp-server) or manually. ### Step1: prepare config.yaml or enviroments You can configure the server using either environment variables or a `config.yaml` file. #### Method 1: Using Environment Variables (Recommended for Cloud Platforms) Set the following environment variables: ```shell export DIFY_BASE_URL="https://cloud.dify.ai/v1" export DIFY_APP_SKS="app-sk1,app-sk2" # Comma-separated list of your Dify App SKs ``` * `DIFY_BASE_URL`: The base URL for your Dify API. * `DIFY_APP_SKS`: A comma-separated list of your Dify App Secret Keys (SKs). Each SK typically corresponds to a different Dify workflow you want to make available via MCP. #### Method 2: Using `config.yaml` Create a `config.yaml` file to store your Dify base URL and App SKs. Example `config.yaml`: ```yaml dify_base_url: "https://cloud.dify.ai/v1" dify_app_sks: - "app-sk1" # SK for workflow 1 - "app-sk2" # SK for workflow 2 # Add more SKs as needed ``` * `dify_base_url`: The base URL for your Dify API. * `dify_app_sks`: A list of your Dify App Secret Keys (SKs). Each SK typically corresponds to a different Dify workflow. You can create this file quickly using the following command (adjust the path and values as needed): ```bash # Create a directory if it doesn't exist mkdir -p ~/.config/dify-mcp-server # Create the config file cat > ~/.config/dify-mcp-server/config.yaml <<EOF dify_base_url: "https://cloud.dify.ai/v1" dify_app_sks: - "app-your-sk-1" - "app-your-sk-2" EOF echo "Configuration file created at ~/.config/dify-mcp-server/config.yaml" ``` When running the server (as shown in Step 2), you will need to provide the path to this `config.yaml` file via the `CONFIG_PATH` environment variable if you choose this method. ### Step2: Installation on your client ❓ If you haven't installed uv or uvx yet, you can do it quickly with the following command: ``` curl -Ls https://astral.sh/uv/install.sh | sh ``` #### ✅ Method 1: Use uvx (no need to clone code, recommended) ```json { "mcpServers": { "dify-mcp-server": { "command": "uvx", "args": [ "--from","git+https://github.com/YanxingLiu/dify-mcp-server","dify_mcp_server" ], "env": { "DIFY_BASE_URL": "https://cloud.dify.ai/v1", "DIFY_APP_SKS": "app-sk1,app-sk2", } } } } ``` or ```json { "mcpServers": { "dify-mcp-server": { "command": "uvx", "args": [ "--from","git+https://github.com/YanxingLiu/dify-mcp-server","dify_mcp_server" ], "env": { "CONFIG_PATH": "/Users/lyx/Downloads/config.yaml" } } } } ``` #### ✅ Method 2: Use uv (local clone + uv start) You can also run the dify mcp server manually in your clients. The config of client should like the following format: ```json { "mcpServers": { "mcp-server-rag-web-browser": { "command": "uv", "args": [ "--directory", "${DIFY_MCP_SERVER_PATH}", "run", "dify_mcp_server" ], "env": { "CONFIG_PATH": "$CONFIG_PATH" } } } } ``` or ```json { "mcpServers": { "mcp-server-rag-web-browser": { "command": "uv", "args": [ "--directory", "${DIFY_MCP_SERVER_PATH}", "run", "dify_mcp_server" ], "env": { "CONFIG_PATH": "$CONFIG_PATH" } } } } ``` Example config: ```json { "mcpServers": { "dify-mcp-server": { "command": "uv", "args": [ "--directory", "/Users/lyx/Downloads/dify-mcp-server", "run", "dify_mcp_server" ], "env": { "DIFY_BASE_URL": "https://cloud.dify.ai/v1", "DIFY_APP_SKS": "app-sk1,app-sk2", } } } } ``` ### Enjoy it At last, you can use dify tools in any client who supports mcp.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/YanxingLiu/dify-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server