Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade Excel (Microsoft 365) con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Deja que tu IA trabaje con libros de Excel en OneDrive y SharePoint: lista las hojas, lee cualquier rango o el rango usado de una hoja, escribe valores y fórmulas, lee y añade filas de tablas, agrega hojas y crea tablas. Microsoft 365 a través de la API de libros de Microsoft Graph, con el inicio de sesión de tu cuenta de Microsoft.
Prueba a pedir
Prompts de ejemplo para Excel (Microsoft 365)
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Excel (Microsoft 365), pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
Microsoft Excel + Cursor
Deja que tu IA trabaje con libros de Excel en OneDrive y SharePoint: lista las hojas, lee cualquier rango o el rango usado de una hoja, escribe valores y fórmulas, lee y añade filas de tablas, agrega hojas y crea tablas. Microsoft 365 a través de la API de libros de Microsoft Graph, con el inicio de sesión de tu cuenta de Microsoft.
Requisitos previos
Las instrucciones de configuración completas están incluidas en el conector (visibles en el store al seleccionarlo). Las variables de entorno requeridas:
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET, MICROSOFT_TENANT_ID
Paso 1 — Obtener credenciales
-
Abre el centro de administración de Microsoft Entra (entra.microsoft.com) o el portal de Azure y ve a Applications → App registrations → New registration.
-
Ponle un nombre a la app (por ejemplo "AnythingMCP Microsoft 365") y elige los Supported account types. La elección decide qué va en
MICROSOFT_TENANT_ID:- Accounts in this organizational directory only (un solo inquilino): solo pueden iniciar sesión los usuarios de tu organización. Usa el Directory (tenant) ID de la página Overview de la app (un GUID) o tu dominio, por ejemplo
contoso.onmicrosoft.com. - Accounts in any organizational directory (multiinquilino): usa
organizations. - Accounts in any organizational directory and personal Microsoft accounts: usa
common(cuentas profesionales, educativas y personales) oconsumers(solo cuentas personales).
Si el valor no coincide con el tipo de cuenta, Microsoft rechaza el inicio de sesión (AADSTS50194 o AADSTS50020).
- Accounts in this organizational directory only (un solo inquilino): solo pueden iniciar sesión los usuarios de tu organización. Usa el Directory (tenant) ID de la página Overview de la app (un GUID) o tu dominio, por ejemplo
-
En Redirect URI elige la plataforma Web e introduce
https://cloud.anythingmcp.com/api/mcp-oauth/callback. Si alojas AnythingMCP tú mismo, introduce en su lugarhttps://tu-host-anythingmcp/api/mcp-oauth/callback. El URI debe coincidir carácter por carácter; si no, Microsoft responde AADSTS50011. -
Abre API permissions → Add a permission → Microsoft Graph → Delegated permissions y añade
offline_access,User.ReadyFiles.ReadWrite.offline_accesshace que Microsoft emita un refresh token; sin él, el conector deja de funcionar una hora después de autorizarlo. -
Abre Certificates & secrets → New client secret. Copia el Value del secreto, no el Secret ID; solo se muestra una vez. Anota la fecha de caducidad: cuando el secreto caduca, el conector deja de funcionar hasta que crees uno nuevo y lo pegues.
-
Pega el Application (client) ID de la página Overview en
MICROSOFT_CLIENT_ID, el valor del secreto enMICROSOFT_CLIENT_SECRETy el valor del inquilino del paso 2 enMICROSOFT_TENANT_ID, e instala el conector. -
En la página del conector, haz clic en Authorize with Provider e inicia sesión con la cuenta cuyos libros debe usar la IA. El refresh token se guarda cifrado y los access tokens (válidos durante una hora aproximadamente) se renuevan automáticamente.
-
Empieza con
excel_get_my_drive: muestra en qué OneDrive ha iniciado sesión el conector.
Una sola app de Entra para todos los conectores de Microsoft: el registro de app que creaste para el conector de Outlook, OneDrive o SharePoint también sirve aquí. Ábrelo, añade el permiso del paso 4 en API permissions, conserva el mismo URI de redirección y reutiliza el mismo ID de cliente, el mismo secreto y el mismo inquilino. Cada conector pide solo sus propios permisos cuando lo autorizas:
- Outlook:
Mail.ReadWrite,Mail.Send,Calendars.ReadWrite - OneDrive:
Files.ReadWrite - Excel:
Files.ReadWrite(másFiles.ReadWrite.Allpara libros en SharePoint o compartidos contigo) - SharePoint:
Sites.ReadWrite.AllyFiles.ReadWrite.All
Todos necesitan además offline_access y User.Read.
Consentimiento del administrador: estos permisos delegados normalmente no necesitan un administrador, pero muchas organizaciones desactivan el consentimiento de los usuarios. Si el inicio de sesión muestra "Need admin approval" (AADSTS65001 o AADSTS90094), un administrador del inquilino abre una vez el registro de la app y hace clic en API permissions → Grant admin consent para la organización. Después, cualquier usuario puede autorizar. Cada conector sigue trabajando solo con lo que puede ver la cuenta que inició sesión.
Libros en SharePoint o compartidos contigo: Files.ReadWrite cubre los libros de tu propio OneDrive. Para libros de bibliotecas de SharePoint o compartidos por otras personas, añade Files.ReadWrite.All al registro de la app, sustituye con él Files.ReadWrite en los ajustes OAuth del conector y vuelve a autorizar. La IA encuentra un libro de tu OneDrive por su nombre o por su ruta (por ejemplo Finance/Budget 2026.xlsx); para una biblioteca de SharePoint, toma el id de unidad (drive id) de la biblioteca del conector de Microsoft SharePoint.
Para que los libros no cambien: incluso leer un libro requiere un permiso de escritura, porque Microsoft Graph lo abre en una sesión de Excel. Para impedir que la IA modifique libros, desactiva excel_update_range, excel_add_worksheet, excel_add_table_rows y excel_create_table.
Desactivadas al instalar: excel_clear_range y excel_delete_worksheet. Ninguna de las dos se puede deshacer a través de la API, solo desde el historial de versiones del archivo. Actívalas solo si la IA de verdad las necesita.
Lectura y escritura: solo funcionan archivos .xlsx (y .xlsm, .xlsb); los archivos .xls y .csv no. Las fechas llegan como números de serie de Excel, salvo que la IA pida el texto que se muestra, y las hojas grandes se leen en bloques de filas. Añadir filas a una tabla de Excel es la forma más segura de agregar registros: la tabla crece y conserva sus fórmulas y formatos. Las fórmulas usan los nombres de función en inglés y comas, por ejemplo =SUM(B2:B20). Cada cambio se guarda en el archivo al momento, y Excel para la web y la aplicación de escritorio lo ven. Las cuentas personales de OneDrive admiten la mayoría de las herramientas de lectura y de rangos, pero no las filas de tablas.
Límites: Microsoft Graph maneja libros de hasta unos 100 MB, y una solicitud agota el tiempo de espera tras unos 30 segundos, así que mantén los rangos en un tamaño moderado. Si alguien tiene el archivo abierto en la aplicación de escritorio de Excel con cambios sin guardar, o un libro grande todavía se está cargando, Graph puede responder 409 o 504: espera un momento y vuelve a intentarlo.
Errores frecuentes: 401 InvalidAuthenticationToken significa que la autorización se revocó o que el client secret caducó; pega un secreto nuevo si hace falta y vuelve a hacer clic en Authorize with Provider. 403 accessDenied significa que falta un permiso, o que el libro pertenece a otra persona y el scope no incluye Files.ReadWrite.All. 404 itemNotFound significa que el libro es incorrecto o que el nombre de la hoja o de la tabla no existe. 400 InvalidArgument significa una dirección que Excel no puede leer o valores que no encajan con la forma del rango. UnsupportedWorkbook o NotSupported significa que el archivo no es .xlsx, está protegido con contraseña o es demasiado grande para la API de libros.
El conector no crea archivos de libro nuevos, gráficos, tablas dinámicas ni nombres definidos, y no da formato a las celdas más allá de los formatos de número.
Paso 2 — Instalar el adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Paso 3 — Añadir el conector en Cursor
La URL de tu servidor: en AnythingMCP abre MCP Servers → el servidor donde está este conector y copia su URL (
https://cloud.anythingmcp.com/mcp/…). Úsala donde esta guía muestraYOUR_SERVER_ID.
Cursor lee los servidores MCP de ~/.cursor/mcp.json. Añade esta entrada:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Crea una clave de API MCP en AnythingMCP en MCP Servers → tu servidor → API keys y pégala en lugar de
YOUR_MCP_API_KEY. - Guarda el archivo y reinicia Cursor.
- Abre Cursor → Settings → MCP y comprueba que
anythingmcpaparece en la lista y está conectado. - Empieza a chatear: el agente ya puede usar las herramientas de
Microsoft Excel.
Herramientas disponibles
| Tool | What it does |
|---|---|
excel_get_my_drive | Get the signed-in user's OneDrive: its id (the drive_id for workbooks stored there), type and owner |
excel_find_workbooks | Search the user's OneDrive for workbooks by name or content, e.g. "budget" or "xlsx" |
excel_get_workbook_by_path | Look up a workbook in the user's OneDrive by path, e.g. "Documents/Budget 2026.xlsx", and return its id and parentReference.driveId for the… |
excel_list_worksheets | List the worksheets (tabs) of a workbook: id, name, position (0-based) and visibility |
excel_read_range | Read a range of one worksheet, e.g. "A1:D20": returns address and values (a list of rows, numbers as numbers, dates as serial numbers) by… |
excel_read_used_range | Read the part of a worksheet that holds values (its used range): address (e.g |
excel_update_range | Write into a range, overwriting what is there: values, or formulas (e.g. [["=SUM(B2:B20)"]]), and optionally numberFormat |
excel_add_worksheet | Add a worksheet (tab) at the end of the workbook |
excel_list_tables | List the tables (formatted Excel tables) of a workbook: id, name, showHeaders, showTotals and style |
excel_list_table_columns | List a table's columns: id, name (the header text) and index |
excel_list_table_rows | Read the data rows of a table (without the header): each row's index and values |
excel_add_table_rows | Append rows at the end of a table (or insert them at a 0-based index); the table grows and formulas and formats of the table columns carry… |
excel_create_table | Turn a range into an Excel table, e.g. address "Sheet1!A1:D1" with has_headers true to start an empty table from a header row |
excel_clear_range | Clear a range: its contents, its formats, or both |
excel_delete_worksheet | Delete a worksheet with everything on it |
Ejemplos de prompts
- "Abre Finanzas/Presupuesto 2026.xlsx y dime qué centros de coste superan el presupuesto."
- "Añade estos tres gastos como filas nuevas a la tabla Gastos de mi libro de viajes."
- "Lee la hoja Ventas y escribe los totales mensuales en una hoja nueva llamada Resumen."
- "¿Qué pestañas tiene el libro Precios 2026 y cuántas filas usa cada una?"
FAQ
¿Cursor admite servidores MCP personalizados en el plan gratuito? Sí, MCP está disponible en los planes Hobby, Pro y Business.
Siguientes pasos
¿Te ha sido útil esta guía?