Skip to main content
Glama
danielsimonjr

dropbox-mcp

dropbox-mcp

Dropbox API를 LLM 에이전트를 위한 도구로 노출하는 MCP(Model Context Protocol) 서버입니다. FastMCP와 dropbox-sdk-python을 기반으로 구축되었습니다.

초점: 기존 Dropbox 계정의 복구 및 탐색 — 삭제된 파일 복원, 수정 내역 나열, 콘텐츠 검색, 클라우드 전용 파일 강제 다운로드. 이 서버는 로컬 동기화 폴더가 아닌 Dropbox 서버 측 API와 통신하므로, 로컬 동기화에서 이미 삭제된 파일도 확인하고 복원할 수 있습니다.


도구

모든 도구 이름 앞에는 다른 MCP 서버와의 충돌을 방지하기 위해 dropbox_ 접두사가 붙습니다.

도구

동작

읽기 전용

dropbox_restore

삭제된 파일의 가장 최근 서버 측 수정 버전을 복원합니다.

아니요

dropbox_restore_batch

한 번의 호출로 여러 파일을 복원합니다. 경로별 결과를 보고합니다.

아니요

dropbox_restore_revision

특정 수정 ID(예: 정상으로 확인된 이전 버전)를 복원합니다.

아니요

dropbox_download

Smart Sync의 클라우드 전용 상태를 우회하여 Dropbox에서 로컬 동기화 폴더로 파일을 강제 다운로드합니다.

아니요

dropbox_search

계정 전체에서 파일 이름이나 콘텐츠로 검색합니다. 경로, 크기, 수정 날짜를 반환합니다.

예

dropbox_list_deleted

폴더 내 삭제된 항목을 나열합니다(선택적으로 재귀적). 복원 워크플로우를 위한 입력값입니다.

예

dropbox_file_info

경로에 대한 크기, 수정 시간, 수정 ID, 콘텐츠 해시를 반환합니다.

예

dropbox_list_revisions

수정 ID, 크기, 수정 시간이 포함된 파일의 수정 내역을 최대 100개까지 나열합니다.

예

읽기 전용 도구는 자유롭게 호출해도 안전합니다. 4가지 복원/다운로드 도구는 Dropbox 서버나 로컬 디스크의 상태를 변경합니다.


Related MCP server: Dropbox MCP Server

설치

사전 요구 사항

  • Python 3.10 이상

  • Dropbox 계정 및 files.content.read, files.content.write, files.metadata.read 범위(scope)가 설정된 Dropbox 앱

설치

git clone https://github.com/danielsimonjr/dropbox-mcp.git
cd dropbox-mcp
pip install -e .

또는 의존성만 설치하려면:

pip install -r requirements.txt

인증

서버는 시작 시 ~/.claude/channels/dropbox/.env에서 자격 증명을 로드합니다. 해당 파일을 생성하고 아래 템플릿을 붙여넣은 뒤 값을 입력하세요:

mkdir -p ~/.claude/channels/dropbox
touch ~/.claude/channels/dropbox/.env

템플릿:

# --- Option A: OAuth 2 refresh token (recommended) ---
# Create an app at https://www.dropbox.com/developers/apps, enable the scopes
# files.content.read, files.content.write, files.metadata.read, then run the
# OAuth flow once to obtain a refresh token.
DROPBOX_REFRESH_TOKEN=
DROPBOX_APP_KEY=
DROPBOX_APP_SECRET=

# --- Option B: Long-lived access token (fallback) ---
# Leave blank if you are using Option A above.
DROPBOX_ACCESS_TOKEN=

# --- Optional ---
# Local Dropbox sync folder. Used by dropbox_download to write files.
# Defaults to ~/Dropbox if unset.
# DROPBOX_LOCAL_PATH=C:\Users\you\Dropbox

두 가지 인증 모드가 지원되며, 순서대로 시도됩니다:

  1. OAuth 2 새로 고침 토큰(권장): DROPBOX_REFRESH_TOKEN, DROPBOX_APP_KEY, DROPBOX_APP_SECRET을 설정합니다. 액세스 토큰이 자동으로 갱신되므로 자격 증명이 만료되지 않습니다.

  2. 레거시 장기 액세스 토큰(대체): DROPBOX_ACCESS_TOKEN만 설정합니다. 앱 콘솔에서 얻기 쉽지만, 최신 앱의 경우 몇 시간 후 토큰이 만료됩니다.


서버 실행

직접 실행(테스트용)

python server.py

서버는 stdio를 통해 통신하므로 대화형 출력이 없으며, stdin에서 MCP 프로토콜 메시지를 기다립니다.

MCP Inspector 사용

npx @modelcontextprotocol/inspector python server.py

브라우저 UI가 열리며, 여기서 도구를 나열하고 수동으로 호출할 수 있습니다.

Claude Code에 등록

~/.claude/.mcp.json에 항목을 추가하세요:

{
  "mcpServers": {
    "dropbox": {
      "command": "python",
      "args": [
        "-X", "utf8",
        "C:\\path\\to\\dropbox-mcp\\server.py"
      ]
    }
  }
}

결과에 포함된 비 ASCII 경로가 기본 cp1252 인코딩에서 오류를 일으키지 않도록 Windows에서는 -X utf8 플래그를 사용하는 것이 좋습니다.

등록 사항을 적용하려면 Claude Code를 다시 시작하세요.


예시

실수로 삭제된 파일 복원:

Agent: dropbox_restore(path="/Projects/report-final.docx")
Result: Restored: /Projects/report-final.docx (rev: abc123, size: 45678 bytes)

정확한 위치를 모르는 파일 찾기:

Agent: dropbox_search(query="RSP consciousness paper", max_results=5)
Result: Found 3 results for 'RSP consciousness paper':
      1.25 MB  2026-02-18  /Misc/Philosophy/Beyond the Bat/paper.pdf
      0.31 MB  2026-02-10  /Misc/Philosophy/Beyond the Bat/drafts/outline.md
      ...

특정 이전 수정 버전으로 롤백:

Agent: dropbox_list_revisions(path="/report.docx", limit=5)
Agent: dropbox_restore_revision(path="/report.docx", rev="0123abc")

보안 참고 사항

  • .env 파일에는 장기 자격 증명이 포함되어 있으므로 버전 관리에서 제외하세요(기본 .gitignore는 이미 .env 파일을 제외합니다).

  • 복원 및 다운로드 도구는 사용자 관점에서 멱등성(idempotent)이 없습니다. 즉, Dropbox 상태를 변경하거나 로컬 파일을 덮어씁니다. 에이전트는 특히 dropbox_restore_batch를 호출하기 전에 의도를 확인해야 합니다.

  • 서버는 네트워크 포트에 바인딩되지 않으며 통신은 stdio 전용이므로 MCP 계층 자체로부터의 인바운드 공격 표면은 없습니다. 유일한 아웃바운드 연결은 HTTPS를 통한 api.dropbox.com입니다.

  • 로그는 stderr로 전송되며 stdout으로는 전송되지 않습니다(stdout은 MCP 프로토콜 프레임용으로 예약됨).


개발

# Syntax check
python -m py_compile server.py

# Quick smoke test (lists registered tools)
npx @modelcontextprotocol/inspector python server.py

도구 인터페이스 변경 시, 이 README와 CHANGELOG.md를 동일한 커밋에서 업데이트하세요.


라이선스

MIT — LICENSE를 참조하세요.

Available Tools

11 tools
dropbox_deleteA
Destructive

Delete a file or folder on Dropbox. The item moves to Dropbox trash and is recoverable via dropbox_restore for ~30 days (longer on some plans). Deleting a folder removes all of its contents. Confirm intent before deleting folders.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesDropbox path of the file or folder to delete

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint annotation, the description adds important behavioral details: the item is recoverable for ~30 days, deleting a folder removes all contents, and intent should be confirmed for folders. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each providing essential information without redundancy. Key action is front-loaded, followed by recovery details and a usage warning. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete tool with one parameter and no output schema, the description is sufficiently complete. It covers the action, safety/recovery behavior, special folder behavior, and a usage recommendation. No major gaps are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a description for the single parameter 'path' ('Dropbox path of the file or folder to delete'). The tool description does not add additional meaning or formatting details beyond what the schema contains. With 100% schema coverage, a score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete a file or folder') and the resource ('on Dropbox'), which distinguishes it from sibling tools like dropbox_restore, dropbox_move, etc. The verb and object are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that items move to trash and are recoverable via dropbox_restore for ~30 days, providing context for when to use this tool. It also warns about folder deletion removing all contents and advises confirming intent before deleting folders, which helps an agent decide when to use this versus alternative actions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_downloadA
Destructive

Force-download a file from Dropbox servers to the local Dropbox folder. Useful when Smart Sync keeps files cloud-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesDropbox path of the file to download

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation already marks destructiveHint as true. The description adds context by using 'force-download' and mentioning cloud-only files, implying overwriting of local copies. It does not contradict annotations and provides useful behavioral context beyond the structured field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long with zero waste. The first sentence defines the action and outcome; the second provides a concrete usage scenario. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers purpose and a key use case. It does not explain error handling or behavior when the file doesn't exist locally, but given the tool's straightforward nature and annotation coverage, it is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'path' is fully described in the input schema ('Dropbox path of the file to download'). The description adds no additional meaning or constraints beyond the schema. With 100% schema coverage, a score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (force-download), the resource (a file from Dropbox servers), and the target (local Dropbox folder). It provides a specific verb and distinguishes this tool from siblings by emphasizing local storage and cloud-only scenarios.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions a specific use case ('when Smart Sync keeps files cloud-only'), which is helpful. However, it does not explicitly state when not to use the tool or provide alternatives among sibling tools (e.g., dropbox_restore for version recovery). This leaves some ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_file_infoB
Read-only

Get metadata for a file on Dropbox servers: size, modified date, revision, content hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesDropbox path

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description adds minimal behavioral insight beyond restating that it is a read operation. It does not disclose any side effects, authentication needs, or rate limits. Without annotations, this would be insufficient, but here the description relies heavily on the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys all essential information without fluff. Every word is informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, read-only), the description covers the purpose and key output fields. However, it lacks details on error handling (e.g., file not found) and does not fully specify the return format since there is no output schema. Still sufficient for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes the 'path' parameter. The description does not add meaning beyond the schema (e.g., path format or examples). Baseline is 3, and no additional semantics are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get metadata'), the resource ('a file on Dropbox servers'), and details the specific metadata fields (size, modified date, revision, content hash). This distinguishes it from sibling tools like dropbox_delete or dropbox_download which perform different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool over alternatives. While the purpose is clear, the description does not mention prerequisites, file existence requirements, or when not to use it (e.g., for listing files, use dropbox_list_deleted or dropbox_search).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_list_deletedA
Read-only

List recently deleted files in a Dropbox folder. Shows files that can be restored.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesDropbox folder path
recursiveNoRecurse into subfolders (default false)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation already declares readOnlyHint=true, and the description ('List recently deleted files') is consistent. The description adds no extra behavioral context beyond what annotations provide, such as what happens if path is invalid or whether the list is limited by time.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundant words, front-loaded with the tool's purpose. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema, read-only annotations), the description is sufficiently complete. It explains what the tool does and the nature of the output (restorable files). No additional context is needed for this straightforward operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters ('path' and 'recursive'). The description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists recently deleted files in a Dropbox folder and shows files that can be restored. It uses specific verb 'list' and resource 'recently deleted files', and the sibling tools like dropbox_restore and dropbox_list_revisions are distinct in purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage before restoring deleted files ('Shows files that can be restored'), but lacks explicit when-to-use, when-not-to-use, or alternative tool guidance. It does not mention siblings like dropbox_restore or dropbox_list_revisions for comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_list_revisionsA
Read-only

List all available revisions of a file. Useful for finding older versions to restore.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesDropbox path of the file
limitNoMaximum revisions, capped at 100 (default 10)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description doesn't need to reiterate. The description adds minimal behavioral context beyond the annotations, such as the purpose for restoring.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main purpose, no wasted words. The description is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a simple structure with clear parameters and annotations. No output schema exists, but the description could briefly mention output type (revision list). However, given the context, it is sufficiently complete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters, so the description adds no extra meaning beyond what the schema provides. The description's mention of 'all available revisions' aligns with the path parameter but doesn't elaborate on limit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all available revisions of a file' with specific verb and resource, and distinguishes from siblings like restore_revision by noting it's useful for finding older versions to restore.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context ('useful for finding older versions to restore') and the sibling list offers alternatives, but it does not explicitly state when not to use the tool or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_moveA
Destructive

Move or rename a file or folder on Dropbox server-side (no download/re-upload). Use for cross-folder relocation or renaming. Set autorename=true to auto-rename instead of failing when the destination already exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_pathYesNew Dropbox path
from_pathYesCurrent Dropbox path
autorenameNoIf destination exists, auto-rename instead of failing (default false)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true. The description adds that the operation is server-side (no download/re-upload), which is useful. It does not detail permissions or failure modes beyond existing destination, but overall it discloses the key behavioral trait of mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It front-loads the core action and immediately provides the key usage detail about server-side and autorename. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters with 100% schema coverage, no output schema (acceptable for a mutating tool), and annotations present, the description covers the essential information: what it does, when to use, and important parameter behavior. It is complete enough for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description reinforces the autorename parameter's behavior (auto-rename vs. fail), which adds marginal value over the schema's description. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool moves or renames a file or folder server-side, with specific verb 'move/rename' and resource 'file/folder'. It distinguishes from sibling tools like dropbox_delete, dropbox_download, etc. The scope is precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says to use for cross-folder relocation or renaming, which is clear context. It also mentions the autorename option. However, it does not explicitly state when not to use or name alternatives among siblings, but the purpose is distinct enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_restoreA
Destructive

Restore a deleted file from Dropbox's server-side history. Finds the most recent revision and restores it.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesDropbox path of the file to restore

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, indicating a state change. The description confirms the restore operation but adds no additional behavioral context, such as side effects on other files or permissions needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences that front-load the purpose with no wasted words. Efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description is largely complete. It could mention whether the path must be absolute or if it works on folders, but the current level is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds value beyond the schema by clarifying that the path refers to a deleted file and that the tool restores the most recent revision. Schema coverage is 100%, but the description enhances understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'restore' and the resource 'deleted file from Dropbox's server-side history', and mentions it finds the most recent revision, distinguishing it from siblings like dropbox_restore_revision and dropbox_restore_batch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as dropbox_list_deleted or dropbox_restore_batch. There is no mention of prerequisites, limitations, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_restore_batchA
Destructive

Restore multiple deleted files from Dropbox history.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesDropbox paths to restore

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The destructiveHint annotation already marks this as destructive. The description adds no further behavioral context (e.g., irreversibility, permission requirements, partial success handling). Given the annotation, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no redundant text. It conveys the core purpose without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the tool is simple (one parameter) and the description, combined with annotations and schema, covers the essential behavior. It could mention batch size limits or result format, but it's largely complete for a basic batch restore operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'paths', which is already described as 'Dropbox paths to restore'. The description does not add additional meaning beyond what the schema provides, so baseline 3 is used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Restore'), the resource ('multiple deleted files'), and the context ('from Dropbox history'). It effectively distinguishes this batch tool from siblings like dropbox_restore (single file) and dropbox_restore_revision (specific revision).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. For example, it doesn't indicate that this is for batch restoration while dropbox_restore handles single files, nor does it mention prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_restore_revisionB
Destructive

