Skip to main content
Glama
systemsomicslab

ms-data-parser

curation_submit

Destructive

Records curation flags for lipidomics spots from submitted review text or structured flags, then updates MS-DIAL alignment tags while preserving a backup.

Instructions

キュレーションのフラグを記録する(追記。フラグの無いスポットは「間違っていない」で何も書かない)。

ユーザーがビューアの「送信用テキストをコピー」で貼った文をそのまま submission_text に渡す (CURATION_SUBMIT で始まる行だけを読む。書き写さないこと)。直接渡すなら review_id と flags=[{"spot_id": 12, "flag": "wrong" | "suspect" | "confirmed" | "clear", "note": "..."}] (confirmed = 注釈が正しいと確かめた。wrong / suspect と排他)。 候補付け(cs-…)の送信は flags=[{spot_id, flag: assign|redundant|clear, candidate: "L1"|"R1", level: sum|species, note}]。候補の中身(名前・InChIKey)は保存済みの候補付けから展開するので、 送信側で名前を書かない。assign / redundant は _tags.xml を変えない。 source は誰の判断か: ユーザー自身の判断は "user"、LLM の提案にユーザーがチャットで同意した ものは "llm"。ユーザーの同意なしに呼ばない。 不正な要素が 1 つでもあれば何も書かずにエラーを返す(同じ spot_id を 1 回の送信で 2 回以上名指しした場合も含む——どちらを採るか決められないため)。 レビューはセッションの記録 → 送信用テキストの arf2_path → file_path(レビューを 作った .arf2)→ 既定の .arf2 の順に探すので、サーバ再起動の後でも貼った文で送れる。 記録の後、アラインメントの _tags.xml に反映する(wrong → Misannotation を付け Confirmed を外す、 confirmed → Confirmed を付け Misannotation を外す、suspect → Confirmed を外す、clear → 両方外す。 控えは curation/tags-backup/)。結果は tags_xml(added / removed は Misannotation、 confirmed は Confirmed の変化)。 反映に失敗しても記録は残る。MS-DIAL でプロジェクトを開いたままだと GUI の保存で 上書きされるので、tags_xml.note をユーザーに伝える。

Input Schema

NameRequiredDescriptionDefault
flagsNo
sourceNouser
file_pathNo
review_idNo
submission_textNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by explaining append-only recording, atomic validation, review lookup order, backup behavior, post-recording _tags.xml reflection, and failure semantics. It also warns that an open MS-DIAL project can overwrite changes and tells the caller to relay tags_xml.note to the user. This is fully consistent with destructiveHint=true and readOnlyHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and every section appears to earn its place. It is dense and long, but that length is largely justified by the tool's complexity; minor improvements in formatting could make it easier to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given five parameters, 0% schema descriptions, no output schema, and a destructive mutation, the description is complete: it covers input forms, validation, review lookup, persistence, tags_xml output fields, and the MS-DIAL overwrite caveat. An agent has enough information to call it correctly and warn the user appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the burden, and it does: it defines the flags structure, allowed flag values, candidate fields, source values ('user' vs 'llm'), and the roles of review_id, file_path, and submission_text. It adds substantial meaning well beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that this tool records curation flags in an append-only manner, including the two submission modes (pasted text vs. direct flags). The purpose is highly specific, though it does not explicitly distinguish itself from sibling curation tools such as curation_flags or curation_suggest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides strong usage context: pass the pasted 'CURATION_SUBMIT' text directly, use review_id and flags for direct submission, and use separate flag schemas for candidate assignment. It also explicitly says not to call without user consent and explains atomic error behavior, but it does not name alternative tools or explain when to prefer them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.