Skip to main content
Glama
emilychimbobit

OneDrive MCP Server

README.md
# 🔵 OneDrive MCP Server para Claude

Servidor MCP (Model Context Protocol) que conecta Claude con OneDrive a través de Microsoft Graph API para listar, buscar, crear, mover, copiar y compartir archivos directamente desde la conversación.

## 🛠️ Herramientas disponibles

| Herramienta | Descripción |
|---|---|
| `list_files` | Lista archivos y carpetas en una ruta |
| `get_file` | Obtiene detalles de un archivo o carpeta |
| `create_folder` | Crea una carpeta |
| `delete_file` | Elimina un archivo o carpeta |
| `move_file` | Mueve un archivo a otra carpeta |
| `copy_file` | Copia un archivo a otra carpeta |
| `search_files` | Busca archivos por nombre o contenido |
| `share_file` | Genera enlace para compartir (view/edit, anónimo/org) |
| `get_storage_info` | Muestra espacio total, usado y disponible |

---

## 🚀 Instalación

### 1. Instalar dependencias y compilar

```bash
npm install
npm run build
```

### 2. Registrar una aplicación en Azure AD

1. Ve a [https://portal.azure.com](https://portal.azure.com) → **Azure Active Directory** → **App registrations** → **New registration**
2. Nombre: `Claude OneDrive MCP`
3. En **API permissions** agrega:
   - `Files.ReadWrite.All` (Application)
   - `User.Read.All` (Application)
4. Haz clic en **Grant admin consent**
5. En **Certificates & secrets** → **New client secret** → copia el valor

### 3. Configurar variables de entorno

```bash
cp .env.example .env
```

Edita `.env`:

```env
TENANT_ID=tu-tenant-id
CLIENT_ID=tu-client-id
CLIENT_SECRET=tu-client-secret
USER_EMAIL=usuario@tudominio.com
```

> Puedes encontrar el `TENANT_ID` y `CLIENT_ID` en la página principal de tu app registrada en Azure AD.

---

## 🔌 Conectar con Claude Desktop

Edita el archivo de configuración de Claude Desktop:

**Windows:** `%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "onedrive": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": ["C:\\ruta\\al\\proyecto\\dist\\index.js"],
      "env": {
        "TENANT_ID": "tu-tenant-id",
        "CLIENT_ID": "tu-client-id",
        "CLIENT_SECRET": "tu-client-secret",
        "USER_EMAIL": "usuario@tudominio.com"
      }
    }
  }
}
```

Reinicia Claude Desktop y verás las herramientas disponibles.

---

## 🐛 Troubleshooting

**Error 401:** Verifica que el CLIENT_SECRET no haya expirado y que se haya otorgado admin consent.

**Error 403:** Asegúrate de que la app tenga permisos `Files.ReadWrite.All` con admin consent.

**Error 404:** Verifica que el USER_EMAIL sea correcto y tenga OneDrive activo.

TDQS

A3.8/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct purposes (list, read, write, delete, etc.). There is minor overlap between get_file (metadata) and read_file (content), and between list_files and search_files, but descriptions sufficiently clarify the boundaries.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_files, create_folder, delete_file). This is uniform and predictable across the entire set.

Tool Count5/5

With 10 tools, the server is well-scoped for file management operations. Each tool covers a distinct file or folder action without unnecessary redundancy.

Completeness5/5

The tool set covers core file operations: listing roots, browsing, reading, writing, creating folders, deleting, moving, copying, and searching. This is comprehensive for a typical file management MCP server.

Maintenance

ActivityInactive
ResponsivenessNo issues