# Excel MCP server

The Excel MCP server enables LLMs to read, update, and structurally modify Microsoft Excel workbooks stored in Microsoft 365 through natural conversation. It provides tools to access tabular data, append and update rows, manage worksheets, and perform atomic multi-step updates without requiring direct interaction with the Excel interface.

# Uses

Use the Excel MCP server to perform the following actions:

  • Retrieve workbook metadata including worksheet names and Excel Tables
  • Read cell data, formulas, and table contents from worksheets
  • Append new rows to trackers or data tables
  • Update specific cell values or formulas in ranges
  • Perform atomic multi-step updates that must succeed or fail together
  • Add new worksheets to workbooks
  • Rename existing worksheets
  • Delete worksheets when explicitly requested
  • Access named ranges and Excel Table definitions

# Example prompts

  • What worksheets are in my Sales Tracker workbook?
  • Read the data from the Q1 Revenue sheet.
  • Add these three deals to my Pipeline tracker.
  • Update the status column to 'Closed Won' for the Acme Corp row.
  • Create a new January 2026 tab and add headers.
  • Rename Sheet1 to 'Sales Pipeline'.
  • Get the current session ID for this workbook.
  • Show me the data in the Revenue table.

# Excel MCP server tools

The Excel MCP server provides the following tools:

Tool Description
get_workbook_info Retrieves worksheet names, named ranges, Excel Table definitions, and session metadata for a workbook.
get_workbook_content Retrieves bounded cell data, formulas, and table contents from ranges or worksheets you specify.
append_rows Appends one or more rows of data to an existing worksheet or Excel Table.
update_range_values Updates values or formulas in a range or Excel Table you specify.
batch_update Applies multiple workbook updates as a single atomic change.
add_worksheet Adds a new worksheet (tab) to an existing workbook.
rename_worksheet Renames an existing worksheet (tab) in a workbook.
delete_worksheet Deletes an existing worksheet (tab) from a workbook.

# Install the Excel MCP server

Complete the following steps to install a prebuilt MCP server to your project:

1

Sign in to your Workato account.

2

Go to AI Hub > MCP servers.

3

Click + Create MCP server.

4

Go to the Start with pre-built MCP Servers using your connected apps section and select the prebuilt MCP server you plan to use.

5

Click Use this server.

6

Provide a name for your MCP server in the Server name field.

7

Use the Location drop-down menu to select the project for the MCP server.

8

Go to the Connections section and connect to your app account.

9

Select the connection type you plan to use for the MCP server template.

  • User's connection: MCP server tools perform actions based on the identity and permissions of the user who connects to the application. Users authenticate with their own credentials to execute the skill.
  • Your connection: This option uses the connection established by the recipe builder and follows the same principles as normal app connections.

Select your connection typeSelect your connection type

VERIFIED USER ACCESS AUTHENTICATION REQUIREMENTS

Only app connections that use OAuth 2.0 authorization code grant are available for user's connection. Refer to Verified user access for more information.

10

Complete the app-specific connection setup steps in the following section.

# Excel connection setup

View Excel connection setup steps

Workato supports the following types of connections to Excel:

View Microsoft MFA enforcement steps

MICROSOFT MFA ENFORCEMENT

Microsoft is rolling out mandatory multi-factor authentication (MFA) (opens new window) gradually to different applications and accounts in phases. This enforcement will continue throughout 2025 and beyond.

We strongly recommend enabling MFA now for all Microsoft accounts used with Workato to avoid service disruptions from short-notice enforcement changes.

Complete the following steps to maintain uninterrupted service:

1

Enable MFA for your Microsoft organization following Microsoft's MFA setup guide (opens new window).

2

Reconnect your Microsoft connection in Workato.

3

Complete the OAuth flow with MFA when prompted.

4

Test your recipes to ensure they work with the updated connection.

# Authorization code grant authentication (OAuth 2.0)

This authentication method requires the following value for tenant-specific account types:

  • Tenant ID/Domain
View Authorization code grant authentication steps

# Register the Workato App in Azure portal

Complete the following steps to register the Workato app and assign permissions for authorization code grant connections:

View Register the Workato App in Azure portal steps
1
Register the Workato app in the Azure Portal
2

Select App registrations > + New registration, under Azure services.

Add an app registration

3

Enter a unique name for the application and select a Supported account type.

4

Select Web from the Select a platform drop-down menu.

5

Use the following URI for the Redirect URI:

https://www.workato.com/oauth/callback

6

Select Register.

