Dify MCP Server

Dify MCP 서버

영어 | 중국어

MCP 클라이언트를 Dify 애플리케이션에 연결하는 TypeScript 기반 MCP(Model Context Protocol) 서버입니다. 이 서버는 Dify 애플리케이션을 MCP 클라이언트 내에서 직접 사용할 수 있는 도구로 동적으로 노출합니다.

개요

이 서버는 MCP 클라이언트와 Dify 애플리케이션 간의 연결을 위해 모델 컨텍스트 프로토콜을 구현합니다. Dify API에서 애플리케이션 사양을 동적으로 가져와 MCP 도구로 제공합니다. 이 서버를 통해 사용자는 MCP 클라이언트 내의 통합 인터페이스를 통해 여러 Dify 애플리케이션과 상호 작용할 수 있습니다.

특징

동적 Dify 통합

  • API 키를 사용하여 여러 Dify 애플리케이션에 연결합니다.
  • 애플리케이션 메타데이터 및 매개변수를 자동으로 가져옵니다.
  • Dify 애플리케이션 사양을 기반으로 도구 인터페이스를 동적으로 생성합니다.
  • 텍스트, 문단, 선택 드롭다운을 포함한 다양한 입력 유형을 지원합니다.

요청 처리

  • 요청 재시도를 통한 강력한 오류 처리
  • 차단 및 스트리밍 응답 모드 모두 지원
  • 큰 숫자 값에 대한 JSON BigInt 처리

구성

  • 환경 변수를 통해 구성된 API 키
  • 구성 가능한 기본 URL 및 시간 초과 설정
  • 환경 변수를 사용할 수 없는 경우 기본값으로 대체

설치

필수 조건

  • Node.js(v16 이상)
  • npm 또는 yarn

설정

  1. 저장소를 복제합니다

지엑스피1

  1. 종속성 설치
npm install
  1. 프로젝트를 빌드하세요
npm run build

Windsurf IDE와의 통합

Windsurf IDE와 함께 사용하려면 MCP 설정에 서버 구성을 추가하세요.

{ "mcpServers": { "dify-mcp-server": { "command": "node", "args": [ "/path/to/dify-mcp-server/build/index.js" ], "env": { "AGENT_API_KEYS": "key1,key2,key3", "BASE_URL": "https://api.dify.ai", "TIMEOUT": "60000" } } } }

환경 변수

  • AGENT_API_KEYS : Dify API 키의 쉼표로 구분된 목록
  • BASE_URL : Dify API의 기본 URL(기본값: https://api.dify.ai )
  • TIMEOUT : 요청 시간 초과(밀리초) (기본값: 60000)

환경 변수를 얻는 방법

API密钥(AGENT_API_KEYS): 多个以,分割

용법

Dify MCP 서버를 구성하면 다음이 수행됩니다.

  1. 제공된 API 키를 사용하여 지정된 Dify 애플리케이션에 연결합니다.
  2. 애플리케이션 메타데이터 및 매개변수 사양 가져오기
  3. Dify 애플리케이션 구성을 기반으로 MCP 도구 인터페이스 생성
  4. Windsurf IDE 내에서 이러한 도구를 사용할 수 있도록 합니다.

각 Dify 애플리케이션은 dify_app_info_{application_name} 이라는 이름 형식을 가진 별도의 도구로 노출됩니다.

개발

사용 가능한 스크립트

  • npm run build : 프로젝트 빌드
  • npm run prepare : 배포를 위해 프로젝트를 준비합니다.
  • npm run watch : 변경 사항을 확인하고 다시 빌드합니다.
  • npm run inspector : 디버깅을 위해 MCP 검사기를 실행합니다.

프로젝트 구조

  • src/index.ts : 메인 서버 구현
  • src/request.ts : Dify API 통신을 위한 HTTP 클라이언트
  • src/type.ts : Dify API를 위한 TypeScript 인터페이스

문제 해결

문제가 발생하는 경우:

  1. API 키가 올바르고 필요한 권한이 있는지 확인하세요.
  2. 사용자 환경에서 BASE_URL에 액세스할 수 있는지 확인하세요.
  3. 자세한 오류 메시지는 서버 로그를 검토하세요.
  4. Dify 애플리케이션이 제대로 구성되고 액세스 가능한지 확인하세요.

특허

이 프로젝트는 LICENSE 파일에 명시된 조건에 따라 라이센스가 부여되었습니다.

-
security - not tested
-
license - not tested
-
quality - not tested

MCP 클라이언트를 Dify 애플리케이션에 연결하고, Dify 애플리케이션을 MCP 클라이언트 내에서 직접 사용할 수 있는 도구로 동적으로 노출하는 TypeScript 기반 서버입니다.

  1. Overview
    1. Features
      1. Dynamic Dify Integration
      2. Request Handling
      3. Configuration
    2. Installation
      1. Prerequisites
      2. Setup
      3. Integration with Windsurf IDE
    3. Environment Variables
      1. How to get Environment Variables
        1. Usage
          1. Development
            1. Available Scripts
            2. Project Structure
          2. Troubleshooting
            1. License
              ID: igha6p0ztu