Skip to main content
Glama
zhiwei5576

Excel MCP Server

by zhiwei5576

Servidor Excel MCP

npm insignia de herrería Chino tradicional | Inglés

Servidor de procesamiento de archivos Excel basado en el Protocolo de Contexto de Modelo (MCP), que proporciona funcionalidades para leer, escribir y analizar archivos Excel.

Características

  • 📖 Leer archivos de Excel

    • Obtener lista de hojas de trabajo

    • Leer datos específicos de la hoja de trabajo

    • Leer todos los datos de las hojas de trabajo

  • ✍️ Escribir archivos de Excel

    • Crear nuevos archivos de Excel

    • Escribir en una hoja de trabajo específica

    • Admite múltiples hojas de trabajo

  • 🔍Analizar la estructura de Excel

    • Analizar la estructura de la hoja de trabajo

    • Exportar estructura a un nuevo archivo

  • 💾 Gestión de caché

    • Almacenamiento automático en caché del contenido de los archivos

    • Limpieza de caché programada

    • Borrado manual de caché

  • 📝 Gestión de registros

    • Registro automático de operaciones

    • Limpieza periódica de registros

Related MCP server: ironcalc-mcp

Instalación

Instalación mediante herrería

Para instalar excel-mcp-server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @zhiwei5576/excel-mcp-server --client claude

Instalación manual

La instalación a través de NPM excel-mcp-server se puede instalar automáticamente agregando la siguiente configuración a la configuración de los servidores MCP.

Plataforma Windows:

{
  "mcpServers": {
    "excel": {
        "command": "cmd",
        "args": ["/c", "npx", "--yes", "@zhiweixu/excel-mcp-server"],
        "env": {
            "LOG_PATH": "[set an accessible absolute path]",
            "CACHE_MAX_AGE": "1",
            "CACHE_CLEANUP_INTERVAL": "4",
            "LOG_RETENTION_DAYS": "7",
            "LOG_CLEANUP_INTERVAL": "24"
        }
    }
}

Otras plataformas:

{
  "mcpServers": {
    "excel": {
        "command": "npx",
        "args": ["--yes", "@zhiweixu/excel-mcp-server"],
        "env": {
            "LOG_PATH": "[set an accessible absolute path]",
            "CACHE_MAX_AGE": "1",
            "CACHE_CLEANUP_INTERVAL": "4",
            "LOG_RETENTION_DAYS": "7",
            "LOG_CLEANUP_INTERVAL": "24"
        }
    }
}

Nota: LOG_PATH es opcional. Si no se configura, los registros se almacenarán en la carpeta 'logs', dentro del directorio raíz de la aplicación. Los demás argumentos son opcionales.

Herramientas API

Herramientas de estructura

  1. analizarEstructuraExcel

    • Función: Obtener la estructura del archivo de Excel, incluida la lista de hojas y los encabezados de columna en formato JSON

    • Parámetros:

      • fileAbsolutePath: Ruta absoluta del archivo de Excel

      • headerRows: Número de filas de encabezado (predeterminado: 1)

  2. exportarEstructuraExcel

    • Función: Exportar la estructura del archivo de Excel (hojas y encabezados) a un nuevo archivo de plantilla de Excel

    • Parámetros:

      • sourceFilePath: Ruta del archivo fuente de Excel

      • targetFilePath: Ruta del archivo de Excel de destino

      • headerRows: Número de filas de encabezado (predeterminado: 1)

Leer herramientas

  1. leerNombresDeHojas

    • Función: Obtener todos los nombres de hojas del archivo de Excel

    • Parámetros:

      • fileAbsolutePath: Ruta absoluta del archivo de Excel

  2. leerDatosPorNombreDeHoja

    • Función: Obtener datos de una hoja específica en el archivo Excel

    • Parámetros:

      • fileAbsolutePath: Ruta absoluta del archivo de Excel

      • sheetName: Nombre de la hoja a leer

      • headerRow: Número de fila del encabezado (predeterminado: 1)

      • dataStartRow: Número de fila de inicio de datos (predeterminado: 2)

  3. leerHojaDatos

    • Función: Obtener datos de todas las hojas del archivo Excel

    • Parámetros:

      • fileAbsolutePath: Ruta absoluta del archivo de Excel

      • headerRow: Número de fila del encabezado (predeterminado: 1)

      • dataStartRow: Número de fila de inicio de datos (predeterminado: 2)

Herramientas de escritura

  1. escribirDatosPorNombreDeHoja

    • Función: Escribe datos en una hoja específica en el archivo Excel (sobrescribe si la hoja existe)

    • Parámetros:

      • fileAbsolutePath: Ruta absoluta del archivo de Excel

      • sheetName: Nombre de la hoja donde escribir

      • datos: Matriz de datos para escribir

  2. escribirHojaDatos

    • Función: Crea un nuevo archivo de Excel con los datos proporcionados

    • Parámetros:

      • fileAbsolutePath: Ruta absoluta para el nuevo archivo de Excel

      • datos: Objeto que contiene datos de varias hojas

Herramientas de caché

  1. borrar caché de archivos

    • Función: Borrar los datos almacenados en caché del archivo de Excel especificado

    • Parámetros:

      • fileAbsolutePath: Ruta absoluta del archivo de Excel que se borrará de la caché

Configuración

Variables de entorno

  • LOG_PATH : Ruta de almacenamiento de archivos de registro

    • Opcional

    • Valor predeterminado: carpeta 'registros' en el directorio raíz de la aplicación

  • CACHE_MAX_AGE : Tiempo de expiración de la caché (horas)

    • Opcional

    • Predeterminado: 1

  • CACHE_CLEANUP_INTERVAL : Intervalo de limpieza de caché (horas)

    • Opcional

    • Predeterminado: 4

  • LOG_RETENTION_DAYS : Días de retención de registros

    • Opcional

    • Predeterminado: 7

  • LOG_CLEANUP_INTERVAL : Intervalo de limpieza de registros (horas)

    • Opcional

    • Predeterminado: 24

Configuración predeterminada

  • Configuración de caché

    • Tiempo de expiración de la caché: 1 hora

    • Intervalo de limpieza de caché: 4 horas

  • Configuración de registro

    • Días de retención de registros: 7 días

    • Intervalo de limpieza: 24 horas

Dependencias

  • @modelcontextprotocol/sdk: ^1.7.0

  • xlsx: ^0.18.5

  • mecanografiado: ^5.8.2

Dependencias de desarrollo

  • @tipos/nodo: ^22.13.10

  • nodemon: ^3.1.9

  • nodo ts: ^10.9.2

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Esto significa que usted tiene la libertad de:

  • Utilizar el software con fines comerciales o no comerciales

  • Modificar el código fuente

  • Distribuir código original o modificado Requisitos:

  • Conserve el aviso de derechos de autor original

  • No se podrá reclamar ninguna responsabilidad a los autores por el uso del software. Para obtener información detallada sobre la licencia, consulte el archivo LICENCIA .

Available Tools

8 tools
analyzeExcelStructureA

Get Excel file structure including sheet list and column headers in JSON format

ParametersJSON Schema
NameRequiredDescriptionDefault
fileAbsolutePathYesThe absolute path of the Excel file
headerRowsNoNumber of header rows to read (default: 1)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the sole source of behavioral information. It states the output format (JSON) but does not disclose limitations such as file size, hidden sheet handling, or whether the file must be closed. It is adequate but not thorough for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no superfluous words. It conveys the essential information efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with complete schema coverage and no output schema, the description is adequate but lacks detail on file format support, hidden sheets, and the exact shape of the returned JSON. It meets minimal requirements but could be more comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters already have descriptions. The tool description adds no additional meaning beyond what the schema provides, such as clarifying the purpose of headerRows in relation to structure extraction. Context signals indicate 100% schema description coverage, baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets the Excel file structure including sheet list and column headers in JSON format. It uses specific verbs and resource, and distinguishes from sibling tools like readSheetData or readSheetNames which focus on data retrieval rather than structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as exportExcelStructure or readSheetData. There is no mention of prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clearFileCacheB

Clear cached data for the specified Excel file

ParametersJSON Schema
NameRequiredDescriptionDefault
fileAbsolutePathYesThe absolute path of the Excel file to clear from cache

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It only states 'clears cached data', which is already implied by the tool name. It fails to explain what 'cached data' entails, whether clearing is permanent or reversible, any side effects on other files or users, or required permissions. The description adds minimal value beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a concise single sentence of 7 words, efficiently conveying the core action. It is appropriately sized for a simple tool, though additional context could be added without becoming verbose. It is well-structured and front-loaded with the action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description is incomplete. It does not explain when cache clearing is needed, whether it affects other users, if it is idempotent, or what the expected effect on subsequent operations is. For a mapping/caching tool, users need more context to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (the single parameter 'fileAbsolutePath' has a clear schema description). The tool description does not add any extra meaning beyond what the schema already provides. Per criteria, baseline is 3 when schema coverage is high, and no additional parameter context is given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool clears cached data for a specified Excel file, with a specific verb 'clear' and resource 'cached data for Excel file'. This distinguishes it from sibling tools that focus on reading, writing, or analyzing Excel structure, leaving no ambiguity about its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, when not to use it, or any prerequisite conditions. Among siblings, there is no explicit caching tool, but no context is given about scenarios where cache clearing is beneficial (e.g., after file updates or for performance).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

exportExcelStructureA

Export Excel file structure (sheets and headers) to a new Excel template file

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceFilePathYesThe source Excel file path to analyze
targetFilePathYesThe target Excel file path to save structure
headerRowsNoNumber of header rows to analyze (default: 1)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must fully disclose behavior. Only states it exports to a new template file. Does not mention overwriting behavior, permission requirements, or what happens if target file exists. Limited behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence conveying purpose and output. No extraneous information. Efficient and focused.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but tool is simple. Description covers input and output briefly. Could clarify whether output includes only headers or all sheet content. Adequate for a straightforward export tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The description adds 'sheets and headers' context but does not significantly enhance meaning beyond schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool exports Excel file structure (sheets and headers) to a new template. Verb 'Export' and resource 'Excel file structure' are specific. Distinguishes from siblings like analyzeExcelStructure (analysis vs. export) and read/write tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage via description: use to export structure. No explicit when-to-use or when-not-to-use compared to siblings like analyzeExcelStructure. Lacks guidance on prerequisites or alternative use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readDataBySheetNameC

Get data from a specific sheet in the Excel file

ParametersJSON Schema
NameRequiredDescriptionDefault
fileAbsolutePathYesThe absolute path of the Excel file
sheetNameYestThe name of the sheet to read
headerRowNotThe row number to use as field names (default: 1)
dataStartRowNoThe row number to start reading data from (default: 2)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It only states 'Get data' without disclosing behaviors like whether the data includes headers, row ranges, or formatting. This is insufficient for an agent to understand the tool's effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded with the core purpose. It is appropriately short, though could include more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool (read data from a sheet) and full schema coverage, the description is mostly adequate. However, it omits details about return values (no output schema) and usage context, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter has a description. The tool description does not add extra meaning beyond what the schema provides, resulting in a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get data from a specific sheet in the Excel file' clearly indicates the action (get data) and resource (specific sheet). However, it does not differentiate from sibling tools like readSheetData or readSheetNames, which may have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as readSheetData or readSheetNames. There are no exclusions, prerequisites, or context cues for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readSheetDataC

Get data from all sheets in the Excel file

ParametersJSON Schema
NameRequiredDescriptionDefault
fileAbsolutePathYesThe absolute path of the Excel file
headerRowNoThe row number to use as field names (default: 1)
dataStartRowNoThe row number to start reading data from (default: 2)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It only states the action ('get data') without mentioning if the tool has side effects, authentication needs, or return format. This is insufficient for a tool that reads file data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and to the point. While it lacks structure, it is appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain what 'get data' means (e.g., row arrays, JSON). It does not, leaving the agent without key context about return format or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with descriptions, so the description does not need to add much. However, it offers no additional context beyond 'get data from all sheets', which is baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets data from all sheets in an Excel file. It implicitly distinguishes from the sibling 'readDataBySheetName' by using 'all sheets', but could be more explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs alternatives. For example, it doesn't contrast with 'readDataBySheetName' for reading a specific sheet, nor does it mention prerequisites like file access.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readSheetNamesB

Get all sheet names from the Excel file

ParametersJSON Schema
NameRequiredDescriptionDefault
fileAbsolutePathYesThe absolute path of the Excel file

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits but only states the basic action; no info about error handling, permissions, or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence without waste, though it could be slightly more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no description of return format; for a data-retrieval tool, this is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds no extra meaning beyond what the schema provides for the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'all sheet names from the Excel file', which is specific and distinguishes it from sibling tools like readDataBySheetName.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; lacks context like when to use for listing sheets before reading data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

writeDataBySheetNameC

Write data to a specific sheet in the Excel file (overwrites if sheet exists)

ParametersJSON Schema
NameRequiredDescriptionDefault
fileAbsolutePathYesThe absolute path of the Excel file
sheetNameYesThe name of the sheet to write
dataYesArray of objects to write to the sheet

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses an important behavioral trait (overwrites if sheet exists), but lacks other details like return value, error handling, or authorization requirements. Without annotations, the description carries the full burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with key information, but it is too minimal and does not justify its brevity with additional necessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no details about success feedback or error cases. For a write operation, this is insufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are covered by schema descriptions (100% coverage), so the description adds minimal additional meaning. The note about overwriting is about tool behavior, not parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states verb (Write data) and resource (specific sheet in Excel file), but does not differentiate from sibling tool 'writeSheetData', which likely performs a similar function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like 'writeSheetData', nor any prerequisites or conditions of use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

writeSheetDataB

Create a new Excel file with provided data

ParametersJSON Schema
NameRequiredDescriptionDefault
fileAbsolutePathYesThe absolute path for the new Excel file
dataYesData object with dynamic sheet names and column names

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions file creation but does not disclose behavior like overwriting existing files, file format, or error conditions. The complex data schema is not explained beyond schema descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it very concise. However, it sacrifices completeness for brevity; while no wasted words, it omits critical details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex nested input schema and lack of output schema, the description is incomplete. It does not explain what the tool returns (e.g., file path or success message), how to handle errors, or how to structure the data parameter properly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the description adds no extra meaning beyond the schema's parameter descriptions. The data parameter's nested structure is not clarified; e.g., whether keys map to sheet names is left implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (create) and resource (new Excel file with provided data). It distinguishes from sibling tools like writeDataBySheetName, which modify existing files, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies creation of a new file but does not explicitly state when to use this tool over alternatives (e.g., writeDataBySheetName). It lacks guidance on prerequisites, such as whether the file must not exist or what happens if it does.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 8 tool updatesv1.0.0
    • ChangedanalyzeExcelStructure1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • ChangedclearFileCache1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • ChangedexportExcelStructure1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • ChangedreadDataBySheetName1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • ChangedreadSheetData1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • ChangedreadSheetNames1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • ChangedwriteDataBySheetName2 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / data / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • ChangedwriteSheetData3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / data / additionalProperties / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / data / propertyNames
        Added value: +{
        +  "type": "string"
        +}
  2. 8 tool updates
    • First observedanalyzeExcelStructure
    • First observedclearFileCache
    • First observedexportExcelStructure
    • First observedreadDataBySheetName
    • First observedreadSheetData
    • First observedreadSheetNames
    • First observedwriteDataBySheetName
    • First observedwriteSheetData

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: structure analysis, cache clearing, template export, reading specific/all sheets or names, and writing to sheets or creating new files. No overlaps or ambiguities.

Naming Consistency4/5

Most tools follow a verb_target pattern (e.g., 'analyzeExcelStructure', 'readSheetNames'), but there is minor inconsistency: 'readDataBySheetName' vs 'readSheetData' differ in phrasing, and 'exportExcelStructure' uses 'export' instead of 'read' or 'get'.

Tool Count5/5

With 8 tools, the server is well-scoped for Excel file operations. Each tool provides essential functionality without unnecessary bloat or sparseness.

Completeness4/5

The server covers key operations: reading data, getting structure, writing data, creating files, and cache management. Minor gaps include lack of append/update operations or sheet deletion, but the core workflow is complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers