# Excel — MCP server on mcp.ai > Microsoft Excel is a powerful spreadsheet application for data analysis, calculations, and visualization, enabling users to organize and process data with formulas, charts, and pivot tables By: mcp.ai · official Page: https://mcp.ai/excel ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_excel?ms=1781542320000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/excel/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/excel/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/excel/skill.md Postman collection (v2.1): https://mcp.ai/excel/postman.json ## Tools - excel_add_chart(type: string, item_id: string, seriesby: string, worksheet: string, session_id?: string, sourcedata: string) — Add a chart to a worksheet using microsoft graph api. - excel_add_sharepoint_worksheet(name: string, item_id: string, site_id: string, session_id?: string) — Add a new worksheet to a sharepoint excel workbook using microsoft graph sites api. - excel_add_table(name: string, style: string, item_id: string, table_id: string, hasHeaders: boolean, session_id?: string, showTotals: boolean) — Create a table in a workbook using microsoft graph api. - excel_add_table_column(index: integer, values: array[], item_id: string, table_id: string, session_id?: string) — Add a column to a table using microsoft graph api. - excel_add_table_row(index?: integer, values: array[], item_id: string, table_id: string, session_id?: string) — Add a row to a table using microsoft graph api. - excel_add_workbook_permission(roles: string[], item_id: string, message?: string, password?: string, recipients: object[], requireSignIn?: boolean, sendInvitation?: boolean, expirationDateTime?: string, retainInheritedPermissions?: boolean) — Tool to grant access to a workbook via invite. use when you need to share a specific workbook file with designated recipients and roles. - excel_add_worksheet(name: string, item_id: string, session_id?: string) — Add a new worksheet to an excel workbook using microsoft graph api. - excel_apply_table_filter(item_id: string, criteria: object, table_id: string, column_id: string, worksheet: string, session_id?: string) — Apply a filter to a table column using microsoft graph api. - excel_apply_table_sort(fields: object[], item_id: string, table_id: string, worksheet: string, session_id?: string) — Apply a sort to a table using microsoft graph api. - excel_clear_range(address: string, applyTo?: string, item_id: string, session_id?: string, worksheet_id: string) — Tool to clear values, formats, or contents in a specified worksheet range. use when you need to reset cells before adding new data. - excel_clear_table_filter(item_id: string, table_id: string, column_id: string, worksheet: string, session_id?: string) — Clear a filter from a table column using microsoft graph api. - excel_close_session(item_id: string, session_id: string) — Tool to close an existing excel workbook session. use when you need to explicitly end a persistent session to release workbook locks. - excel_convert_table_to_range(item_id: string, table_id: string, session_id?: string) — Convert a table to a range using microsoft graph api. - excel_create_workbook(path: string, content: string, drive_id?: string) — Tool to create a new workbook file at a specified drive path. use when uploading a new .xlsx file to onedrive. - excel_delete_table_column(item_id: string, table_id: string, column_id: string, session_id?: string) — Delete a column from a table using microsoft graph api. - excel_delete_table_row(item_id: string, table_id: string, row_index: integer, session_id?: string) — Delete a row from a table using microsoft graph api. - excel_delete_worksheet(item_id: string, worksheet: string, session_id?: string) — Tool to delete a worksheet from the workbook. use when cleaning up unused or temporary sheets after verifying no dependencies exist. example: "delete 'sheet2' after review." - excel_get_chart_axis(expand?: string, select?: string, item_id: string, axis_type: string, worksheet: string, chart_name: string, session_id?: string) — Tool to retrieve a specific axis from a chart. use when you need properties like min, max, interval, and formatting of the chart axis. - excel_get_chart_data_labels(item_id: string, chart_id: string, session_id?: string, worksheet_id: string) — Tool to retrieve the data labels object of a chart. use when you need to inspect label settings like position, separator, and visibility flags after creating or updating a chart. - excel_get_chart_legend(expand?: string, select?: string, item_id: string, chart_name: string, session_id?: string, worksheet_id: string) — Tool to retrieve the legend object of a chart. use after creating or updating a chart when you need to inspect legend visibility and formatting. - excel_get_range(address: string, item_id: string, session_id?: string, worksheet_id: string) — Get a range from a worksheet using microsoft graph api. - excel_get_session(item_id: string, persist_changes?: boolean) — Create a session for an excel workbook using microsoft graph api. - excel_get_sharepoint_range(address: string, item_id: string, site_id: string, session_id?: string, worksheet_id: string) — Get a range from a worksheet in sharepoint using microsoft graph sites api. - excel_get_sharepoint_worksheet(item_id: string, site_id: string, worksheet: string, session_id?: string) — Get a worksheet by name or id from a sharepoint excel workbook using microsoft graph sites api. - excel_get_table_column(item_id: string, table_id: string, column_id: string, session_id?: string) — Tool to retrieve a specific column from a workbook table. use when you need to fetch column properties and data by its id or name. - excel_get_workbook(expand?: string[], item_id: string, drive_id: string, session_id?: string) — Tool to retrieve the properties and relationships of a workbook. use when you need to inspect comments, names, tables, or worksheets. - excel_get_worksheet(item_id: string, worksheet: string, session_id?: string) — Get a worksheet by name or id from an excel workbook using microsoft graph api. - excel_insert_range(shift: string, address: string, item_id: string, session_id?: string, worksheet_id: string) — Tool to insert a new cell range into a worksheet, shifting existing cells down or right. use when you need to create space for new content without overwriting. - excel_list_chart_series(item_id: string, worksheet: string, chart_name: string, session_id?: string) — Tool to list all data series in a chart. use when you need to enumerate chart series for further analysis. - excel_list_charts(item_id: string, worksheet: string, session_id?: string) — List charts in a worksheet using microsoft graph api. - excel_list_comments(item_id: string, session_id?: string) — Tool to list comments in an excel workbook. use when you need to retrieve all workbook comments via microsoft graph api. - excel_list_files(path?: string, drive_id?: string) — List files and folders in a drive root or specified path. - excel_list_named_items(item_id: string, session_id?: string) — List named items in a workbook using microsoft graph api. - excel_list_sharepoint_tables(item_id: string, site_id: string, worksheet: string, session_id?: string) — List tables in a sharepoint worksheet using microsoft graph sites api. - excel_list_sharepoint_worksheets(item_id: string, site_id: string, session_id?: string) — List worksheets in an excel workbook stored in sharepoint using microsoft graph sites api. - excel_list_table_columns(item_id: string, table_id: string, session_id?: string) — List columns in a table using microsoft graph api. - excel_list_table_rows(item_id: string, table_id: string, session_id?: string) — List rows in a table using microsoft graph api. - excel_list_tables(item_id: string, worksheet: string, session_id?: string) — List tables in a worksheet using microsoft graph api. - excel_list_workbook_permissions($top?: integer, $skip?: integer, $expand?: string, $select?: string, item_id: string, drive_id: string) — Tool to list permissions set on the workbook file. use when you need to see which users or links have access to a specific excel file by supplying its drive and item ids. example: "list permissions fo - excel_list_worksheets(item_id: string, session_id?: string) — List worksheets in an excel workbook using microsoft graph api. - excel_merge_cells(range: string, across?: boolean, item_id: string, worksheet: string, session_id?: string) — Merge cells in a worksheet range using microsoft graph api. - excel_protect_worksheet(item_id: string, options?: object, worksheet: string, session_id?: string) — Tool to protect a worksheet using optional protection options. use when you need to prevent editing certain parts of a sheet before sharing. example: "protect 'sheet1' to lock formatting and sorting." - excel_sort_range(fields: object[], item_id: string, worksheet: string, range_type: string, session_id?: string) — Sort a range in a worksheet using microsoft graph api. - excel_update_chart(top?: number, left?: number, name?: string, width?: number, height?: number, item_id: string, chart_id: string, worksheet: string, session_id?: string) — Update a chart in a worksheet using microsoft graph api. - excel_update_chart_legend(item_id: string, overlay?: boolean, visible?: boolean, chart_id: string, position?: string, worksheet: string, session_id?: string) — Tool to update formatting or position of a chart legend. use when adjusting legend settings after confirming chart and worksheet exist. - excel_update_range(values: array[], address: string, item_id: string, session_id?: string, worksheet_id: string) — Update a range in a worksheet using microsoft graph api. - excel_update_sharepoint_range(values: array[], address: string, item_id: string, site_id: string, session_id?: string, worksheet_id: string) — Update a range in a sharepoint worksheet using microsoft graph sites api. - excel_update_table(name?: string, style?: string, item_id: string, table_id: string, session_id?: string, showTotals?: boolean, showHeaders?: boolean) — Update a table in a workbook using microsoft graph api. - excel_update_worksheet(name?: string, item_id: string, position?: integer, worksheet: string, session_id?: string) — Update worksheet properties (name, position) in an excel workbook using microsoft graph api. ## Links Docs: https://mcp.ai/docs/mcps/excel Website: https://mcp.ai/mcps/excel