Register appRegister an app

2
Assign permissions to your app
1

In the navigation sidebar, select Manage > API permissions.

2

Click + Add a permission and select Microsoft Graph APIs.

Add permissionsAdd permissions

3

Add the required permissions as outlined in the Permissions required to connect section. Depending on your connection type, you must assign Application or Delegated permissions.

Add permissionsAdd permissions

4

Click Add permissions.

Admin consent is required for specific permissions. Refer to the Granting admin consent section to learn more.

3
Obtain the Directory (tenant ID) from the Azure portal
1

Go to the Overview > Essentials section.

App detailsApp details

2

Copy the Directory (tenant) ID for use in Workato.

# Complete authorization code grant setup in Workato

View Complete setup in Workato steps

Complete the following steps to finish the connection set up in Workato:

1

Click Create > Connection.

2

Search for and select Excel as your connection in the New connection page.

3

Provide a name for your connection in the Connection name field.

4

Use the Location drop-down menu to select the project where you plan to store the connection.

5

Use the Connection account type drop-down menu to select the type of account you plan to use. The available choices are Common and Tenant-specific.

6

Select Authorization code grant as the Authentication type.

7

Optional. By default, the connector requests a set of scopes necessary for all triggers and actions to function properly. In the Advanced settings section, you can manually select the permissions instead. The minimum permissions required to establish a connection are Files.Read and offline_access. Workato always requests these permissions regardless of the permissions you select. Refer to the permissions section for more information.

8

Optional. Use the Custom OAuth profile drop-down menu to select a custom OAuth profile for your connection.

9

Click Sign in with Microsoft.

# Authorization code grant permissions

View Authorization code grant permissions

The Excel connector requests the following scopes for authorization code grant connections by default. These scopes are necessary to use all of this connector's triggers and actions. Additionally, you must assign these permissions to the Workato app as Delegated permissions in the Azure portal.

Permission Description Relevant action or trigger
Files.Read Allows the app to read the signed-in user's files. Get cells, Get rows, List tables, List worksheets and Search workbooks
Files.ReadWrite Allows the app to read and write to the signed-in user's files. All actions in Files.Read and Add a table, Add a worksheet, Add rows in batch, Delete row and Update row.
Group.Read.All Allows the app to read files for all groups the signed-in user can access. Get cells, Get rows, List tables, List worksheets and Search workbooks
Sites.Read.All Allows the app to read documents in all SharePoint site collections on behalf of the signed-in user. Get cells, Get rows, List tables, List worksheets and Search workbooks
Sites.ReadWrite.All Allows the app to read and write to documents in all SharePoint site collections on behalf of the signed-in user. On the consent page, this scope appears as the Maintain access to data you have given it access to permission. All actions in Sites.Read.All and Add a table, Add a worksheet, Add rows in batch, Delete row, and Update row. This permission is recommended for all actions to preserve the connection's validity.
User.Read Allows the app to sign-in and read the profile of signed-in users. This permission is recommended for all actions.
offline_access Allows the app to access Microsoft Graph data after the user has signed out or the session has expired. This permission is required to establish a connection.
# Minimum scopes for authorization code grant connections
View Minimum scopes for authorization code grant connections

The following minimum scopes are required to establish a connection to Excel using authorization code grant authentication:

  • Files.Read
  • offline_access

# Client credentials-based authentication (OAuth 2.0)

Client credentials-based authentication requires the following fields:

  • Tenant ID/Domain
  • User ID
  • Client ID
  • Client Secret

COMPATIBLE AUTHENTICATION

Client credentials-based authentication is only compatible with tenant-specific connections.

View Client credentials-based authentication steps

# Register the Workato App in the Azure Portal

View Register the Workato App in Azure portal steps

Complete the following steps to register the Workato app and assign permissions for client credentials-based connections:

1
Register the Workato App in the Azure Portal
2

Select App registrations > + New registration, under Azure services.

Add an app registration

3

Enter a unique name for the application and select a Supported account type.

4

Select Web from the Select a platform drop-down menu.

5

Use the following URI for the Redirect URI:

https://www.workato.com/oauth/callback

6

Select Register.

Register appRegister an app

2
Assign permissions to your app
1

In the navigation sidebar, select Manage > API permissions.

2

Click + Add a permission and select Microsoft Graph APIs.

Add permissionsAdd permissions

3

Add the required permissions as outlined in the Permissions required to connect section. Depending on your connection type, you must assign Application or Delegated permissions.

Add permissionsAdd permissions

