UNPKG

structurize-mcp

Version:

Anthropic MCP Server for generating structured CSV files from natural language descriptions

203 lines (150 loc) 4.79 kB
# Structurize-MCP Structurize-MCP 是一个基于 Model Context Protocol 的服务,可以根据自然语言描述生成结构化的 CSV 文件,并能将表格图片转换为 Mermaid 图表格式。它使用 Google Gemini AI 来解析和生成数据。 ## 功能特点 - 根据自然语言描述生成 CSV 文件 - 自动提取列结构和数据内容 - 生成描述性的文件名 - 支持自定义分隔符 - 当 Gemini API 调用失败时,有本地解析方法作为后备 - 分析表格图片并转换为 Mermaid 图表格式 - 支持简单表格和复杂关系表格的转换 ## 安装 ### NPM 全局安装 ```bash npm install -g structurize-mcp ``` ### 直接通过 npx 使用 ```bash npx structurize-mcp --gemini-api-key YOUR_GEMINI_API_KEY ``` ### 从源码安装 克隆仓库并安装依赖: ```bash 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`: 显示帮助信息 ### 运行示例 ```bash # 通过 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 集成 要在 Claude Desktop 中使用此 MCP 服务器,你需要在 Claude Desktop 的配置文件中添加以下内容: ```json { "mcpServers": { "csv-generator": { "command": "npx", "args": [ "structurize-mcp", "--gemini-api-key", "YOUR_GEMINI_API_KEY_HERE", "--csv-dir", "/absolute/path/to/csv_output_directory" ] } } } ``` 如果是从源码运行,可以使用: ```json { "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 文件了。 ### 示例 ```bash # 使用自定义 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 Gemini API Key: 1. 访问 [Google AI Studio](https://aistudio.google.com/) 2. 登录您的 Google 账户 3. 转到 [API Keys](https://aistudio.google.com/app/apikeys) 页面 4. 创建一个新的 API Key ## CSV 文件存储 - 默认情况下,CSV 文件存储在项目根目录下的 `csv` 文件夹中 - 可以通过 `--csv-dir` 参数指定自定义存储路径 - 生成的文件名基于 CSV 内容(标题、列名和数据)自动生成,并附加时间戳以确保唯一性 ## 贡献 欢迎提交 Issues 和 Pull Requests。 ## 许可 MIT ## API 端点 ### CSV 生成 ```bash POST /generate-csv Content-Type: application/json { "description": "描述文本" } ``` ### 图片分析 ```bash POST /analyze-image Content-Type: multipart/form-data 参数: - image: 要分析的图片文件(支持 JPEG/PNG 格式) 响应: { "mermaidText": "Mermaid 格式的图表文本", "rawText": "原始解析文本(可选)", "error": "错误信息(如果有)" } ``` ### 示例 ```bash # 生成 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 生成 - 根据自然语言描述自动生成 CSV 文件 - 智能解析列结构和数据内容 - 生成描述性文件名 - 支持自定义分隔符 ### 图片分析 - 支持 JPEG/PNG 格式的表格图片 - 自动识别表格结构和内容 - 转换为 Mermaid 图表格式 - 支持简单表格和复杂关系表格 - 保持表格的层级关系