数据文件分析服务器

一个用于分析CSV和Parquet文件的模型上下文协议(MCP)服务器,提供文件行数和列数统计功能。

  • by llm-guy
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 llm-guy/mcp_server_public

使用说明

用于数据文件分析的基本MCP服务器

一种模型上下文协议(MCP)服务器,提供用于分析CSV和Parquet文件的工具。

特性

  • CSV文件分析:按报告行数和列数汇总CSV文件
  • 拼花文件分析:通过报告行数和列数来汇总拼花地板文件
  • 样品数据:包括CSV和Parquet格式的示例用户数据

项目结构

mix_server/
│
├── data/                 # Sample CSV and Parquet files
│   ├── sample.csv
│   └── sample.parquet
│
├── tools/                # MCP tool definitions
│   ├── __init__.py
│   ├── csv_tools.py
│   └── parquet_tools.py
│
├── utils/                # Reusable file reading logic
│   ├── __init__.py
│   └── file_reader.py
│
├── server.py             # MCP server instance
├── main.py              # Entry point for the MCP server
├── generate_parquet.py  # Script to convert CSV to Parquet
└── README.md            # This file

安装

  1. 安装uv (如果尚未安装):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. 创建并激活虚拟环境:

    uv venv
    source .venv/bin/activate
    
  3. 安装依赖项:

    uv add "mcp[cli]" pandas pyarrow
    

用法

运行服务器

启动MCP服务器:

uv run main.py

使用LM Studio

要将此MCP服务器与LM Studio一起使用,请编辑您的 mcp.json 文件并添加:

这将为您启动MCP服务器。

{
  "mcpServers": {
    "mix_server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/mcp_server_public",
        "run",
        "main.py"
      ]
    }
  }
}

备注:替换 /path/to/your/mcp_server_public 使用mcpserverpublic目录的实际路径。

加载后,您应该看到本地LLM可以使用的所有可用工具。

可用工具

  1. summarize_csv_file(文件名:str)

    • 通过报告CSV文件的行数和列数来总结CSV文件
    • 例子: summarize_csv_file("sample.csv")
  2. summarze_parquet_file(文件名:str)

    • 通过报告Parquet文件的行数和列数来对其进行汇总
    • 例子: summarize_parquet_file("sample.parquet")

样品数据

服务器包括具有以下结构的示例用户数据:

  • 本我:唯一标识符
  • 名字:用户的全名
  • 电子邮件:用户的电子邮件地址
  • 注册日期:用户注册的日期

发展

添加新工具

  1. 在中创建新文件 tools/ 目录
  2. 导入MCP服务器实例: from server import mcp
  3. 使用定义工具功能 @mcp.tool() 装饰器
  4. 将新工具模块导入 main.py

添加新文件格式

  1. 在中添加实用程序功能 utils/file_reader.py
  2. 在中创建相应的工具 tools/ 目录
  3. 将新工具导入 main.py

依赖项

  • mcp[cli]:官方MCP SDK和命令行工具
  • 熊猫:用于读取CSV和Parquet文件
  • pyarrow:添加了通过Pandas读取Parquet文件的支持

许可证

这个项目是开源的,可以在MIT许可证下使用。