Skip to main content
Glama
Aspose.Cells Cloud MCP Server

Aspose.Cells Cloud MCP Server

Official

Aspose.Cells Cloud MCP Server

Python Version License

Overview

Aspose.Cells Cloud MCP Server is a Model Context Protocol (MCP) server built with FastMCP on top of the Aspose.Cells Cloud SDK for Python. It exposes spreadsheet automation — file conversion, structure inspection, text cleaning/editing — as MCP tools that any MCP-compatible client (Claude Desktop, Cline, custom agents, …) can call.

https://api.aspose.cloud/cells/mcp

Related MCP server: mcp-excel

Features

  • Upload / download workbooks to Aspose Cloud Storage (Base64 <-> file_uuid).

  • Inspect the full structure of a workbook as JSON (metadata, worksheets, tables with column formulas, pivot tables, charts, shape coordinates).

  • Convert workbooks to PDF, CSV, JSON, HTML, XPS, ODS, images, … — either from cloud storage or directly from a Base64 payload.

  • Save-as with print-scaling modes and/or arbitrary JSON save options.

  • Clean & edit cell text in place: trim, remove characters by type/position/pattern, add text, fix line breaks, change word case, convert numbers to text.

Requirements

  • Python 3.11+

  • Aspose.Cells Cloud SDK for Python. This library is a commercial product.
    You'll need to obtain a valid license for Aspose.Cells Cloud. The package will install this dependency, but you're responsible for complying with Aspose's licensing terms.

Installation

pip install aspose-cells-cloud-mcp

From source (download repo and install requirements):

git clone https://github.com/aspose-cells-cloud/Aspose.Cells-Cloud-MCP-Server
cd Aspose.Cells-Cloud-MCP-Server
pip install -r requirements.txt

Command Line Interface

After installation, the CLI command is available:

aspose-cells-cloud-mcp

By default, the server runs with the stdio transport.

Run without installation:

python .\mcp_server.py

Transports and Configuration

The transport is chosen with MCP_TRANSPORT (stdio | streamable-http | sse), falling back to the TRANSPORT variable and then stdio. HTTP transports listen for MCP clients; the same process also serves two plain HTTP endpoints, /health and /version.

Environment variable

Default

Meaning

MCP_TRANSPORT

stdio

Transport: stdio, streamable-http, sse

MCP_HOST

0.0.0.0

Bind address for HTTP transports

MCP_PORT

8080

Port for HTTP transports

MCP_PATH

/mcp

Path for streamable-http

MCP_SSE_PATH

/sse

Events path for sse

LOG_LEVEL

INFO

Logging verbosity

MCP_STATE_DIR

(platform data dir)

Directory for the local state DB (registry.db). Set this to a writable volume in containers.

MCP_FILE_TTL_HOURS

(unset → never)

Optional hours-after-registration (not last use) before a stored file_uuid stops resolving. Expires the local handle only — it does not delete the cloud file (see below).

MCP_CLOUD_TIMEOUT_SECONDS

300

Upper bound (seconds) for each Aspose Cloud HTTP call made by the SDK. The SDK otherwise sets no timeout, so a stalled or unreachable backend would hang a tool forever; set 0 to disable the bound.

How to run Aspose Cells Cloud MCP Server in Docker Container

Build Docker Image


docker build -t aspose-cells-cloud-mcp-server:26.4.0 .

Run Docker Image


 docker run -itdp 28080:8080  -e MCP_TRANSPORT="streamable-http" -e ASPOSE_CLOUD_CLIENT_ID="yourt-aspose-cloud-client_id" -e ASPOSE_CLOUD_CLIENT_SECRET="your-aspose-cloud-client-secret" -e MCP_STATE_DIR="C:\state" --isolation hyperv  --name my-aspose-cells-cloud-mcp-instance  aspose-cells-cloud-mcp-server:26.9.0

Aspose.Cells Cloud License

This project is licensed under the MIT License. See LICENSE for details.

The Aspose.Cells Cloud API itself requires a separate subscription � a free tier is available at aspose.cloud.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Use of third-party trademarks or logos is subject to those third-party policies.

Available Tools

37 tools
add_text_after_textAdd Text After TextA

Adds specified text immediately after a target delimiter/selector text within each text cell in a worksheet range using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: text (required), file_uuid (required), select_text (required), _range, +1 more. Returns: result

