Integrates with Dify's AI application platform, enabling seamless creation, management, and deployment of AI application...
Created byApr 23, 2025
Dify MCP Server

[English](README.md) | [ ](README_zh.md)
A TypeScript-based MCP (Model Context Protocol) server that connects the MCP Client to Dify applications. This server dynamically exposes Dify applications as tools that can be used directly within the MCP Client.
Overview
This server implements the Model Context Protocol to bridge between MCP Client and Dify applications. It dynamically fetches application specifications from Dify APIs and exposes them as MCP tools. The server allows users to interact with multiple Dify applications through a unified interface within the MCP Client.
Features
Dynamic Dify Integration
Connects to multiple Dify applications using API keys
Automatically fetches application metadata and parameters
Dynamically generates tool interfaces based on Dify application specifications
Supports various input types including text, paragraphs, and select dropdowns
Request Handling
Robust error handling with request retries
Support for both blocking and streaming response modes
JSON BigInt handling for large numeric values
Configuration
API keys configured through environment variables
Configurable base URL and timeout settings
Fallback to default values when environment variables are not available
Installation
Prerequisites
Node.js (v16 or higher)
npm or yarn
Setup
Clone the repository
Install dependencies
Build the project
Integration with Windsurf IDE
To use with Windsurf IDE, add the server config to your MCP settings:
Environment Variables
`AGENT_API_KEYS`: Comma-separated list of Dify API keys
`BASE_URL`: Base URL for Dify API(default:https://api.dify.ai)
`TIMEOUT`: Request timeout in milliseconds (default: 60000)
How to get Environment Variables
API (AGENT_API_KEYS) ,


Usage
Once configured, the Dify MCP Server will:
Connect to the specified Dify applications using the provided API keys
Fetch application metadata and parameter specifications
Generate MCP tool interfaces based on the Dify application configurations
Make these tools available within the Windsurf IDE
Each Dify application will be exposed as a separate tool with a name format of `dify_app_info_{application_name}`.
Development
Available Scripts
`npm run build`: Build the project
`npm run prepare`: Prepare the project for distribution
`npm run watch`: Watch for changes and rebuild
`npm run inspector`: Run the MCP inspector for debugging
Project Structure
`src/index.ts`: Main server implementation
`src/request.ts`: HTTP client for Dify API communication
`src/type.ts`: TypeScript interfaces for Dify API
Troubleshooting
If you encounter issues:
Verify your API keys are correct and have the necessary permissions
Check that the BASE_URL is accessible from your environment
Review server logs for detailed error messages
Ensure the Dify applications are properly configured and accessible
License
This project is licensed under the terms specified in the LICENSE file.