Skip to main content
Glama
zhiwei5576

Excel MCP Server

by zhiwei5576

Excel MCP 服务器

npm 铁匠徽章简体中文| English

基于模型上下文协议(MCP)的Excel文件处理服务器,提供读取、写入和分析Excel文件的功能。

特征

  • 📖 读取 Excel 文件

    • 获取工作表列表

    • 读取特定工作表数据

    • 读取所有工作表数据

  • ✍️ 写入 Excel 文件

    • 创建新的 Excel 文件

    • 写入特定工作表

    • 支持多个工作表

  • 🔍 分析 Excel 结构

    • 分析工作表结构

    • 将结构导出到新文件

  • 💾 缓存管理

    • 自动文件内容缓存

    • 定期清理缓存

    • 手动清除缓存

  • 📝 日志管理

    • 自动操作记录

    • 定期日志清理

Related MCP server: ironcalc-mcp

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 excel-mcp-server:

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

手动安装

通过 NPM 安装 excel-mcp-server 可以通过在 MCP 服务器配置中添加以下配置来自动安装。

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"
        }
    }
}

其他平台:

{
  "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"
        }
    }
}

注意:LOG_PATH 是可选的。如果未设置,日志将存储在应用程序根目录下的“logs”文件夹中。其他参数是可选的。

API 工具

结构工具

  1. 分析Excel结构

    • 功能:获取 JSON 格式的 Excel 文件结构,包括工作表列表和列标题

    • 参数:

      • fileAbsolutePath:Excel 文件的绝对路径

      • headerRows:标题行数(默认值:1)

  2. 导出Excel结构

    • 功能:将Excel文件结构(工作表和标题)导出到新的Excel模板文件

    • 参数:

      • sourceFilePath:源 Excel 文件路径

      • targetFilePath:目标 Excel 文件路径

      • headerRows:标题行数(默认值:1)

阅读工具

  1. 读取工作表名称

    • 功能:获取Excel文件中所有sheet名称

    • 参数:

      • fileAbsolutePath:Excel 文件的绝对路径

  2. 通过工作表名称读取数据

    • 功能:获取Excel文件中特定sheet的数据

    • 参数:

      • fileAbsolutePath:Excel 文件的绝对路径

      • sheetName:要读取的工作表的名称

      • headerRow:标题行数(默认值:1)

      • dataStartRow:数据起始行号(默认:2)

  3. 读取工作表数据

    • 功能:获取Excel文件中所有sheet的数据

    • 参数:

      • fileAbsolutePath:Excel 文件的绝对路径

      • headerRow:标题行数(默认值:1)

      • dataStartRow:数据起始行号(默认:2)

编写工具

  1. 通过工作表名称写入数据

    • 功能:将数据写入Excel文件中的指定sheet(如果sheet存在则覆盖)

    • 参数:

      • fileAbsolutePath:Excel 文件的绝对路径

      • sheetName:要写入的工作表的名称

      • 数据:要写入的数据数组

  2. 写入工作表数据

    • 功能:使用提供的数据创建一个新的 Excel 文件

    • 参数:

      • fileAbsolutePath:新 Excel 文件的绝对路径

      • data:包含多个 Sheet 数据的对象

缓存工具

  1. 清除文件缓存

    • 功能:清除指定Excel文件的缓存数据

    • 参数:

      • fileAbsolutePath:要从缓存中清除的 Excel 文件的绝对路径

配置

环境变量

  • LOG_PATH :日志文件存储路径

    • 选修的

    • 默认值:应用程序根目录下的“logs”文件夹

  • CACHE_MAX_AGE :缓存过期时间(小时)

    • 选修的

    • 默认值:1

  • CACHE_CLEANUP_INTERVAL :缓存清理间隔(小时)

    • 选修的

    • 默认值:4

  • LOG_RETENTION_DAYS :日志保留天数

    • 选修的

    • 默认值:7

  • LOG_CLEANUP_INTERVAL :日志清理间隔(小时)

    • 选修的

    • 默认值:24

默认配置

  • 缓存配置

    • 缓存过期时间:1小时

    • 缓存清理间隔:4小时

  • 日志配置

    • 日志保留天数:7天

    • 清理间隔:24小时

依赖项

  • @modelcontextprotocol/sdk: ^1.7.0

  • xlsx: ^0.18.5

  • 打字稿:^5.8.2

开发依赖项

  • @类型/节点:^22.13.10

  • nodemon:^3.1.9

  • ts节点:^10.9.2

执照

本项目遵循 MIT 许可证。这意味着您可以自由地:

  • 将该软件用于商业或非商业用途

  • 修改源代码

  • 分发原始或修改后的代码要求:

  • 保留原有版权声明

  • 对于软件使用,作者不承担任何责任。有关详细的许可信息,请参阅LICENSE文件。

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