使用说明
用于数据文件分析的基本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
安装
-
安装uv (如果尚未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh -
创建并激活虚拟环境:
uv venv source .venv/bin/activate -
安装依赖项:
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可以使用的所有可用工具。
可用工具
-
summarize_csv_file(文件名:str)
- 通过报告CSV文件的行数和列数来总结CSV文件
- 例子:
summarize_csv_file("sample.csv")
-
summarze_parquet_file(文件名:str)
- 通过报告Parquet文件的行数和列数来对其进行汇总
- 例子:
summarize_parquet_file("sample.parquet")
样品数据
服务器包括具有以下结构的示例用户数据:
- 本我:唯一标识符
- 名字:用户的全名
- 电子邮件:用户的电子邮件地址
- 注册日期:用户注册的日期
发展
添加新工具
- 在中创建新文件
tools/目录 - 导入MCP服务器实例:
from server import mcp - 使用定义工具功能
@mcp.tool()装饰器 - 将新工具模块导入
main.py
添加新文件格式
- 在中添加实用程序功能
utils/file_reader.py - 在中创建相应的工具
tools/目录 - 将新工具导入
main.py
依赖项
- mcp[cli]:官方MCP SDK和命令行工具
- 熊猫:用于读取CSV和Parquet文件
- pyarrow:添加了通过Pandas读取Parquet文件的支持
许可证
这个项目是开源的,可以在MIT许可证下使用。
