Skip to main content
Glama

JianDaoYun MCP Server

by cheungxin
usage-example.md4.77 kB
# 简道云MCP服务器使用示例 ## 修复说明 经过分析和修复,简道云MCP服务器现在能够正确处理数据提交。主要修复内容: ### 1. 数据格式化问题修复 **问题**: `formatDataForSubmission` 方法没有正确处理所有字段的格式化 **修复**: 重构了数据格式化逻辑,确保所有字段都被正确包装为 `{"value": ...}` 格式 **修复前的问题**: ```javascript // 只处理特定前缀的字段 if (key.startsWith('_widget_') || key.startsWith('_id')) { // 处理逻辑 } ``` **修复后的逻辑**: ```javascript // 处理所有字段,按类型分类处理 // 1. 已格式化的数据直接使用 // 2. 子表单数组递归处理 // 3. 复杂对象包装 // 4. 基本类型包装 ``` ### 2. 正确的数据格式 根据简道云API文档,数据提交格式应该严格遵循: ```json { "app_id": "应用ID", "entry_id": "表单ID", "data": { "_widget_1752198874727": { "value": "张鑫" }, "_widget_1432728651403": { "value": 100 }, "_widget_1432728651406": { "value": ["选项一", "选项二"] }, "_widget_1432728651412": { "value": { "province": "江苏省", "city": "无锡市", "district": "梁溪区", "detail": "清扬路138号茂业天地" } } } } ``` ## 使用示例 ### 1. 基本数据提交 ```javascript // 使用MCP工具提交数据 const result = await submitFormData({ appId: "你的应用ID", appKey: "你的API密钥", formId: "你的表单ID", data: { "姓名": "张鑫", "年龄": 25, "城市": "北京" }, autoMatch: true // 启用智能字段映射 }); ``` ### 2. 复杂数据类型提交 ```javascript const complexData = { "姓名": "张鑫", "数字字段": 100, "单选": "选项一", "多选": ["选项一", "选项二", "选项三"], "日期时间": "2018-01-01T10:10:10.000Z", "地址": { "province": "江苏省", "city": "无锡市", "district": "梁溪区", "detail": "清扬路138号茂业天地" }, "定位": { "province": "江苏省", "city": "无锡市", "district": "梁溪区", "detail": "清扬路138号茂业天地", "lnglatXY": [120.31237, 31.49099] }, "手机": { "phone": "15852540044" }, "附件": ["6b559cf1-b16c-43bd-a211-8fa8fdeae2ef"], "图片": ["6b559cf1-b16c-43bd-a211-74389cd8ae76"] }; const result = await submitFormData({ appId: "你的应用ID", appKey: "你的API密钥", formId: "你的表单ID", data: complexData, autoMatch: true }); ``` ### 3. 批量数据提交 ```javascript const batchData = [ { "姓名": "张鑫", "年龄": 25 }, { "姓名": "李四", "年龄": 30 }, { "姓名": "王五", "年龄": 28 } ]; const result = await submitFormData({ appId: "你的应用ID", appKey: "你的API密钥", formId: "你的表单ID", data: batchData, autoMatch: true }); ``` ### 4. 直接使用字段ID提交(跳过智能映射) ```javascript const directData = { "_widget_1752198874727": "张鑫", "_widget_1432728651403": 100 }; const result = await submitFormData({ appId: "你的应用ID", appKey: "你的API密钥", formId: "你的表单ID", data: directData, autoMatch: false // 禁用智能字段映射 }); ``` ## 智能字段映射功能 ### 映射策略 1. **精确匹配**: 字段标签完全匹配 2. **包含匹配**: 字段标签包含用户输入的关键词 3. **名称匹配**: 字段名称匹配 4. **常见字段映射**: 预定义的常见字段名映射 ### 常见字段映射表 | 用户输入 | 可能匹配的字段 | |---------|---------------| | 姓名 | name, username, 用户名, 姓名 | | 电话 | phone, tel, mobile, 手机, 电话 | | 邮箱 | email, mail, 邮件, 邮箱 | | 地址 | address, 地址, 住址 | | 备注 | remark, note, comment, 备注, 说明 | ## 错误处理 修复后的服务器提供了更好的错误处理: - **权限错误**: 检查API密钥权限 - **表单不存在**: 验证表单ID正确性 - **字段映射失败**: 提供详细的映射信息 - **数据格式错误**: 自动格式化数据 ## 测试验证 可以使用 `test-format.cjs` 脚本验证数据格式化逻辑: ```bash node test-format.cjs ``` 所有测试用例都应该显示 ✅ 通过。 ## 总结 经过修复,简道云MCP服务器现在能够: 1. ✅ 正确格式化所有类型的数据 2. ✅ 智能映射用户友好的字段名到后台字段ID 3. ✅ 处理复杂数据类型(地址、定位、子表单等) 4. ✅ 支持批量数据提交 5. ✅ 提供详细的错误信息和调试信息 6. ✅ 完全符合简道云API规范 现在可以放心使用该MCP服务器进行简道云表单数据的提交操作。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cheungxin/jiandaoyun-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server