CSV MCP服务器
一个模型上下文协议(MCP)服务器,专门使用stdio传输进行全面的CSV文件管理。此服务器提供用于通过标准输入/输出使用MCP协议创建、编辑、分析和管理CSV文件的工具。
特性
- 文件管理:创建、读取、更新和删除CSV文件
- 绝对路径支持:使用绝对路径在文件系统中的任何位置处理CSV文件
- 数据分析:基本统计分析和数据探索
- 数据转换:筛选、排序、分组和转换数据
- 数据验证:检查数据完整性和格式验证
- 导入/导出:支持各种CSV格式和编码
- 标准运输:在标准输入/输出上使用JSON-RPC 2.0进行通信
安装
uv add csv-mcp-server用法
运行服务器
# Using stdio transport (default and only option)
uv run csv-mcp-server
# With custom log level
uv run csv-mcp-server --log-level DEBUG
# Development mode
uv run mcp dev csv_mcp_server/server.py可用工具
create_csv:创建一个包含标题和初始数据的新CSV文件create_csv_at_path:在特定的绝对或相对路径创建CSV文件read_csv:读取并显示CSV文件内容update_csv:更新CSV文件中的特定单元格或行delete_csv:删除CSV文件add_row:向现有CSV文件添加新行remove_row:从CSV文件中删除特定行get_info:获取CSV文件的基本信息get_statistics:获取数字列的统计摘要filter_data:根据条件过滤CSV数据sort_data:按指定列对CSV数据进行排序group_data:分组和聚合CSV数据validate_data:验证CSV数据的完整性和格式get_path_info:获取文件路径的详细信息(支持绝对路径)
可用资源
csv://{filename}:将CSV文件内容作为资源访问csv-info://{filename}:获取CSV文件的元数据
可用提示
analyze_csv:为CSV数据生成分析提示transform_csv:生成转换建议
配置
服务器可以配置环境变量:
CSV_STORAGE_PATH:CSV文件存储的基本路径(默认:当前目录)CSV_MAX_FILE_SIZE:最大文件大小(MB)(默认值:50)CSV_BACKUP_ENABLED:启用自动备份(默认值:true)CSV_SUPPORT_ABSOLUTE_PATHS:启用绝对路径支持(默认值:true)
绝对路径支持
CSV MCP服务器现在支持使用绝对路径在文件系统中的任何位置处理CSV文件。此功能允许您:
- 在任何可访问的目录中创建CSV文件
- 从系统上的任何位置读取和修改现有的CSV文件
- 使用默认存储目录之外的文件
- 保持与相对路径的向后兼容性
安全功能
- 路径验证:自动验证绝对路径的安全性
- 系统目录保护:阻止访问关键系统目录
- 权限检查:验证目录和文件访问权限
- Symlink分辨率:安全解析符号链接以防止路径遍历攻击
使用示例
# Create a CSV file at an absolute path
create_csv_at_path(
filepath="/path/to/your/data/sales.csv",
headers=["Date", "Product", "Sales"],
data=[["2024-01-01", "Laptop", 1200]]
)
# Get information about any file path
get_path_info(filepath="/path/to/your/file.csv")
# All existing tools work with absolute paths
read_csv("/path/to/your/data/analysis.csv")
update_csv("/path/to/your/data/analysis.csv", row_index=0, column="Sales", value=1500)运输
此服务器仅使用JSON-RPC 2.0协议的stdio传输,非常适合:
- 与支持stdio传输的MCP客户端集成
- 命令行工具和脚本
- 开发和测试环境
- 集装箱化部署
例子
请参阅 examples/ 各种MCP客户端的使用示例目录:
demo_client.py:基本MCP客户端演示sales_analysis.py:销售数据分析示例absolute_path_demo.py:绝对路径功能演示
