README
🚀 dbx-mcp-server
dbx-mcp-server 是一个支持模型上下文协议(MCP)的服务器,它实现了与 Dropbox 的集成,让 MCP 兼容客户端能借助一组强大的工具与 Dropbox 进行交互。
⚠️ 重要提示
该项目未获得 Dropbox 的任何关联、认可或赞助,是一个独立集成了 Dropbox 公共 API 的项目。
🚀 快速开始
- 克隆仓库
- 安装依赖项
- 配置环境变量
- 运行服务器
📦 安装指南
要安装 dbx-mcp-server,请按照以下步骤操作:
npm install dbx-mcp-server
或者使用 yarn:
yarn add dbx-mcp-server
🔐 身份验证
基于 OAuth 的认证
- 配置身份提供者(例如,Dropbox OAuth)
- 实现
Authenticator接口 - 使用生成的访问令牌进行身份验证
基于密钥的认证
使用以下环境变量配置基于密钥的身份验证:
DBX_APP_KEY=your_app_key
DBX_APP_SECRET=your_app_secret
✨ 主要特性
文件操作
createFile(filePath: string, content: Buffer): Promise<void>readFile(filePath: string): Promise<Buffer>updateFile(filePath: string, content: Buffer): Promise<void>deleteFile(filePath: string): Promise<void>
目录操作
createDirectory(directoryPath: string): Promise<void>listDirectory(directoryPath: string): Promise<string[]>removeDirectory(directoryPath: string): Promise<void>
⚙️ 配置
修改 config.json 以自定义服务器行为:
{
"port": 3000,
"host": "localhost",
"auth_provider": "dropbox"
}
💻 使用示例
基础用法
// 示例1:创建文件
import { Dropbox } from 'dbx-mcp-server';
async function main() {
const dbx = new Dropbox({
accessToken: 'your_access_token'
});
await dbx.createFile('test.txt', Buffer.from('Hello, World!'));
console.log('文件创建成功');
}
main();
高级用法
// 示例2:读取文件
import { Dropbox } from 'dbx-mcp-server';
async function main() {
const dbx = new Dropbox({
accessToken: 'your_access_token'
});
const content = await dbx.readFile('test.txt');
console.log(content.toString());
}
main();
🧪 测试
运行测试
使用以下命令运行所有测试:
npm test
或者指定特定测试文件:
npm test tests/dropbox/search-delete.test.ts
指定测试描述
运行匹配特定描述的测试:
npm test -- -t "should search for files"
💻 开发
该项目使用以下技术栈构建:
- TypeScript
- Model Context Protocol SDK
- Dropbox SDK v10.34.0
- Dropbox API v2
📄 许可证
MIT License
版权 (c) 2025 MCP Server Contributors
准许任何人获取本软件及其相关文档文件(“软件”),并免费进行处理,包括但不仅限于以下权利:使用、复制、修改、合并、发布、分发、 sublicense 和/或出售软件副本,以及允许获得软件的人对其进行处理。在上述条件下,本声明应包含在所有副本或软件的实质性部分中。
软件按“现状”提供,不做任何明示或暗示的担保,包括但不仅限于对适销性、特定用途适用性及无侵权的担保。无论是在合同行为、侵权行为或其他行为中,作者或版权持有者均不对任何声明、损害赔偿或其他责任负责,无论是附带的还是直接的。
微信扫一扫