mcpField
E
Excel MCP Server

Excel MCP Server

本地服务
github.com/bengbengbalabalabeng数据与分析180 周前更新

关于 Excel MCP Server

Excel MCP Server 是一个 Java MCP 服务,可读取 XLSX、XLS 和 CSV 文件的结构与数据。它适用于需要按表头读取行、处理多个工作表并限制文件访问目录的工作流。

主要功能

  1. 01读取表头和数据行
  2. 02支持 XLSX、XLS 和 CSV
  3. 03选择工作表与表头行
  4. 04统计数据行数
  5. 05缓存重复文件访问
  6. 06将路径限制在配置的工作区

适用场景

  1. 01检查电子表格列与表头
  2. 02读取指定的电子表格行
  3. 03统计工作表中的行数
  4. 04将文件访问限制在许可目录

MCP 相关

它向 MCP 客户端提供 Excel 读取工具,包括获取表头和行、列出工作表、统计行数及管理缓存。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

FastExcel MCP Server

使用 Java 实现的 Model Context Protocol(MCP)服务,用于执行 Excel 操作,并采用标准化的表头与列对应关系。

功能

  • 读取 Excel 文件(XLSX、XLS、CSV)的表头和数据行。
  • 根据已配置的工作区验证输入路径。
  • 支持多个工作表和自定义表头行。
  • 获取数据行总数(不包括表头)。
  • 内置性能缓存,加快重复访问速度。

注意:此服务仅允许在通过 env: MCP_WORKSPACES 指定的目录中执行操作。

API

工具
  • get_total_rows_number (支持缓存)

    • 获取 Excel 文件中的数据行总数(不包括表头行)。
    • 输入:
      • excelPath(字符串):Excel 文件的绝对路径或相对路径。
      • headRowNumber(整数):表头所在的行号(从 1 开始)。
      • sheetName(字符串,可选):要读取的工作表名称。如果为空,默认为第一个工作表。
    • 返回数据行总数(整数)。
  • get_sheet_names (支持缓存)

    • 获取 Excel 文件中的所有工作表名称及其索引。
    • 输入:
      • excelPath(字符串):Excel 文件的绝对路径或相对路径。
    • 返回包含工作表编号和名称的 json 对象列表。
  • read_head_spec (支持缓存)

    • 解析并返回 Excel 文件中的表头信息。
    • 输入:
      • excelPath(字符串):Excel 文件的绝对路径或相对路径。
      • headRowNumber(整数):表头所在的行号(从 1 开始)。
      • sheetName(字符串,可选):要读取的工作表名称。如果为空,默认为第一个工作表。
    • 返回按顺序排列的 json 对象列表,其中包含列索引和表头标题。
  • read_rows_spec (支持缓存)

    • 解析并返回 Excel 文件中的数据行,并将其与表头关联。
    • 输入:
      • excelPath(字符串):Excel 文件的绝对路径或相对路径。
      • headRowNumber(整数):表头所在的行号(从 1 开始)。
      • readRowNumbers(整数,可选):要读取的数据行数(不包括表头)。如果为 null,则读取所有行。
      • sheetName(字符串,可选):要读取的工作表名称。如果为空,默认为第一个工作表。
    • 返回包含与表头关联的行数据的 json 列表。
  • cache_clear

    • 清除内存中缓存的所有 Excel 文件数据。
    • 成功清除缓存时返回 true。
  • test_cache_available

    • 测试指定的 Excel 文件是否已缓存。
    • 输入:
      • excelPath(字符串):Excel 文件的绝对路径或相对路径。
    • 返回指示缓存状态和文件 MD5 哈希值的 json 对象:
      • cached:布尔值,指示文件是否已缓存
      • result:包含文件 MD5 哈希信息的字符串

与 Claude Desktop 搭配使用

将以下内容添加到你的 claude_desktop_config.json 中:

Java
{
  "mcpServers": {
    "fastexcel-mcp-server": {
      "command": "java",
      "args": [
        "-jar",
        "<YOUR_PATH>/fastexcel-mcp-server-0.0.1-SNAPSHOT.jar"
      ],
      "env": {
        "MCP_WORKSPACES": "<YOUR_MULTIPLE_WORKSPACES_SEPARATED_BY_COMMAS>",
        "CACHE_INITIAL_CAPACITY": "[OPTIONAL] <MINIMUM_TOTAL_SIZE_FOR_THE_INTERNAL_DATA_STRUCTURES> <DEFAULT: 100>",
        "CACHE_MAXIMUM_SIZE": "[OPTIONAL] <MAXIMUM_NUMBER_OF_ENTRIES_THE_CACHE_MAY_CONTAIN> <DEFAULT: 1000>",
        "CACHE_EXPIRE_AFTER_WRITE": "[OPTIONAL] <LENGTH_OF_TIME_AFTER_AN_ENTRY_IS_CREATED_THAT_IT_SHOULD_BE_AUTOMATICALLY_REMOVED> <DEFAULT: 35s>"
      }
    }
  }
}

构建

要求
  • JDK 17+ GraalVM
  • Maven 3.9.6+

Java 构建:

mvn clean package -DskipTests=true

许可证

此 MCP 服务采用 Apache License 2.0 许可证。详情请参阅项目仓库中的 LICENSE 文件。


如果你需要进一步的自定义或集成详情,请告诉我!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。