Restore a specific revision of a file by revision ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
revYesRevision ID to restore to
pathYesDropbox path of the file

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, so the description adds little. It does not disclose side effects such as overwriting the current file, permission requirements, or whether a new revision is created.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no superfluous words. Every word is necessary and directly conveys the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description is minimally adequate. It lacks context on the outcome (e.g., file overwritten) and does not relate to sibling tools, but it covers the core function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The tool description adds no extra meaning beyond the schema, so it meets the baseline for high-coverage tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (restore) and the resource (a specific revision of a file), and specifies the key input (revision ID). However, it does not distinguish this tool from similar siblings like dropbox_restore or dropbox_restore_batch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites like first listing revisions with dropbox_list_revisions, nor does it explain when to choose this over dropbox_restore or dropbox_restore_batch.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dropbox_uploadA
Destructive

Upload a local file to Dropbox (single file, atomic). Source defaults to the local Dropbox-folder mirror of path; pass local_path to upload an arbitrary local file. Mode 'add' (default) fails if the destination exists; 'overwrite' replaces it. Files larger than 150 MB are rejected (Dropbox requires a chunked upload session for those — use the desktop client). For bulk uploads of many files, use the dropbox skill's dbx_sync.py instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoadd = fail if destination exists (default); overwrite = replace it
pathYesDropbox destination path, e.g. /Misc/report.pdf
local_pathNoLocal source file path (default: <local Dropbox folder>/<path>)

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructiveHint: true, and description expands on behavioral details: atomic upload, default local path behavior, mode options (add fails if exists, overwrite replaces), and a clear size limit (150 MB rejected). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences cover purpose, defaults, modes, constraints, and alternatives. Each sentence adds value; no fluff. Front-loaded with core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters, no output schema, and annotations present, the description is fully complete. It covers all essential usage details: what it does, how to use parameters, constraints (size limit), error scenarios (mode conflict), and alternatives for other cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 100%. Description adds context beyond schema: explains default for local_path (derived from path), clarifies mode behavior, and notes file size constraint. This helps the agent understand parameter relationships and constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Upload a local file to Dropbox (single file, atomic).' It specifies the verb (upload), resource (local file to Dropbox), and key characteristics (single file, atomic), distinguishing it from siblings like dropbox_download and dropbox_move.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use this tool (single file upload) and when not to (files >150 MB, bulk uploads). Names alternative tools: 'use the desktop client' for chunked uploads and 'dbx_sync.py' for bulk uploads. Also explains the mode parameter (add vs overwrite) with expectations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.3.1
    • First observeddropbox_delete
    • First observeddropbox_download
    • First observeddropbox_file_info
    • First observeddropbox_list_deleted
    • First observeddropbox_list_revisions
    • First observeddropbox_move
    • First observeddropbox_restore
    • First observeddropbox_restore_batch
    • First observeddropbox_restore_revision
    • First observeddropbox_search
    • First observeddropbox_upload

TDQS

A3.9/5.0

Scored across 11 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: delete, download, file info, listing deleted files/revisions, move, restore (deleted, batch, specific revision), search, and upload. No two tools overlap in functionality, and descriptions clarify any potential confusion between restore variants.

Naming Consistency4/5

Most tools follow a consistent 'dropbox_verb_noun' pattern (e.g., dropbox_delete, dropbox_search). The minor exception is 'dropbox_file_info' which uses a noun-noun form instead of verb-noun, but overall the pattern is clear and predictable.

Tool Count5/5

With 11 tools, the server is well-scoped for a file management service like Dropbox. It covers essential operations (CRUD, search, version history, restoration) without being bloated or insufficient.

Completeness4/5

The tool set covers core file operations: upload, download, delete, move, search, and version/restoration. Minor gaps exist, such as no explicit folder creation or sharing tools, but these are acceptable for a basic file management interface.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    This read-only MCP Server allows you to connect to Dropbox data from Claude Desktop through CData JDBC Drivers. Free (beta) read/write servers available at https://www.cdata.com/solutions/mcp
    1
    MIT
  • F
    license
    A
    quality
    Not graded
    maintenance
    A local MCP server that enables Claude to manage Dropbox accounts through tools for file manipulation, searching, and sharing. It supports operations such as listing folders, moving files, creating shared links, and monitoring storage usage via natural language commands.
    10
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Dropbox file operations such as listing, searching, downloading, and creating folders via the Dropbox API v2 through MCP.
    232 npm
    MIT