dbx-mcp-server 是一个与 Dropbox 集成的模型上下文协议(MCP)服务器。借助一系列强大工具,它能让 MCP 兼容客户端通过 Dropbox 公开 API 进行交互。
⚠️ 重要声明
该项目未得到、获得或由 Dropbox 赞助,是一个独立的集成项目,通过 Dropbox 的公共 API 开展工作。
npm install
安装依赖项。npm run build
构建项目。http://localhost:3000/callback
)。dropbox.json
文件中:{
"DROPBOX_APP_KEY": "your-app-key",
"DROPBOX_APP_SECRET": "your-app-secret"
}
git clone [仓库地址]
cd dbx-mcp-server
npm install
该服务器使用OAuth 2.0标准进行身份验证,具体实现采用AUTHORIZATION_CODE授予类型。支持的范围包括文件和目录访问权限。
// 上传文件
async function uploadFile(filePath: string, content: Buffer): Promise<void> {
const dbx = new DropboxClient();
await dbx.files.upload(filePath, content);
}
// 下载文件
async function downloadFile(filePath: string): Promise<Buffer> {
const dbx = new DropboxClient();
return await dbx.files.download(filePath);
}
// 创建目录
async function createDirectory(directoryPath: string): Promise<void> {
const dbx = new DropboxClient();
await dbx.files.createFolder(directoryPath);
}
// 删除目录
async function deleteDirectory(directoryPath: string): Promise<void> {
const dbx = new DropboxClient();
await dbx.files.deleteFolder(directoryPath);
}
// 分享文件
async function shareFile(filePath: string): Promise<string> {
const dbx = new DropboxClient();
return await dbx.sharing.createShare(filePath);
}
// 恢复已分享的文件
async function restoreSharedFile(shareId: string): Promise<Buffer> {
const dbx = new DropboxClient();
return await dbx.sharing.revoke(shareId);
}
# 推荐设置
export DROPBOX_APP_KEY="your-app-key"
export DROPBOX_APP_SECRET="your-app-secret"
创建 config.json
文件:
{
"dropbox": {
"appKey": "your-app-key",
"appSecret": "your-app-secret"
}
}
import { DropboxClient } from './dbx-mcp-server';
async function main() {
const dbx = new DropboxClient();
// 上传本地文件
await dbx.files.upload('/uploads/test.txt', fs.readFileSync('test.txt'));
// 下载远程文件
const content = await dbx.files.download('/uploads/test.txt');
console.log(content.toString());
}
main().catch(console.error);
import { DropboxClient } from './dbx-mcp-server';
async function main() {
const dbx = new DropboxClient();
// 创建新目录
await dbx.files.createFolder('/my-new-folder');
// 删除目录
await dbx.files.deleteFolder('/my-empty-folder');
}
npm test
npm test tests/dropbox/search-delete.test.ts
npm test -- -t "should search for files"
该服务器使用以下技术构建:
MIT License
版权 (c) 2025 MCP Server Contributors
允许任何人免费获得和分发此软件及其关联的文档文件(“软件”),并且可以不受限制地进行研究、开发、测试、商业部署或销售。
在以下条件下,您可以在任何情况下使用、复制、修改、合并、发布、分发、 sublicense 和/或出售该软件,并允许获得该软件的人对其进行操作: