eln-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ELN_BASE_URL | No | API 地址,默认 http://10.1.228.52:13002/api/v1 | http://10.1.228.52:13002/api/v1 |
| ELN_HEADLESS | No | 默认 true;设为 false 可显示浏览器 | true |
| ELN_PASSWORD | Yes | 登录密码 | |
| ELN_USERNAME | Yes | 登录用户名 | |
| ELN_TOKEN_CACHE | No | Token 缓存路径 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | 通过浏览器自动化登录 ELN 平台,获取 JWT token。首次使用或 token 过期时调用。登录后会缓存 token 24 小时。 |
| check_authA | 检查当前 token 是否仍然有效。 |
| list_templatesA | 分页查询模板列表。可按分类筛选或按名称搜索。返回每个模板的 ID、名称、状态、版本等信息。 |
| get_template_detailA | 获取模板完整详情,含版本信息(草稿版本、当前版本、启用版本)。不加载到编辑会话,仅查看。 |
| list_categoriesB | 获取所有检测分类列表。创建模板时需要 categoryId。 |
| list_submission_logsA | 分页查询提交日志。返回提交类型、创建者、任务 ID 等信息。 |
| get_category_treeB | 获取完整的分类树结构,包含分类 → 样品的层级关系。 |
| list_samplesA | 查询指定分类下的样品列表。创建模板时需要知道样品属于哪个分类。 |
| search_templatesB | 搜索模板(GET /form-template/search)。支持 categoryId、name 筛选。 |
| create_templateA | 创建新模板并选中为当前编辑模板。需先 login。 |
| select_templateD | 选择模板并加载 Schema/extra/table 到内存。 |
| copy_templateC | 复制模板并选中新模板。 |
| delete_templateC | 删除指定模板。 |
| save_templateB | PATCH 保存 formTemplateJson + extra + tableTemplateJson。 |
| set_controlled_noC | 设置受控编号(需全局唯一)。 |
| update_template_metadataB | PATCH 更新 remark/spec/testingItemName,不改 Schema。 |
| list_template_versionsD | GET 版本历史列表。 |
| add_componentA | 向当前表单添加一个组件。支持完整的 ELN 组件体系:
|
| set_propertyB | 修改已添加组件的属性。可设置任意 x-component-props 或 x-decorator-props 字段。 属性名映射请参考 Skill 文件: formily-schema-guide.md |
| get_schemaA | 获取当前会话的完整 Formily Schema JSON。用于检查当前表单结构。 |
| set_full_schemaA | 直接设置完整的 Formily Schema JSON。适用于从已有模板复制 Schema 或 AI 一次性生成完整表单结构。会覆盖之前所有细粒度操作。 |
| remove_componentA | 从当前表单中删除指定组件。支持删除容器组件(会连同子组件一起删除)。 |
| list_componentsA | 列出当前表单中所有组件的树形结构。每个组件显示路径、标识、类型和标题。 |
| reset_schemaA | 清空当前表单 Schema,重新开始设计。注意:不影响已保存到服务器的数据。 |
| list_component_typesA | 列出编辑页组件库全部类型(与平台设计器左侧面板一致)。add_component 的 type 参数从此列表选择。 |
| set_form_settingsA | 设置表单级属性(右侧「表单」面板):labelCol、wrapperCol、labelWrap、layout 等。 |
| init_array_tableC | 创建自增表格骨架(含序号/操作列、添加按钮)。列内字段路径形如 tableName.colName.fieldName。 |
| init_array_fix_tableC | 创建固定行数表格骨架。适用于平行测定等固定行场景。 |
| set_enum_optionsC | 设置 Select/Radio/Checkbox 的可选项(enum 字段)。 |
| set_validatorC | 添加校验规则到 x-validator 数组。 |
| remove_validatorC | 按索引删除 x-validator 规则。 |
| set_reactionsC | 设置 x-reactions 响应器规则。 |
| remove_reactionsC | 删除字段的 x-reactions。 |
| copy_componentC | 复制组件子树到新 name,可指定新 parentPath。 |
| move_componentB | 将组件移动到新的 parentPath(先删后加)。 |
| reorder_componentC | 设置组件 x-index 排序值。 |
| add_grid_columnC | 向 FormGrid 添加 GridColumn 子节点。 |
| init_form_tableD | 创建表单内 Table/TableRow/TableCell 矩阵布局。 |
| add_formulaC | 添加或更新计算公式。ELN 内置 22 个函数。详细语法见 Skill: expression-engine.md |
| list_formulasA | 列出当前会话中所有计算公式。 |
| remove_formulaC | 按 ID 删除计算公式。 |
| add_output_itemC | 添加或更新输出值。名称格式: raw##{卡片标题}-{字段标题}##{字段名} |
| list_output_itemsA | 列出当前会话中所有输出值配置。 |
| remove_output_itemB | 按 ID 删除输出值配置。 |
| set_detection_dateA | 设置检测日期全局策略(missingPolicy、outputFormat)。不修改已有 items,除非传入 items 全量替换。 |
| add_detection_date_itemC | 添加一条检测日期字段绑定(DatePicker / DatePicker.RangePicker)。 |
| remove_detection_date_itemC | 删除一条检测日期配置项。 |
| set_full_extra_configA | 一次性设置完整 extra(expressionItems、outputItems、detectionDateConfig)。覆盖此前数据配置。 |
| list_detection_date_itemsB | 列出当前检测日期配置项。 |
| get_data_configB | 获取当前会话完整数据配置(公式、输出值、检测日期)。 |
| update_formulaC | 按 ID 更新已有公式。 |
| update_output_itemC | 按 ID 更新输出值 name。 |
| reorder_formulasB | 按 ID 顺序重排 expressionItems。 |
| list_expression_functionsA | 列出 ELN 表达式引擎 22 个内置函数。 |
| set_table_templateA | 设置完整的表格模板 JSON(x-spreadsheet 格式)。通常用于从已有模板复制表格配置。详细表格结构请参考 Skill 文件: table-building.md。 |
| get_table_templateB | 获取当前会话中的表格模板 JSON。 |
| bind_cell_dataC | 将表格单元格绑定到表单字段。绑定后单元格的值会随表单字段自动更新。 |
| set_spreadsheet_cellC | 设置 x-spreadsheet 单元格文本(表格搭建 Tab)。行/列从 0 开始。 |
| bind_cell_loopC | 绑定单元格区域到 ArrayTable 等循环数据(bind_loop)。 |
| set_cell_styleC | 设置单元格样式索引或样式属性。 |
| merge_cellsD | 合并单元格区域。 |
| insert_rowC | 在指定行索引插入空行。 |
| delete_rowC | 删除指定行。 |
| validate_templateB | 检查当前会话 Schema/extra 完整性(本地校验,非 UI 预览)。 |
| create_preview_sessionC | POST /template-preview/session 生成外部分享预览 token。 |
| get_sessionA | 查看当前编辑会话:模板 ID、版本 ID、组件数、公式数等。设计前/保存前用于确认状态。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 66 tools
Most tools have clear, distinct purposes (e.g., list_templates vs search_templates, get_schema vs list_components). However, there is overlap between add_formula/update_formula and add_output_item/update_output_item since the 'add' variants also support updating by ID, which could cause misselection.
The toolset largely follows a verb_noun snake_case pattern (list_, get_, set_, add_, remove_, etc.). Minor inconsistencies exist: mixing 'delete' and 'remove' for destruction (delete_template vs remove_component), and verbs like 'set' vs 'update' for the same action (set_full_schema vs update_*).
At 66 tools, the count is far above the 25+ threshold for 'too many'. While the domain is broad (template design, schema editing, table building, formulas, auth), the sheer number makes it heavy and potentially overwhelming for agents, despite each tool being reasonably scoped.
The toolset covers the full lifecycle of ELN template design: authentication, CRUD for templates, schema manipulation (components, properties, validators, reactions), table construction (rows, cells, bindings, styles), formulas/output items, detection date config, validation, and preview. No significant gaps are evident for the stated purpose.