MCP ExplorerExplorer

Dify

@YanxingLiuon 13 days ago
237 MIT
FreeCommunity
AI Systems
#dify#server#workflows
A simple implementation of an MCP server for dify workflows.

Overview

What is Dify

The Dify MCP Server is a lightweight implementation of the Model Context Protocol (MCP) designed to facilitate the invocation of Dify workflows. It allows users to easily interact with different Dify applications and workflows through a unified interface, ensuring seamless integration.

Use cases

The server can be utilized for various applications, such as integrating Dify’s capabilities into existing systems, automating workflows that require Dify’s services, and enhancing the user experience by providing access to multiple Dify workflows within a single environment.

How to use

To use the Dify MCP Server, configure it with your Dify API details either through environment variables or a configuration file (config.yaml). Then, install the server using either the recommended uvx method or manually using uv. Finally, launch the server to start utilizing Dify tools in compatible clients.

Key features

Key features of the Dify MCP Server include support for environment variable configuration, flexible installation options via uv or uvx, a straightforward setup process using a config file, and the ability to work with multiple Dify application SKs for diverse workflows.

Where to use

This server is ideal for use in cloud-hosted platforms or local environments where users need to run Dify workflows easily. It can be integrated into applications, websites, and any project that can leverage Dify’s functionality through MCP.

Content

Model Context Protocol (MCP) Server for dify workflows

A simple implementation of an MCP server for using 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 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:

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:

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):

# 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)

or

{
  "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:

{
  "mcpServers": {
    "mcp-server-rag-web-browser": {
      "command": "uv",
      "args": [
        "--directory",
        "${DIFY_MCP_SERVER_PATH}",
        "run",
        "dify_mcp_server"
      ],
      "env": {
        "CONFIG_PATH": "$CONFIG_PATH"
      }
    }
  }
}

or

{
  "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:

Enjoy it

At last, you can use dify tools in any client who supports mcp.

Tools

No tools

Comments