Dify Tools Bridge MCP server

Bridges Dify's tool ecosystem with MCP-compatible assistants, enabling organizations to extend their existing Dify tool configurations without duplication.
Back to servers
Provider
junjiem
Release date
Apr 13, 2025
Language
Python
Stats
19 stars

This plugin allows you to convert your Dify tools' API into an MCP-compatible API, enabling integration with Model Context Protocol clients like Cherry Studio. The plugin supports both "HTTP with SSE" and "Streamable HTTP" transport methods.

Installation

Installing via GitHub

To install the plugin from GitHub:

  1. Navigate to the Dify platform's plugin management page
  2. Choose to install via GitHub
  3. Enter the repository address: https://github.com/junjiem/dify-plugin-mcp_compat_dify_tools
  4. Select the version number and package file
  5. Complete the installation
FORCE_VERIFYING_SIGNATURE=false

Note: If you encounter signature verification errors during installation, add the above line to your .env configuration file.

Offline Installation

For offline environments, you can use the Dify plugin repackaging tool:

  1. Download the tool from: https://github.com/junjiem/dify-plugin-repackaging
  2. Follow the tool's instructions to create an offline package with all dependencies included

Setting Up the MCP API

1. Create an API Endpoint

  1. Add a new endpoint in your Dify platform
  2. Add the tool list you want to expose via MCP
  3. Configure each tool as needed
  4. Save the endpoint configuration

Important: For existing endpoints, any modification to the tool list will only take effect after disabling and then re-enabling the API endpoint.

2. Connect to MCP Clients

After setting up your endpoint, you'll have two URL options to connect with MCP clients:

Option 1: Streamable HTTP (Recommended)

  1. Copy the Streamable HTTP URL from your Dify endpoint
  2. In your MCP client (e.g., Cherry Studio), add this URL as a new Model Context Protocol provider
  3. Configure the client to use the Streamable HTTP transport method

Option 2: HTTP with SSE (Legacy)

  1. Copy the HTTP with SSE URL from your Dify endpoint
  2. In your MCP client, add this URL as a new Model Context Protocol provider
  3. Configure the client to use the HTTP with SSE transport method

Requirements

  • Dify version 1.2.0 or above is required for this plugin to function properly

Troubleshooting

Signature Verification Issues

If you see the error "plugin verification has been enabled, and the plugin you want to install has a bad signature":

  1. Open your Dify platform's .env configuration file
  2. Add the following line: FORCE_VERIFYING_SIGNATURE=false
  3. Restart your Dify platform
  4. Try installing the plugin again

This setting allows installation of all plugins not listed in the Dify Marketplace (use with caution).

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later