add_text_at_headAdd Text At HeadB

Adds specified text to the beginning (head) of each text cell within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: text (required), file_uuid (required), _range, worksheet. Returns: result

add_text_at_tailAdd Text At TailC

Adds specified text to the end(tail) of each text cell within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: text (required), file_uuid (required), _range, worksheet. Returns: result

add_text_before_textAdd Text Before TextA

Adds specified text immediately before a target delimiter/selector text within each text cell in a worksheet range using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: text (required), file_uuid (required), select_text (required), _range, +1 more. Returns: result

convert_excelConvert ExcelB

Convert Excel content (provided as a Base64 string) to a specified format such as PDF, CSV, HTML, or XPS.

Inputs: format (required), spreadsheet_b64string (required).

convert_excel_to_csvConvert Excel To CsvA

Convert Excel content (provided as a Base64 string) to CSV format.

Inputs: spreadsheet_b64string (required).

convert_excel_to_jsonConvert Excel To JsonB

Convert Excel content (provided as a Base64 string) to JSON format

Inputs: spreadsheet_b64string (required).

convert_excel_to_pdfConvert Excel To PdfC

Convert an Excel file to PDF. Input must be provided as a Base64 encoded string.

Inputs: spreadsheet_b64string (required).

convert_line_break_to_textConvert Line Break To TextB

Replaces all line break characters (\n, \r\n, \r) within text cells with a specified replacement text string in a worksheet range using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: file_uuid (required), target_text (required), _range, worksheet. Returns: result

convert_number_to_textConvert Number To TextA

Converts numeric values (integers, decimals, percentages, currencies, dates, times) to text strings within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Preserves formatting and converts to user-readable text representation. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, worksheet. Returns: result

convert_ods_to_pdfConvert Ods To PdfA

Convert a ODS file to PDF. Input must be provided as a Base64 encoded string.

Inputs: ods_b64string (required).

convert_spreadsheetConvert SpreadsheetC

Convert Spreadsheet content (provided as a Base64 string) to a specified format such as PDF, CSV, HTML, or XPS.

Inputs: format (required), spreadsheet_b64string (required).

download_fileDownload FileA

Download the file identified by the given file_uuid and return its contents as a Base64-encoded string.

Inputs: file_uuid (required).

get_spreadsheet_structureGet Spreadsheet StructureA

Extract the full structure of a spreadsheet (provided as a Base64 string) as a JSON document: workbook metadata, worksheets, tables (with column formulas), pivot tables, charts, and shape coordinates. Call this to inspect a workbook before editing or converting. Redundant empty nodes are omitted.

Inputs: spreadsheet_b64string (required). Returns: result

get_structure_with_file_uuidGet Structure With File UuidA

Extract the full structure of a spreadsheet stored in Aspose Cloud Storage as a JSON document: workbook metadata, worksheets, tables (with column formulas), pivot tables, charts, and shape coordinates. Call this to inspect a workbook before editing or converting. Redundant empty nodes are omitted.

Inputs: file_uuid (required). Returns: result

list_supported_load_formatsList Supported Load FormatsA

Get Supported File Load/Import Formats

Use this tool to query the list of all source file formats that Aspose.Cells can read (load). Call this tool when a user wants to upload or process a non-standard Excel file (e.g., .csv, .json, .xml, .ods, .txt) and you need to verify if the system can parse it.

Returns:

  • Format Name: The name of the format (e.g., CSV, JSON, XML, ODS, XLSX, XLS, TXT, HTML).

  • Extension: The file suffix (e.g., .csv, .json).

  • Description: Characteristics of loading this format (e.g., 'Data only, no formatting', 'Requires specific parser', 'Preserves formulas').

Usage Guidelines:

  1. Before calling upload_file, if the user is uploading a file with an extension other than .xlsx or .xls, use this tool to confirm the format is recognizable.

  2. If a user asks 'Can you handle CSV files?', check this list and provide a confirmation.

  3. Distinguish between 'Load Formats' (Input) and 'Save Formats' (Output). Some formats may support reading but not writing (or vice versa).

Inputs: no named parameters.

list_supported_save_formatsList Supported Save FormatsA

Get Supported File Save/Export Formats

Use this tool to query the list of all file formats supported by Aspose.Cells for conversion. Call this tool when a user asks to convert an Excel file to another format (e.g., 'convert to PDF', 'save as image', 'export to JSON') and you need to verify the correct file extension or availability.

Returns:

  • Format Name: The name of the format (e.g., PDF, HTML, CSV, JSON, XLSX, ODS, TXT, SVG).

  • Extension: The file suffix (e.g., .pdf, .html).

  • Description: A brief explanation of the format's use case (e.g., 'Suitable for printing', 'Web display', 'Programmatic access').

💡 Usage Guidelines:

  1. Before calling convert_file or convert_with_options, if you are unsure what string to pass for the target_format parameter, use this tool to get the standard extension.

  2. If a user requests an unsupported format, use this list to recommend the closest available alternative.

Inputs: no named parameters.

remove_after_textRemove After TextB

Removes all characters after (to the right of) a specified delimiter text within each text cell in a worksheet range using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: text (required), file_uuid (required), _range, worksheet, +1 more. Returns: result

remove_all_line_breaksRemove All Line BreaksA

Removes ALL line break characters (including \n, \r\n, \r) from text values within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Converts multi-line text into single-line text by deleting all newline characters. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, worksheet. Returns: result

remove_before_textRemove Before TextC

Removes all characters before (to the left of) a specified delimiter text within each text cell in a worksheet range using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: text (required), file_uuid (required), _range, worksheet, +1 more. Returns: result

remove_custom_charactersRemove Custom CharactersC

Removes user-specified custom characters from text values within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Supports case-sensitive or case-insensitive removal. Returns True if the operation succeeds.

Inputs: file_uuid (required), custom_characters (required), _range, worksheet, +1 more. Returns: result

remove_extra_line_breaksRemove Extra Line BreaksA

Removes excessive line breaks (multiple consecutive newline characters) from text values within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Collapses multiple line breaks into single line breaks or removes them entirely based on configuration. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, worksheet. Returns: result

remove_first_n_charactersRemove First N CharactersB

Removes the first N characters from the beginning of each text cell within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: number (required), file_uuid (required), _range, worksheet. Returns: result

remove_last_n_charactersRemove Last N CharactersC

Removes the last N characters from the end of each text cell within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: number (required), file_uuid (required), _range, worksheet. Returns: result

remove_non_printing_charactersRemove Non Printing CharactersB

Removes all non-printing control characters (ASCII 0-31 except tab, newline, carriage return) and other invisible characters from text values within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, worksheet. Returns: result

remove_numeric_charactersRemove Numeric CharactersB

Removes all numeric digit characters (0-9) from cells within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API, preserving letters, symbols, and whitespace. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, worksheet. Returns: result

remove_punctuation_marksRemove Punctuation MarksB

