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
- 종속성 설치
Copy
- 프로젝트를 빌드하세요
Copy
Windsurf IDE와의 통합
Windsurf IDE와 함께 사용하려면 MCP 설정에 서버 구성을 추가하세요.
Copy
환경 변수
AGENT_API_KEYS
: Dify API 키의 쉼표로 구분된 목록BASE_URL
: Dify API의 기본 URL(기본값: https://api.dify.ai )TIMEOUT
: 요청 시간 초과(밀리초) (기본값: 60000)
환경 변수를 얻는 방법
API密钥(AGENT_API_KEYS): 多个以,分割
용법
Dify MCP 서버를 구성하면 다음이 수행됩니다.
- 제공된 API 키를 사용하여 지정된 Dify 애플리케이션에 연결합니다.
- 애플리케이션 메타데이터 및 매개변수 사양 가져오기
- Dify 애플리케이션 구성을 기반으로 MCP 도구 인터페이스 생성
- 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 인터페이스
문제 해결
문제가 발생하는 경우:
- API 키가 올바르고 필요한 권한이 있는지 확인하세요.
- 사용자 환경에서 BASE_URL에 액세스할 수 있는지 확인하세요.
- 자세한 오류 메시지는 서버 로그를 검토하세요.
- Dify 애플리케이션이 제대로 구성되고 액세스 가능한지 확인하세요.
특허
이 프로젝트는 LICENSE 파일에 명시된 조건에 따라 라이센스가 부여되었습니다.
This server cannot be installed
MCP 클라이언트를 Dify 애플리케이션에 연결하고, Dify 애플리케이션을 MCP 클라이언트 내에서 직접 사용할 수 있는 도구로 동적으로 노출하는 TypeScript 기반 서버입니다.