Dropbox MCP Server

by Albiemark
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides integration with Dropbox's API, offering tools for file operations (listing, uploading, downloading), metadata retrieval, search functionality, folder management, sharing capabilities, and account information access.

dbx-mcp-서버

Dropbox와 통합을 제공하는 MCP(Model Context Protocol) 서버로, MCP 호환 클라이언트가 강력한 도구 세트를 통해 Dropbox와 상호 작용할 수 있습니다.

중요 고지 사항: 이 프로젝트는 Dropbox와 제휴, 보증 또는 후원 관계가 없습니다. Dropbox의 공개 API를 사용하는 독립적인 통합 솔루션입니다.

목차

빠른 시작

  1. 저장소를 복제합니다
  2. npm install 실행하여 종속성을 설치합니다.
  3. npm run build 실행하여 프로젝트를 빌드합니다.
  4. Dropbox 앱 콘솔 에서 Dropbox 앱을 등록하세요:
    • "범위가 지정된 액세스" API를 선택하세요
    • 앱에 필요한 액세스 유형을 선택하세요
    • 앱 이름을 지정하고 "앱 만들기"를 클릭하세요.
    • "권한"에서 필요한 권한을 선택하세요.
      • files.metadata.read
      • files.content.read
      • files.content.write
      • sharing.write
      • account_info.read
    • 리디렉션 URI로 http://localhost:3000/callback 추가합니다.
    • 앱 키와 앱 비밀번호를 기록해 두세요
  5. 설치 스크립트를 실행합니다.지엑스피1
  6. 서버를 사용하도록 MCP 클라이언트를 구성하세요.

설치

  1. 저장소를 복제합니다
    git clone https://github.com/your-username/dbx-mcp-server.git cd dbx-mcp-server
  2. 종속성을 설치하고 빌드합니다.
    npm install npm run build
  3. 설치 스크립트 실행
    npm run setup
  4. MCP 설정에 추가MCP 설정 파일에 다음을 추가하세요.
    { "mcpServers": { "dbx": { "command": "node", "args": ["/path/to/dbx-mcp-server/build/index.js"] } } }

입증

서버는 Dropbox와의 보안 인증을 위해 PKCE가 포함된 OAuth 2.0을 사용합니다.

환경 변수

필수의:

  • DROPBOX_APP_KEY : Dropbox 앱의 키
  • DROPBOX_APP_SECRET : Dropbox 앱의 비밀
  • DROPBOX_REDIRECT_URI : OAuth 리디렉션 URI
  • TOKEN_ENCRYPTION_KEY : 토큰 암호화를 위한 32자 이상의 키

선택 과목:

  • TOKEN_REFRESH_THRESHOLD_MINUTES : 토큰 만료 전 새로 고침 시간(분) (기본값: 5)
  • MAX_TOKEN_REFRESH_RETRIES : 새로 고침 시도 최대 횟수(기본값: 3)
  • TOKEN_REFRESH_RETRY_DELAY_MS : 새로 고침 시도 간 지연 시간(ms)(기본값: 1000)

사용 가능한 도구

파일 작업

  • list_files : 디렉토리의 파일 목록
  • upload_file : 파일 업로드
  • download_file : 파일 다운로드
  • safe_delete_item : 휴지통 지원을 통해 안전하게 삭제
  • create_folder : 새 폴더를 만듭니다
  • copy_item : 파일이나 폴더를 복사합니다
  • move_item : 파일/폴더를 이동하거나 이름을 변경합니다.

메타데이터 및 검색

  • get_file_metadata : 파일/폴더 메타데이터 가져오기
  • search_file_db : 파일 및 폴더 검색
  • get_sharing_link : 공유 링크 생성
  • get_file_content : 파일 내용 가져오기

계정 운영

  • get_account_info : 계정 정보 가져오기

사용 예

// List files in root directory await mcp.useTool("dbx-mcp-server", "list_files", { path: "" }); // Upload a file await mcp.useTool("dbx-mcp-server", "upload_file", { path: "/test.txt", content: Buffer.from("Hello World").toString("base64"), }); // Search for files await mcp.useTool("dbx-mcp-server", "search_file_db", { query: "report", path: "/Documents", max_results: 10, });

테스트

테스트 모음을 실행합니다.

npm test

테스트는 인증, 파일 작업, 오류 처리를 포함한 모든 작업을 검증합니다.

테스트 구조

테스트 모음은 여러 모듈로 구성됩니다.

  • Dropbox Operations : 기본 파일 작업(업로드, 다운로드, 나열 등)을 테스트합니다.
  • 계정 운영 : 계정 정보 접근 테스트
  • 검색 및 삭제 : 휴지통 지원을 통한 검색 기능 및 안전한 삭제 테스트
  • 리소스 시스템 : MCP 리소스 시스템 통합을 위한 테스트

테스트 데이터 처리

테스트는 충돌을 방지하기 위해 타임스탬프를 기반으로 동적으로 생성된 파일 및 폴더 이름을 사용합니다. 테스트 데이터는 테스트 실행 후 자동으로 정리됩니다.

특정 테스트 실행

특정 테스트 파일이나 테스트 그룹을 실행하려면:

npm test -- tests/dropbox/search-delete.test.ts # Run specific test file npm test -- -t "should search for files" # Run tests matching description

문제 해결 테스트

타이밍이나 인증 문제로 테스트가 실패하는 경우:

  1. tests/setup.ts 의 모의 구현이 테스트 기대치와 일치하는지 확인하세요.
  2. 테스트 도우미가 올바르게 구성되었는지 확인하세요.
  3. Jest 범위 오류의 경우 모의 팩토리 함수에서 가져온 변수를 참조하지 마십시오.

개발

다음으로 구성됨:

  • 타입스크립트
  • 모델 컨텍스트 프로토콜 SDK
  • 드롭박스 SDK v10.34.0
  • 드롭박스 API v2

특허

MIT 라이센스

저작권 (c) 2025 MCP 서버 기여자

본 소프트웨어 및 관련 문서 파일(이하 "소프트웨어")의 사본을 취득한 모든 사람에게 소프트웨어를 제한 없이 거래할 수 있는 권한을 무상으로 부여합니다. 여기에는 소프트웨어 사본을 사용, 복사, 수정, 병합, 게시, 배포, 하위 라이선스 및/또는 판매할 수 있는 권한이 포함되나 이에 국한되지 않으며, 소프트웨어가 제공된 사람에게도 이러한 권한을 부여합니다. 단, 다음 조건에 따라야 합니다.

위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야 합니다.

본 소프트웨어는 상품성, 특정 목적 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저작자 또는 저작권자는 본 소프트웨어 또는 본 소프트웨어의 사용 또는 기타 거래와 관련하여 발생하는 계약, 불법 행위 또는 기타 소송을 포함한 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.

-
security - not tested
A
license - permissive license
-
quality - not tested

AI 애플리케이션이 Dropbox와 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜 서버로, Dropbox API를 통해 파일 작업, 메타데이터 검색, 계정 관리를 위한 도구를 제공합니다.

  1. Table of Contents
    1. Quick Start
      1. Installation
        1. Authentication
          1. Environment Variables
        2. Available Tools
          1. File Operations
          2. Metadata and Search
          3. Account Operations
        3. Usage Examples
          1. Testing
            1. Test Structure
            2. Handling Test Data
            3. Running Specific Tests
            4. Troubleshooting Tests
          2. Development
            1. License
              ID: ng3yif9lh7