Removes punctuation marks from text cells while preserving alphanumeric characters and other symbols. This function uses Aspose.Cells Cloud API to process an Excel file and delete punctuation marks from text within cells. It removes sentence-ending punctuation (periods, question marks, exclamation points), internal punctuation (commas, semicolons, colons), quotation marks, apostrophes, parentheses, brackets, and other punctuation. However, it preserves letters (A-Z, a-z), numbers (0-9), spaces, and other symbol characters like currency symbols ($, €, £), mathematical operators (+, -, =, *, /), and special symbols (@, #, %, &, etc.). This is useful for text preprocessing in NLP, removing sentence boundaries for analysis, cleaning text for word counting, or preparing data for text mining where punctuation is considered noise.

Inputs: file_uuid (required), _range, worksheet. Returns: result

remove_symbolsRemove SymbolsC

Removes all symbol and special characters (punctuation, currency symbols, mathematical operators, etc.) from cells within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API, preserving alphanumeric characters (A-Z, a-z, 0-9) and whitespace. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, worksheet. Returns: result

remove_text_charactersRemove Text CharactersB

Removes all text/alphabetic characters (A-Z, a-z) from cells within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API, preserving numbers, symbols, and whitespace. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, worksheet. Returns: result

save_spreadsheet_asSave Spreadsheet AsC

Convert a spreadsheet in Aspose Cloud Storage to a different format (e.g., XLSX to PDF) and save it as a new file.

Inputs: file_uuid (required), target_format (required).

save_spreadsheet_as_with_save_options_json_dataSave Spreadsheet As With Save Options Json DataB

This tool saves spreadsheet data in a specified format and applies custom save options. It allows users to precisely control the behavior of the output file through a JSON object, such as setting passwords, optimizing output, or adjusting rendering properties.

Inputs: file_uuid (required), target_format (required), save_options_json_data (required).

save_spreadsheet_as_with_scaling_modeSave Spreadsheet As With Scaling ModeA

Save a spreadsheet in cloud storage to another format while enforcing a print-scaling strategy for large reports (e.g. compress all data onto one page, or fit columns to page width) so the output matches the intended page layout instead of truncating content. Scaling only applies when the target format's save options support it; otherwise the call fails with a clear error rather than silently ignoring the mode.

Parameters:

  • file_uuid: The unique identifier of the stored workbook.

  • target_format: The desired output format (e.g. 'PDF', 'CSV', 'XLSX').

  • scaling_mode: one of NoScaling, FitSheetOnOnePage, FitAllColumnsOnOnePage.

    • NoScaling: no automatic scaling; honors the worksheet's own page setup.

    • FitSheetOnOnePage: scale all rows and columns onto a single page (supported for PDF, XPS, DOCX, PPTX and image output).

    • FitAllColumnsOnOnePage: scale all columns to one page width; rows may extend over multiple pages (supported for DOCX, PPTX and XPS output). FitAllRowsOnOnePage is NOT supported by Aspose.Cells Cloud save options and requesting it returns an error. Returns:

  • The file_uuid of the saved file.

Inputs: file_uuid (required), scaling_mode (required), target_format (required).

trim_textTrim TextB

Removes specified leading and trailing characters from text values within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, trim_text, worksheet. Returns: result

trim_text_from_leadingTrim Text From LeadingA

Removes specified leading characters only (from the beginning) of text values within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, trim_text, worksheet. Returns: result

trim_text_from_trailingTrim Text From TrailingA

Removes specified trailing characters only (from the end) of text values within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, trim_text, worksheet. Returns: result

upload_fileUpload FileA

Upload file content (provided as a Base64 string) to Aspose Cloud Storage and return a file_uuid. The file is stored in its own uuid folder: when file_name is given the file keeps that name (folder = uuid, name = file_name, e.g. /report.xlsx); when file_name is empty a default name is used. Later calls address the file via the returned file_uuid regardless of the name.

Inputs: file_content_b64string (required), file_name.

word_caseWord CaseB

Converts text case (uppercase, lowercase, title case, sentence case, or toggle case) within a specified range of a worksheet in an Excel file using Aspose.Cells Cloud API. Returns True if the operation succeeds.

Inputs: file_uuid (required), _range, worksheet, word_case_type. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 37 tools

    Disambiguation2/5

    Multiple conversion tools overlap heavily: convert_excel and convert_spreadsheet have nearly identical descriptions, and convert_excel_to_json/csv/pdf plus save_spreadsheet_as variants create ambiguous boundaries. The text manipulation tools are mostly distinct, but the conversion cluster forces an agent to guess which entry point is canonical.

    Naming Consistency3/5

    Most tools follow a snake_case verb_noun pattern and the remove_*/add_* text tools are quite consistent. However, there are notable inconsistencies: convert_excel vs convert_spreadsheet, get_structure_with_file_uuid vs get_spreadsheet_structure, and word_case which lacks a clear verb prefix.

    Tool Count2/5

    37 tools is heavy, especially with several near-duplicate conversion entry points and 20+ micro text-manipulation tools that could likely be consolidated. The count feels more like a comprehensive API surface dump than a tightly scoped MCP tool set.

    Completeness2/5

    The server covers file upload/download, conversions, structure inspection, and a broad set of text cleanup operations. However, it lacks fundamental Excel capabilities like creating workbooks, reading or writing cell values directly, and managing worksheets, leaving significant gaps for an Excel-focused MCP server.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides full read and write access to Excel workbooks (sheets, cell ranges, tables, formulas, formatting, and cross-workbook references) via MCP, running locally or as an HTTP/SSE service.
      17 npm
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      MCP server for accurately reading and writing Excel .xlsx files while preserving structure, styles, and formulas. Provides tools for inspecting, editing, and aggregating spreadsheet data, with optional LibreOffice recalculation.
      29
      54 PyPI
      4
      MIT