Back to MCP directory
publicPublicdnsLocal runtime

fastexcel-mcp-server

一个基于Java的Excel操作服务,实现Model Context Protocol (MCP),提供读取Excel文件头信息、数据行、工作表名称等功能,支持性能缓存和多工作区验证。

article

README

🚀 FastExcel MCP 服务器

FastExcel MCP 服务器基于 Java 实现,用于进行 Excel 操作。它遵循模型上下文协议 (MCP),具备标准化的头与列关系映射,能高效处理各类 Excel 文件。

🚀 快速开始

如果使用 Claude Desktop,请在配置文件中添加 MCP 服务器信息:

{
  "mcpServers": [
    {
      "name": "FastExcelMCP",
      "executable": "/path/to/javacExecutable",
      "options": ["-Dsome.option=value"],
      "jvmArgs": [],
      "workingDir": "."
    }
  ]
}

需要 JDK 17+ 和 Maven 3.9.6+,通过以下命令构建:

mvn clean install

✨ 主要特性

  • 可读取 Excel 文件(XLSX、XLS、CSV)的标题和数据行。
  • 能验证输入路径是否在配置的工作区范围内。
  • 支持多个工作表和自定义标题行。
  • 可获取总数据行数(不包括标题行)。
  • 内置性能缓存,以实现更快的重复访问速度。

⚠️ 重要提示

服务器仅允许在通过 env: MCP_WORKSPACES 配置的工作区目录内进行操作。

📚 详细文档

工具

get_total_rows_number (带缓存支持)

获取 Excel 文件中数据行的总数(不包括标题行)。

  • 输入
    • excelPath (字符串):Excel 文件的绝对或相对路径。
    • headRowNumber (整数):标题所在的行号(1 基数索引)。
    • sheetName (字符串,可选):要读取的工作表名称。若为空,则默认为第一个工作表。
  • 输出
    • 返回数据行的总数,作为整数。

get_sheet_names (带缓存支持)

获取 Excel 文件中所有工作表的名称及其索引。

  • 输入
    • excelPath (字符串):Excel 文件的绝对或相对路径。
  • 输出
    • 返回一个包含工作表编号和名称的对象列表。

read_head_spec (带缓存支持)

解析并返回 Excel 文件中的标题信息。

  • 输入
    • excelPath (字符串):Excel 文件的绝对或相对路径。
    • headRowNumber (整数):标题所在的行号(1 基数索引)。
    • sheetName (字符串,可选):要读取的工作表名称。若为空,则默认为第一个工作表。
  • 输出
    • 返回一个按顺序排列的列索引和标题标题的对象列表。

read_rows_spec (带缓存支持)

解析并返回与标题关联的数据行信息。

  • 输入
    • excelPath (字符串):Excel 文件的绝对或相对路径。
    • headRowNumber (整数):标题所在的行号(1 基数索引)。
    • readRowNumbers (整数,可选):要读取的数据行数目(不包括标题)。若为空,则读取所有数据行。
    • sheetName (字符串,可选):要读取的工作表名称。若为空,则默认为第一个工作表。
  • 输出
    • 返回一个包含行数据及其对应标题的列表。

cache_clear

清除内存中的所有 Excel 文件缓存数据。

  • 输出
    • 成功清除缓存时返回 true

test_cache_available

测试指定 Excel 文件是否存在于缓存中。

  • 输出
    • 返回一个布尔值,表示文件是否在缓存中。

📄 许可证

该软件采用 Apache License 2.0 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client