Structurize-MCP 是一个基于 Model Context Protocol 的服务,可以根据自然语言描述生成结构化的 CSV 文件,并能将表格图片转换为 Mermaid 图表格式。它使用 Google Gemini AI 来解析和生成数据。
- 根据自然语言描述生成 CSV 文件
- 自动提取列结构和数据内容
- 生成描述性的文件名
- 支持自定义分隔符
- 当 Gemini API 调用失败时,有本地解析方法作为后备
- 分析表格图片并转换为 Mermaid 图表格式
- 支持简单表格和复杂关系表格的转换
npm install -g structurize-mcp
npx structurize-mcp --gemini-api-key YOUR_GEMINI_API_KEY
克隆仓库并安装依赖:
git clone https://github.com/your-username/structurize-mcp.git
cd structurize-mcp
npm install
npm run build
工具支持以下命令行参数:
-
--gemini-api-key
,-k
: Google Gemini API Key(必需) -
--csv-dir
,-d
: CSV 文件保存目录(可选,默认为项目下的 csv 目录) -
--help
,-h
: 显示帮助信息
# 通过 npx 运行
npx structurize-mcp --gemini-api-key YOUR_GEMINI_API_KEY --csv-dir /path/to/save/csv
# 如果全局安装过
structurize-mcp --gemini-api-key YOUR_GEMINI_API_KEY --csv-dir /path/to/save/csv
# 从源码目录运行
node ./bin/structurize.js --gemini-api-key YOUR_GEMINI_API_KEY --csv-dir /path/to/save/csv
要在 Claude Desktop 中使用此 MCP 服务器,你需要在 Claude Desktop 的配置文件中添加以下内容:
{
"mcpServers": {
"csv-generator": {
"command": "npx",
"args": [
"structurize-mcp",
"--gemini-api-key",
"YOUR_GEMINI_API_KEY_HERE",
"--csv-dir",
"/absolute/path/to/csv_output_directory"
]
}
}
}
如果是从源码运行,可以使用:
{
"mcpServers": {
"csv-generator": {
"command": "node",
"args": [
"/absolute/path/to/structurize-mcp/build/index.js",
"--gemini-api-key",
"YOUR_GEMINI_API_KEY_HERE",
"--csv-dir",
"/absolute/path/to/csv_output_directory"
]
}
}
}
确保替换以下内容:
-
YOUR_GEMINI_API_KEY_HERE
: 你的 Google Gemini API Key -
/absolute/path/to/csv_output_directory
: CSV 文件保存目录的绝对路径
配置完成后,重启 Claude Desktop,然后你就可以要求 Claude 生成 CSV 文件了。
# 使用自定义 API Key 和保存目录
npx structurize-mcp --gemini-api-key YOUR_GEMINI_API_KEY --csv-dir ~/Documents/csv_files
# 只自定义 API Key,使用默认保存目录
npx structurize-mcp --gemini-api-key YOUR_GEMINI_API_KEY
# 只自定义保存目录(但需要确保 API Key 以其他方式提供)
npx structurize-mcp --csv-dir /data/csv_exports
要使用此工具,您需要一个 Google Gemini API Key:
- 访问 Google AI Studio
- 登录您的 Google 账户
- 转到 API Keys 页面
- 创建一个新的 API Key
- 默认情况下,CSV 文件存储在项目根目录下的
csv
文件夹中 - 可以通过
--csv-dir
参数指定自定义存储路径 - 生成的文件名基于 CSV 内容(标题、列名和数据)自动生成,并附加时间戳以确保唯一性
欢迎提交 Issues 和 Pull Requests。
MIT
POST /generate-csv
Content-Type: application/json
{
"description": "描述文本"
}
POST /analyze-image
Content-Type: multipart/form-data
参数:
- image: 要分析的图片文件(支持 JPEG/PNG 格式)
响应:
{
"mermaidText": "Mermaid 格式的图表文本",
"rawText": "原始解析文本(可选)",
"error": "错误信息(如果有)"
}
# 生成 CSV 文件
curl -X POST \
-H "Content-Type: application/json" \
-d '{"description":"生成一个包含姓名和年龄的表格"}' \
http://localhost:3000/generate-csv
# 分析表格图片
curl -X POST \
-F "image=@/path/to/your/table-image.jpg" \
http://localhost:3000/analyze-image
- 根据自然语言描述自动生成 CSV 文件
- 智能解析列结构和数据内容
- 生成描述性文件名
- 支持自定义分隔符
- 支持 JPEG/PNG 格式的表格图片
- 自动识别表格结构和内容
- 转换为 Mermaid 图表格式
- 支持简单表格和复杂关系表格
- 保持表格的层级关系