MCP Excel Online
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Excel Onlinelist sheets in SalesReport.xlsx"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Excel Online
An MCP (Model Context Protocol) server that integrates with your OneDrive and Excel Workbooks, to enable creating and modifying work sheets using the Microsoft Graph API.
🚀 Quick Start (Using uvx)
Essentially the server runs in one line: uvx mcp-excel-online@latest.
This command will automatically download the latest code and run it. It is recommended to always use @latest to ensure you have the newest version with the latest features and bug fixes.
☁️ Prerequisite: Azure App Registration
You must configure an Azure Entra ID (Azure AD) app registration and grant the necessary Microsoft Graph API permissions first.
➡️ Jump to the Azure App Registration guide below.
Install
uv🔑 Set Essential Environment Variables
You need to tell the server how to authenticate. Set these variables in your terminal:
(Linux/macOS)
export APP_CLIENT_ID="your-client-id" export APP_TENANT_ID="your-tenant-id" # required for application permissions export APP_CLIENT_SECRET="your-client-secret" # required for application permissions export DRIVE_ID="your-drive-id"(Windows CMD)
set APP_CLIENT_ID="your-client-id" set APP_TENANT_ID="your-tenant-id" set APP_CLIENT_SECRET="your-client-secret" set DRIVE_ID="your-drive-id"(Windows PowerShell)
$env:APP_CLIENT_ID = "your-client-id" $env:APP_TENANT_ID = "your-tenant-id" $env:APP_CLIENT_SECRET = "your-client-secret" $env:DRIVE_ID = "your-drive-id"➡️ See Environment Variables for the full list of options.
🏃 Run the Server!
uvxwill automatically download and run the latest version ofmcp-excel-online:uvx mcp-excel-online@latestThe server will start and print logs indicating it's ready.
💡 Pro Tip: Always use
@latestto ensure you get the newest version with bug fixes and features. Without@latest,uvxmay use a cached older version.🔌 Connect your MCP Client
Configure your client (e.g., Claude Desktop) to connect to the running server.
Depending on the client you use, you might not need step 4 because the client can launch the server for you. But it's a good practice to test run step 4 anyway to make sure things are set up properly.
⚡ Optional: Enable Tool Filtering (Reduce Context Usage)
By default, all tools are enabled. To reduce context usage, enable only the tools you need.
➡️ See Available tool names for
--include-toolsfor details.
Set up is complete, you can now start issuing commands via your MCP client.
Related MCP server: MCP Excel Server
📖 Table of Contents
Features
Resources
Resource | Description |
| List all items at the root of the configured OneDrive |
| List items in a folder by path |
Tools
Tool | Description |
List Sheets | List all worksheets in a workbook |
Create Worksheet | Add a new worksheet to a workbook |
Rename Worksheet | Rename an existing worksheet |
Delete Worksheet | Delete a worksheet from a workbook |
Copy Worksheet | Copy a worksheet from one workbook to another |
Get Worksheet Data | Read cell values from a worksheet (full sheet or a range) |
Get Worksheet Formulas | Read formulas from a worksheet (full sheet or a range) |
Update Worksheet Data | Write values to a cell range in a worksheet |
Prerequisites
Python 3.13+
uv(for local development)Docker (for containerised deployment)
A Microsoft Azure account with an Entra ID (Azure AD) app registration
Azure App Registration
Register your application by following the steps at Register your app with the Microsoft Identity Platform.
Permission Types
Application permissions are used when you don't need a user to log in to your app. The app performs tasks on its own and runs in the background using a client secret (service principal flow).
Required: APP_CLIENT_ID, APP_TENANT_ID, APP_CLIENT_SECRET
Delegated permissions (scopes) are used when your app requires a user to log in and interact with data related to that user in a session. Authentication is performed via the device code flow — the server will print a URL and a code to the console.
Required: APP_CLIENT_ID only
Environment Variables
Variable | Required | Description |
| Always | The Application (client) ID of your Azure app registration |
| Application permissions only | The Directory (tenant) ID of your Azure tenant |
| Application permissions only | A client secret generated for your app registration |
| Required | OneDrive Drive ID to use as the default drive |
| Optional | Host address the server binds to (default: |
| Optional | Port the server listens on (default: |
Create a .env file in the project root for local development:
APP_CLIENT_ID=your-client-id
APP_TENANT_ID=your-tenant-id # required for application permissions
APP_CLIENT_SECRET=your-client-secret # required for application permissions
DRIVE_ID=your-drive-idArguments
Argument | Options | Default | Description |
|
|
| MCP transport protocol to use |
|
|
| Microsoft Graph permission type (see above) |
| Comma-separated tool names | (all) | Only register the specified tools. If omitted, all tools are enabled (see below) |
Available tool names for --include-tools
Tool name | Description |
| List all worksheets in a workbook |
| Add a new worksheet to a workbook |
| Rename an existing worksheet |
| Delete a worksheet from a workbook |
| Copy a worksheet from one workbook to another |
| Read cell values from a worksheet (full sheet or a range) |
| Read formulas from a worksheet (full sheet or a range) |
| Write values to a cell range in a worksheet |
Example — expose only read-only tools:
uv run mcp-excel-online --include-tools list_sheets,get_worksheet_data,get_worksheet_formulasRunning Locally with uv
1. Clone the repository
git clone https://github.com/GokulSudheesh/mcp-excel-online.git
cd mcp-excel-online2. Create your .env file with the required environment variables (see above)
3. Start the server
# SSE transport with delegated permissions (device code login)
uv run mcp-excel-online --transport sse --graph-permission delegated
# stdio transport with application permissions (service principal)
uv run mcp-excel-online --transport stdio --graph-permission application
# streamable-http transport
uv run mcp-excel-online --transport streamable-http
# Only enable specific tools
uv run mcp-excel-online --include-tools list_sheets,get_worksheet_data,get_worksheet_formulasRunning with Docker
1. Building the image locally
docker build -t mcp-excel-online .OR Pulling the image from Docker Hub
docker pull batmansroomie/mcp-excel-online:main2. Run the container
docker run --rm -p 8000:8000 \
-e APP_CLIENT_ID=your-client-id \
-e DRIVE_ID=your-drive-id \
mcp-excel-onlineYou can also pass a .env file:
docker run --rm -p 8000:8000 --env-file .env mcp-excel-onlineThe server is accessible at http://localhost:8000/sse (SSE transport).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GokulSudheesh/mcp-excel-online'
If you have feedback or need assistance with the MCP directory API, please join our Discord server