Back to MCP directory
publicPublicdnsLocal runtime

difyapp_as_mcp_server

该项目是一个Dify插件,可将Dify工作流通过MCP协议暴露给AI客户端使用,支持工具自动发现和无状态服务模式。

article

README

🚀 将Dify工作流作为MCP服务器暴露

本项目可将Dify工作流通过Model Context Protocol (MCP)协议暴露为服务器,供Claude等AI客户端使用,实现了Dify工作流与支持MCP协议的AI客户端的无缝对接。

🚀 快速开始

本项目实现了一个Dify插件,允许将Dify工作流通过Model Context Protocol (MCP)协议暴露给支持该协议的AI客户端(如Claude Desktop、Cursor等)。通过这个插件,您可以:

  • 将Dify工作流作为工具提供给Claude等AI。
  • 让AI客户端能够发现并使用您的工作流。
  • 无需修改工作流即可集成到AI助手中。

✨ 主要特性

  • ✅ 支持MCP标准的JSON - RPC接口。
  • ✅ 工具自动发现和注册。
  • ✅ 与Claude Desktop/Cursor等客户端兼容。
  • ✅ 安全的SSE连接实现。
  • ✅ 服务器端会话管理。
  • 🔄 符合最新的MCP Streamable HTTP规范(基于PR #206)。

📚 详细文档

背景

Model Context Protocol (MCP) 是一个开放标准,允许AI模型与外部工具和数据源交互。随着MCP的发展,协议正在从HTTP+SSE模式过渡到新的"Streamable HTTP"传输模式,为无状态服务器提供更好的支持。

本项目跟踪并实现了最新的MCP协议变化,特别是:

  • 服务器负责生成和管理会话ID。
  • 支持无状态服务器模式(适合Dify插件环境)。
  • 标准化的消息格式和流处理。
  • 安全的会话管理和身份验证。

配置插件设置

1. 插件配置

在Dify中安装并启用MCP Server插件后,您需要进行以下配置:

  • 应用ID:您想要暴露的Dify应用ID。
  • 其他设置:根据需要配置。

使用方法

1. 在Dify中配置

确保您的Dify应用包含至少一个工作流,并且已经正确配置。

2. 在客户端使用

  1. 打开客户端。
  2. 进入设置 > MCP服务器。
  3. 添加新的MCP服务器,URL填写:
https://您的Dify实例地址/difyapp_as_mcp_server
  1. 保存并启用服务器。

3. 在Cursor中使用

  1. 打开Cursor。
  2. 进入设置 > AI > MCP。
  3. 添加服务器地址:
https://您的Dify实例地址/difyapp_as_mcp_server
  1. 保存并启用。
  2. 在Cursor中使用插件。

技术细节

1. 实现概述

  • 服务器端点:提供JSON - RPC接口,支持MCP协议。
  • 工具注册:自动发现和注册Dify工作流为可用电工具。
  • 无状态模式:支持轻量级、无状态的通信方式。
  • 会话管理:服务器端实现会话管理,确保安全连接。

故障排除

1. 常见问题

  • 无法连接到MCP服务器

    • 检查网络连接。
    • 确保服务器地址正确。
    • 确保服务器已启用。
  • 工具未被发现

    • 检查插件是否已启用。
    • 确保应用ID配置正确。
    • 重启Dify服务。

🤝 贡献

欢迎贡献代码和文档,帮助改进MCP Server插件。

📄 许可证

本项目遵循[许可证名称]协议。请参考项目仓库中的LICENSE文件获取详细信息。

🙏 致谢

感谢社区的支持和贡献者们的努力,使本项目得以实现。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client