4

Click Add permissions.

Admin consent is required for specific permissions. Refer to the Granting admin consent section to learn more.

3
Generate a client secret
1

Go to Manage > Certificates & Secrets > Client secrets.

2

Click + New client secret.

3

Provide a Description for the client secret and specify an expiry date.

4

Click Add.

5

Copy and save the client secret Value—not the Secret ID—for use in Workato.

Copy and save the client secret valueCopy and save the client secret value

4
Obtain the Application (client) ID, Object ID, and Directory (tenant) ID from the Azure Portal
1

Go to the Overview > Essentials section.

App detailsApp details

2

Copy the Application (client) ID, Object ID, and Directory (tenant) ID for use in Workato.

5
Obtain the User ID from the Azure Portal
1

Go to Home > Users to obtain the User ID.

UsersSelect users

2

Search for and select the default user you plan to use to perform operations. This user does not establish the connection but is required for performing certain operations that an app can't perform. It is also required in picklists to pull user data. For example the folder picklist populates folders belonging to the default user.

3

Copy the User principal name. Use this value as the User ID in Workato.

# Complete client credential authentication setup in Workato

View Complete setup in Workato steps

Complete the following steps to set up your client credentials connection in Workato:

1

Click Create > Connection.

2

Search for and select Excel as your connection in the New connection page.

3

Provide a name for your connection in the Connection name field.

4

Use the Location drop-down menu to select the project where you plan to store the connection.

5

Select Tenant specific as the Connection account type. This option is specifically designed for users who belong to a particular organization (tenant).

Tenant specific connection typeTenant specific account connection type

6

Provide your Tenant ID/Domain. This is the Directory (tenant) ID for your app. Refer to the Register an app in Azure section to learn how to obtain this value.

7

Select Client credentials as the Authentication type.

8

Supply the User ID, Client ID, and Client secret for your app. Refer to the Register an app in Azure section to learn how to obtain these values.

9

Optional. Use the Custom OAuth profile drop-down menu to select a custom OAuth profile for your connection.

10

Click Sign in with Microsoft.

# Client credential permissions

View Client credential permissions

The Excel connector requests the following scopes for client credentials connections by default. These scopes are necessary to use all of this connector's triggers and actions. Additionally, you must assign these permissions to the Workato app as Application permissions in the Azure portal.

Permission Description Relevant action or trigger
Files.Read.All Allows the app to read the signed-in user's files. Get cells, Get rows, List tables, List worksheets, and Search workbooks
Files.ReadWrite.All Allows the app to read and write to the signed-in user's files. All actions in Files.Read and Add a table, Add a worksheet, Add rows in batch, Delete row, and Update row.
Sites.Read.All Allows the app to read documents in all SharePoint site collections on behalf of the signed-in user. Get cells, Get rows, List tables, List worksheets, and Search workbooks
Sites.ReadWrite.All Allows the app to read and write to documents in all SharePoint site collections on behalf of the signed-in user. On the consent page, this scope appears as the Maintain access to data you have given it access to permission. All actions in Sites.Read.All and Add a table, Add a worksheet, Add rows in batch, Delete row, and Update row. This permission is recommended for all actions to preserve the connection's validity.
User.Read.All Allows the app to sign-in and read the profile of signed-in users. This permission is recommended for all actions.
# Minimum scopes for client credential connections
View Minimum scopes for client credential connections

The following minimum scopes are required to establish a connection to Excel using client credentials-based authentication:

  • Files.Read.All
  • User.Read.All

# Project property configuration

The Excel MCP server supports the following project-level properties to control behavior and defaults:

Project-level property Description
DEFAULT_RANGE_COLUMNS Applies per worksheet when no ranges are explicitly provided. Defaults to A:Z (26 columns) per worksheet.
DEFAULT_RANGE_ROWS Combines with DEFAULT_RANGE_COLUMNS. The default retrieval scope is A1:Z200 on the first visible worksheet by tab order. Defaults to 200 rows.
DEFAULT_MAX_CELLS Applies when the max_cells parameter is omitted. Defaults to 20,000 cells.
HARD_MAX_CELLS Absolute upper bound enforced regardless of requested parameters. Defaults to 100,000 cells.
MAX_RANGES_PER_CALL Maximum distinct ranges per call. Named ranges and Excel table names each count as one range toward this limit. Defaults to 20.
MAX_OPERATIONS_PER_BATCH Maximum operations in a single batch_update call. Defaults to 10.
View project-level property configuration steps

Complete the following steps to configure your project-level properties:

1

Sign in to your Workato account and go to Projects.

2

Go to the project that contains your MCP server.

3

Click the Settings tab.

Click the Settings tabClick the Settings tab.

4

Select Project properties.

5

Go to the project property you plan to update and click the Edit (pencil) icon.

Click the Edit (pencil) iconClick the Edit (pencil) icon.

6

Go to the Value field and make your changes. For example, set MAX_RANGES_PER_CALL to 15 or MAX_OPERATIONS_PER_BATCH to 5.

# How to use Excel MCP server tools

Refer to the following sections for detailed information on available tools:

# get_workbook_info tool

The get_workbook_info tool retrieves worksheet names, named ranges, Excel Table definitions, and session metadata for a workbook. Your LLM uses this tool to find worksheet names or identifiers, the current session_id before any write action, information about named ranges or Excel Tables, or confirmation of structure before planning updates.

Try asking:

  • What worksheets are in my Sales Tracker workbook?
  • Show me the structure of the Q4 Planning workbook.
  • What Excel Tables exist in this workbook?
  • Get the session ID for my Pipeline tracker.

# get_workbook_content tool

The get_workbook_content tool retrieves bounded cell data, formulas, and table contents from ranges or worksheets you specify. Your LLM uses this tool to read values or formulas, understand workbook contents, retrieve tables or ranges for analysis, or get current values before an update.

Try asking:

  • Read the data from the Q1 Revenue sheet.
  • Show me the values in cells A1 through E10.
  • Get the contents of the Pipeline table.
  • What's in the Sales worksheet?

# append_rows tool

The append_rows tool appends one or more rows of data to an existing worksheet or Excel Table. Your LLM uses this tool to add new entries to a tracker or table, log operational records over time, or reserve empty rows before population.

Try asking:

  • Add these three deals to my Pipeline tracker.
  • Append today's sales data to the Revenue sheet.
  • Log these customer records in the CRM table.
  • Add a new row to the expense tracker with Date: 1/15/2026, Amount: $250.

# update_range_values tool

The update_range_values tool updates values or formulas in a range or Excel Table you specify. Your LLM uses this tool to update specific values, correct or replace values in a range, write or update formulas, or populate previously appended empty rows.

Try asking:

  • Update the status column to 'Closed Won' for the Acme Corp row.
  • Change the Q4 forecast in cell B12 to $450,000.
  • Set the priority to 'High' for rows 5 through 8.
  • Update the formula in cell D2 to calculate the total.

# batch_update tool

The batch_update tool applies multiple workbook updates as a single atomic change. Your LLM uses this tool only when atomicity matters, such as appending rows and populating formulas where partial application would leave the workbook inconsistent, or creating a worksheet and initializing it with headers and values as one change.

Try asking:

  • Create a new January 2026 tab and add headers in one update.
  • Append these entries and update the summary totals together.
  • Add rows and calculate their totals in a single atomic change.
  • Initialize the new sheet with headers and formulas at once.

# add_worksheet tool

The add_worksheet tool adds a new worksheet (tab) to an existing workbook. Your LLM uses this tool to create a new tab or add a worksheet for a new reporting period or tracking category.

Try asking:

  • Add a new tab called 'January 2026' to my monthly tracker.
  • Create a new worksheet named 'Archive'.
  • Add a 'Completed Tasks' tab to the project tracker.
  • Insert a new sheet for Q2 metrics.

# rename_worksheet tool

The rename_worksheet tool renames an existing worksheet (tab) in a workbook. Your LLM uses this tool to rename a tab or standardize worksheet naming.

Try asking:

  • Rename Sheet1 to 'Sales Pipeline'.
  • Change the 'January' tab name to 'January 2026'.
  • Rename the 'Temp' sheet to 'Archive'.
  • Update the sheet name from 'Data' to 'Q1 Revenue'.

# delete_worksheet tool

The delete_worksheet tool deletes an existing worksheet (tab) from a workbook. Your LLM uses this tool to delete a worksheet.

Try asking:

  • Delete the 'Archive' tab from my tracker.
  • Remove the 'Old Data' sheet from the workbook.
  • Delete Sheet2 since we don't need it anymore.
  • Remove the 'Scratch' worksheet.

# Getting started

View and manage your MCP server tools in the Overview page Tools section. Tool management provides the following capabilities:

TOOLS MUST BE STARTED

Your LLM can only access active tools in your MCP server connector.


Last updated: 4/22/2026, 6:49:56 PM