一个基于 FastMCP 的 CSV 到 JSON 转换 MCP (Model Context Protocol) 服务器,提供高效的 CSV 数据转换服务
Project description
CSV2JSON MCP 服务器
一个基于 FastMCP 的 CSV 到 JSON 转换 MCP (Model Context Protocol) 服务器,提供高效的 CSV 数据转换服务。
功能特性
- ✅ CSV 文件信息获取 - 获取 CSV 文件大小、行列数、列名等基本信息
- ✅ CSV 文件转 JSON 文件 - 将 CSV 文件转换为 JSON 文件格式
- ✅ CSV 字符串转 JSON - 将 CSV 格式的字符串转换为 JSON 数据
- 🚀 高性能转换 - 基于 pandas 的高效数据处理
- 🔧 灵活配置 - 支持多种分隔符、编码格式和 JSON 输出格式
- 📚 MCP 协议 - 符合 Model Context Protocol 标准
快速开始
环境要求
- Python 3.11+
MCP 服务器配置
mcp server 配置
{
"mcpServers": {
"csv2json": {
"command": "uvx",
"args": ["csv2json-mcp"],
"type": "stdio"
}
}
}
可用工具
1. get_csv_info
获取 CSV 文件的基本信息,用于辅助转换操作。
参数:
file_path(str): CSV 文件路径
返回值:
{
"success": true,
"file_info": {
"file_size": 132,
"row_count": 5,
"column_count": 4,
"columns": ["name", "age", "city", "score"],
"sample_data": [/* 示例数据 */],
"file_encoding": "utf-8",
"detected_delimiter": ","
},
"message": "CSV 文件信息获取成功"
}
2. convert_csv_file
将 CSV 文件转换为 JSON 文件。
参数:
file_path(str): CSV 文件路径output_file_path(str, 可选): 输出 JSON 文件路径,默认为 CSV 文件同目录下的.json文件delimiter(str, 可选): CSV 分隔符,默认为,orient(str, 可选): JSON 输出格式,默认为"records"encoding(str, 可选): 文件编码,默认为"utf-8"
返回值:
{
"success": true,
"json_file_path": "path/to/output.json",
"message": "转换成功"
}
3. convert_csv_string
将 CSV 格式的字符串转换为 JSON 数据。
参数:
csv_content(str): CSV 格式的字符串内容delimiter(str, 可选): CSV 分隔符,默认为,skip_rows(int, 可选): 跳过的行数,默认为 0header(bool, 可选): 是否包含表头,默认为 trueorient(str, 可选): JSON 输出格式,默认为"records"indent(int, 可选): JSON 缩进,默认为 None
返回值:
{
"success": true,
"json": [/* JSON 数据 */],
"message": "CSV 字符串转换成功"
}
JSON 输出格式
支持以下 JSON 输出格式:
"records": 每行作为一个字典对象的列表(默认)"values": 仅包含值的二维数组"index": 包含索引的字典"table": 包含 schema 和数据的完整表格格式"split": 分开存储列名和数据的格式
项目结构
csv2json-mcp/
├── csv2json_mcp/ # 核心包
│ ├── __init__.py # 包初始化
│ ├── converter.py # 转换器实现
│ └── server.py # MCP 服务器
├── example/ # 示例文件
│ ├── example.csv # 示例 CSV 文件
│ ├── example_client.py # 客户端示例
│ └── example_output.json # 输出示例
├── pyproject.toml # 项目配置
└── README.md # 项目文档
许可证
本项目采用 MIT 许可证。
贡献
欢迎提交 Issue 和 Pull Request 来改进项目。
联系方式
如有问题,请通过以下方式联系:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file csv2json_mcp-0.1.4.tar.gz.
File metadata
- Download URL: csv2json_mcp-0.1.4.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14379fbf00d50da0439daaf93b78d193ac6f74597f69af5cdfc7ac00d84a6e21
|
|
| MD5 |
ac36c470ebd75a289c01d8940fcc31c5
|
|
| BLAKE2b-256 |
e41f360138c595566cf892326796ee76215fa4b1a35aa74aeac7d3324a276ef2
|
File details
Details for the file csv2json_mcp-0.1.4-py3-none-any.whl.
File metadata
- Download URL: csv2json_mcp-0.1.4-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7206a80a1c6894cdd50ddf4d2fe3137ea93b566d737db548e0a8b75ad0c2d9fb
|
|
| MD5 |
7d5908a229ffab266de330ab5cfa0b81
|
|
| BLAKE2b-256 |
de819ec24d4e3e8b2c89c06d700e92c9348996316afd2f2827fa49c44e771969
|