← WebMCP Directory

Tool tree

shiv-aurora.github.io

Health & EducationTools verified
Website
Potter's Wheel
Explore capabilities
    get_current_selectionAnswer

    Return the researcher's live manuscript selection, section, object kind, and verification state without changing the document.

    View tool JSON
    {
      "name": "get_current_selection",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the researcher's live manuscript selection, section, object kind, and verification state without changing the document.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_manuscript_contextAnswer

    Return live manuscript text and integrity context for the current selection, current section, or manuscript.

    View tool JSON
    {
      "name": "get_manuscript_context",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return live manuscript text and integrity context for the current selection, current section, or manuscript.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "selection",
              "section",
              "manuscript"
            ],
            "description": "Context scope. Defaults to the current section."
          },
          "maxChars": {
            "type": "integer",
            "minimum": 256,
            "maximum": 20000,
            "description": "Maximum manuscript characters to return. Defaults to 4000."
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_claimAnswer

    Return the currently selected claim, or a tracked claim by id, including its verification state and linked evidence.

    View tool JSON
    {
      "name": "get_claim",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the currently selected claim, or a tracked claim by id, including its verification state and linked evidence.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "claimId": {
            "type": "string",
            "description": "Optional tracked claim id. Omit it to use the current manuscript selection."
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_figureAnswer

    Return the currently selected figure, or a tracked figure by id, including its verification state and linked evidence.

    View tool JSON
    {
      "name": "get_figure",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the currently selected figure, or a tracked figure by id, including its verification state and linked evidence.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "figureId": {
            "type": "string",
            "description": "Optional tracked figure id. Omit it to use the current manuscript selection."
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_tableAnswer

    Return the currently selected table, or a tracked table by id, including its verification state and linked evidence.

    View tool JSON
    {
      "name": "get_table",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the currently selected table, or a tracked table by id, including its verification state and linked evidence.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tableId": {
            "type": "string",
            "description": "Optional tracked table id. Omit it to use the current manuscript selection."
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_current_sectionAnswer

    Return the named manuscript section containing the researcher's current selection together with that section's live text.

    View tool JSON
    {
      "name": "get_current_section",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the named manuscript section containing the researcher's current selection together with that section's live text.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_provenanceAnswer

    Return provenance and linked evidence for the currently selected tracked manuscript object, or for an explicit object id.

    View tool JSON
    {
      "name": "get_provenance",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return provenance and linked evidence for the currently selected tracked manuscript object, or for an explicit object id.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "description": "Optional tracked manuscript object id. Omit it to use the current manuscript selection."
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_integrity_statusAnswer

    Return live manuscript integrity counts and optional summaries of tracked provenance objects without changing researcher state.

    View tool JSON
    {
      "name": "get_integrity_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return live manuscript integrity counts and optional summaries of tracked provenance objects without changing researcher state.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "includeObjects": {
            "type": "boolean",
            "description": "Include tracked object summaries. Defaults to true."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum tracked object summaries to return. Defaults to 50."
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_navigation_targetsAnswer

    List tracked manuscript objects that an agent may ask the researcher to inspect or navigate to, optionally filtered by object kind or verification state.

    View tool JSON
    {
      "name": "get_navigation_targets",
      "kind": "answer",
      "impl": "imperative",
      "description": "List tracked manuscript objects that an agent may ask the researcher to inspect or navigate to, optionally filtered by object kind or verification state.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "claim",
              "method",
              "figure",
              "table"
            ],
            "description": "Optional manuscript object kind filter."
          },
          "verificationState": {
            "type": "string",
            "enum": [
              "unlinked",
              "needs-review",
              "verified",
              "stale",
              "contradicted"
            ],
            "description": "Optional verification-state filter."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum navigation targets to return. Defaults to 50."
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    create_claimAction

    Create a first-class provenance claim from the researcher's current explicit text selection. Requires the exact text previously read by the agent so stale selections fail safely.

    View tool JSON
    {
      "name": "create_claim",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a first-class provenance claim from the researcher's current explicit text selection. Requires the exact text previously read by the agent so stale selections fail safely.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "expectedText": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10000,
            "description": "Exact selected manuscript text observed before this call."
          }
        },
        "required": [
          "expectedText"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    attach_evidenceAction

    Attach structured evidence to the selected or explicitly identified tracked manuscript object. This visibly updates the same provenance state shown in the integrity panel.

    View tool JSON
    {
      "name": "attach_evidence",
      "kind": "act",
      "impl": "imperative",
      "description": "Attach structured evidence to the selected or explicitly identified tracked manuscript object. This visibly updates the same provenance state shown in the integrity panel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "description": "Optional tracked manuscript object id. Omit it to use the currently selected tracked object."
          },
          "type": {
            "type": "string",
            "enum": [
              "experiment-result",
              "result-file",
              "evaluation-script",
              "configuration",
              "implementation",
              "figure-source",
              "table-source",
              "dataset",
              "commit",
              "analysis-artifact",
              "other"
            ]
          },
          "label": {
            "type": "string",
            "maxLength": 300
          },
          "artifactId": {
            "type": "string",
            "maxLength": 300
          },
          "experimentId": {
            "type": "string",
            "maxLength": 300
          },
          "commit": {
            "type": "string",
            "maxLength": 200
          },
          "metric": {
            "type": "string",
            "maxLength": 500
          },
          "uri": {
            "type": "string",
            "maxLength": 1000
          },
          "relation": {
            "type": "string",
            "enum": [
              "supports",
              "produces",
              "describes",
              "derived-from"
            ]
          },
          "notes": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "label"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    update_evidenceAction

    Update structured evidence already linked to a tracked manuscript object. The evidence must belong to that object; unrelated evidence cannot be edited through this call.

    View tool JSON
    {
      "name": "update_evidence",
      "kind": "act",
      "impl": "imperative",
      "description": "Update structured evidence already linked to a tracked manuscript object. The evidence must belong to that object; unrelated evidence cannot be edited through this call.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "description": "Optional tracked object id. Omit it to use the selected tracked object."
          },
          "evidenceId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "experiment-result",
              "result-file",
              "evaluation-script",
              "configuration",
              "implementation",
              "figure-source",
              "table-source",
              "dataset",
              "commit",
              "analysis-artifact",
              "other"
            ]
          },
          "label": {
            "type": "string",
            "maxLength": 300
          },
          "artifactId": {
            "type": "string",
            "maxLength": 300
          },
          "experimentId": {
            "type": "string",
            "maxLength": 300
          },
          "commit": {
            "type": "string",
            "maxLength": 200
          },
          "metric": {
            "type": "string",
            "maxLength": 500
          },
          "uri": {
            "type": "string",
            "maxLength": 1000
          },
          "relation": {
            "type": "string",
            "enum": [
              "supports",
              "produces",
              "describes",
              "derived-from"
            ]
          },
          "notes": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "evidenceId"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    verify_claimAction

    Run the editor's deterministic Verify This comparison for a selected or identified tracked claim. It compares only unambiguous manuscript and evidence metric values and returns an honest review-required outcome otherwise.

    View tool JSON
    {
      "name": "verify_claim",
      "kind": "act",
      "impl": "imperative",
      "description": "Run the editor's deterministic Verify This comparison for a selected or identified tracked claim. It compares only unambiguous manuscript and evidence metric values and returns an honest review-required outcome otherwise.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "claimId": {
            "type": "string",
            "description": "Optional tracked claim id. Omit it to use the selected tracked claim."
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    record_verification_resultAction

    Record an evidence-backed conclusion from an external research agent on a tracked claim. This stores the visible result and reasons but never changes manuscript text; use propose_claim_change separately for a researcher-reviewed correction.

    View tool JSON
    {
      "name": "record_verification_result",
      "kind": "act",
      "impl": "imperative",
      "description": "Record an evidence-backed conclusion from an external research agent on a tracked claim. This stores the visible result and reasons but never changes manuscript text; use propose_claim_change separately for a researcher-reviewed correction.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "claimId": {
            "type": "string",
            "description": "Optional tracked claim id. Omit it to use the selected tracked claim."
          },
          "outcome": {
            "type": "string",
            "enum": [
              "verified",
              "contradicted",
              "stale",
              "missing-evidence",
              "needs-review",
              "partially-supported"
            ]
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "evidenceIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50
          }
        },
        "required": [
          "outcome",
          "reason",
          "evidenceIds"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    set_verification_stateAction

    Set the verification state of a tracked manuscript object. Verified, stale, contradicted, and needs-review states require linked evidence; unlinked is only valid when no evidence is attached.

    View tool JSON
    {
      "name": "set_verification_state",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the verification state of a tracked manuscript object. Verified, stale, contradicted, and needs-review states require linked evidence; unlinked is only valid when no evidence is attached.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "description": "Optional tracked object id. Omit it to use the selected tracked object."
          },
          "verificationState": {
            "type": "string",
            "enum": [
              "unlinked",
              "needs-review",
              "verified",
              "stale",
              "contradicted"
            ]
          }
        },
        "required": [
          "verificationState"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    propose_claim_changeAction

    Stage a replacement for a tracked claim as CriticMarkup. This never silently accepts the new manuscript text: the researcher receives the editor's normal accept/reject controls.

    View tool JSON
    {
      "name": "propose_claim_change",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a replacement for a tracked claim as CriticMarkup. This never silently accepts the new manuscript text: the researcher receives the editor's normal accept/reject controls.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "claimId": {
            "type": "string",
            "description": "Optional tracked claim id. Omit it to use the selected tracked claim."
          },
          "expectedText": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10000
          },
          "replacementText": {
            "type": "string",
            "maxLength": 10000
          }
        },
        "required": [
          "expectedText",
          "replacementText"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    insert_commentAction

    Insert an additive visible comment on the current selection line or a tracked object's line. Existing comment threads are never overwritten; the tool fails if that line already has a comment.

    View tool JSON
    {
      "name": "insert_comment",
      "kind": "act",
      "impl": "imperative",
      "description": "Insert an additive visible comment on the current selection line or a tracked object's line. Existing comment threads are never overwritten; the tool fails if that line already has a comment.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "objectId": {
            "type": "string",
            "description": "Optional tracked object whose anchor line should receive the comment."
          },
          "line": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional explicit one-based manuscript line number."
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    replace_selected_contentAction

    Stage a replacement for the researcher's current explicit selection. Despite the action name, the new text is not silently accepted: it is inserted as CriticMarkup and remains pending until the researcher accepts or rejects it.

    View tool JSON
    {
      "name": "replace_selected_content",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a replacement for the researcher's current explicit selection. Despite the action name, the new text is not silently accepted: it is inserted as CriticMarkup and remains pending until the researcher accepts or rejects it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "expectedText": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10000,
            "description": "Exact selected text observed before this call."
          },
          "replacementText": {
            "type": "string",
            "maxLength": 10000
          }
        },
        "required": [
          "expectedText",
          "replacementText"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    navigate_to_objectAction

    Move the visible editor selection to a tracked claim, method, figure, or table. This changes navigation state only; it does not modify manuscript or provenance content.

    View tool JSON
    {
      "name": "navigate_to_object",
      "kind": "act",
      "impl": "imperative",
      "description": "Move the visible editor selection to a tracked claim, method, figure, or table. This changes navigation state only; it does not modify manuscript or provenance content.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string"
          }
        },
        "required": [
          "objectId"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_research_diffsAnswer

    Return evidence-driven Research Diff entries from live provenance alongside currently pending CriticMarkup manuscript proposals.

    View tool JSON
    {
      "name": "get_research_diffs",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return evidence-driven Research Diff entries from live provenance alongside currently pending CriticMarkup manuscript proposals.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    stage_research_diffAction

    Stage the proposed manuscript text for one evidence-driven Research Diff as CriticMarkup. The update remains unapplied until the researcher uses the visible accept/reject controls.

    View tool JSON
    {
      "name": "stage_research_diff",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage the proposed manuscript text for one evidence-driven Research Diff as CriticMarkup. The update remains unapplied until the researcher uses the visible accept/reject controls.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "diffId": {
            "type": "string"
          }
        },
        "required": [
          "diffId"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    review_research_diffAction

    Record a defer or reject decision for an evidence-driven Research Diff without changing manuscript text. Agents cannot accept manuscript rewrites.

    View tool JSON
    {
      "name": "review_research_diff",
      "kind": "act",
      "impl": "imperative",
      "description": "Record a defer or reject decision for an evidence-driven Research Diff without changing manuscript text. Agents cannot accept manuscript rewrites.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "diffId": {
            "type": "string"
          },
          "decision": {
            "type": "string",
            "enum": [
              "deferred",
              "rejected"
            ]
          },
          "reason": {
            "type": "string",
            "maxLength": 1000
          }
        },
        "required": [
          "diffId",
          "decision"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    navigate_to_research_diffAction

    Move the visible editor selection to an evidence-driven Research Diff or pending CriticMarkup proposal so the researcher can inspect it without changing manuscript content.

    View tool JSON
    {
      "name": "navigate_to_research_diff",
      "kind": "act",
      "impl": "imperative",
      "description": "Move the visible editor selection to an evidence-driven Research Diff or pending CriticMarkup proposal so the researcher can inspect it without changing manuscript content.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "integer",
            "minimum": 0,
            "description": "A pending CriticMarkup diff's `from` value."
          },
          "diffId": {
            "type": "string",
            "description": "An evidence-driven Research Diff id."
          }
        },
        "anyOf": [
          {
            "required": [
              "from"
            ]
          },
          {
            "required": [
              "diffId"
            ]
          }
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_experimentsAnswer

    Return the same persisted experiment runs visible in Potter’s Wheel, optionally filtered by run status.

    View tool JSON
    {
      "name": "get_experiments",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the same persisted experiment runs visible in Potter’s Wheel, optionally filtered by run status.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "planned",
              "running",
              "completed",
              "failed",
              "superseded"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_experimentAnswer

    Return one run with its parameters, metrics, artifacts, produced evidence, and dependent manuscript objects.

    View tool JSON
    {
      "name": "get_experiment",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return one run with its parameters, metrics, artifacts, produced evidence, and dependent manuscript objects.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Experiment run id"
          }
        },
        "required": [
          "experimentId"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    compare_experimentsAction

    Compare the configuration, metrics, datasets, artifacts, and provenance impact of two experiment runs.

    View tool JSON
    {
      "name": "compare_experiments",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare the configuration, metrics, datasets, artifacts, and provenance impact of two experiment runs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "baseExperimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Earlier experiment id"
          },
          "candidateExperimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Newer experiment id"
          }
        },
        "required": [
          "baseExperimentId",
          "candidateExperimentId"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    get_evidence_catalogAnswer

    Return evidence between experiments and the paper, including its originating run and manuscript usage.

    View tool JSON
    {
      "name": "get_evidence_catalog",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return evidence between experiments and the paper, including its originating run and manuscript usage.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Optional originating experiment id"
          },
          "type": {
            "type": "string",
            "enum": [
              "experiment-result",
              "result-file",
              "evaluation-script",
              "configuration",
              "implementation",
              "figure-source",
              "table-source",
              "dataset",
              "commit",
              "analysis-artifact",
              "other"
            ]
          }
        },
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    create_experimentAction

    Create a run in the same Experiments workspace the researcher uses.

    View tool JSON
    {
      "name": "create_experiment",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a run in the same Experiments workspace the researcher uses.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 300,
            "description": "Optional stable run id"
          },
          "name": {
            "type": "string",
            "maxLength": 300,
            "description": "Human-readable run name"
          },
          "status": {
            "type": "string",
            "enum": [
              "planned",
              "running",
              "completed",
              "failed",
              "superseded"
            ]
          },
          "method": {
            "type": "string",
            "maxLength": 300,
            "description": "Model or research method"
          },
          "sourceCommit": {
            "type": "string",
            "maxLength": 200,
            "description": "Source commit"
          },
          "notes": {
            "type": "string",
            "maxLength": 2000,
            "description": "Research notes"
          },
          "startedAt": {
            "type": "string",
            "maxLength": 300,
            "description": "ISO timestamp"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    update_experimentAction

    Update run metadata such as its name, method, notes, timestamps, datasets, or source commit.

    View tool JSON
    {
      "name": "update_experiment",
      "kind": "act",
      "impl": "imperative",
      "description": "Update run metadata such as its name, method, notes, timestamps, datasets, or source commit.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Experiment run id"
          },
          "name": {
            "type": "string",
            "maxLength": 300,
            "description": "Run name"
          },
          "method": {
            "type": "string",
            "maxLength": 300,
            "description": "Model or method"
          },
          "sourceCommit": {
            "type": "string",
            "maxLength": 200,
            "description": "Source commit"
          },
          "notes": {
            "type": "string",
            "maxLength": 2000,
            "description": "Research notes"
          },
          "datasets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 100
          },
          "startedAt": {
            "type": "string",
            "maxLength": 300,
            "description": "ISO timestamp"
          },
          "completedAt": {
            "type": "string",
            "maxLength": 300,
            "description": "ISO timestamp"
          }
        },
        "required": [
          "experimentId"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    add_experiment_metricAction

    Add or update a named metric on a research run.

    View tool JSON
    {
      "name": "add_experiment_metric",
      "kind": "act",
      "impl": "imperative",
      "description": "Add or update a named metric on a research run.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Experiment run id"
          },
          "key": {
            "type": "string",
            "maxLength": 300,
            "description": "Metric name"
          },
          "value": {}
        },
        "required": [
          "experimentId",
          "key",
          "value"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    add_experiment_parameterAction

    Add or update a named configuration value on a research run.

    View tool JSON
    {
      "name": "add_experiment_parameter",
      "kind": "act",
      "impl": "imperative",
      "description": "Add or update a named configuration value on a research run.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Experiment run id"
          },
          "key": {
            "type": "string",
            "maxLength": 300,
            "description": "Parameter name"
          },
          "value": {}
        },
        "required": [
          "experimentId",
          "key",
          "value"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    log_experiment_metric_pointAction

    Append a numeric metric point at a training step and update the run's latest value, like an MLflow metric history.

    View tool JSON
    {
      "name": "log_experiment_metric_point",
      "kind": "act",
      "impl": "imperative",
      "description": "Append a numeric metric point at a training step and update the run's latest value, like an MLflow metric history.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Experiment run id"
          },
          "key": {
            "type": "string",
            "maxLength": 300,
            "description": "Metric name"
          },
          "value": {
            "type": "number"
          },
          "step": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "experimentId",
          "key",
          "value"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    attach_experiment_artifactAction

    Attach a result, figure, table, configuration, or other artifact to a research run.

    View tool JSON
    {
      "name": "attach_experiment_artifact",
      "kind": "act",
      "impl": "imperative",
      "description": "Attach a result, figure, table, configuration, or other artifact to a research run.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Experiment run id"
          },
          "label": {
            "type": "string",
            "maxLength": 300,
            "description": "Artifact label"
          },
          "type": {
            "type": "string",
            "maxLength": 300,
            "description": "Artifact type"
          },
          "uri": {
            "type": "string",
            "maxLength": 1000,
            "description": "Artifact URI"
          },
          "id": {
            "type": "string",
            "maxLength": 300,
            "description": "Optional artifact id"
          }
        },
        "required": [
          "experimentId",
          "label"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    set_experiment_statusAction

    Mark a run planned, running, completed, or failed in the shared experiment workspace.

    View tool JSON
    {
      "name": "set_experiment_status",
      "kind": "act",
      "impl": "imperative",
      "description": "Mark a run planned, running, completed, or failed in the shared experiment workspace.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Experiment run id"
          },
          "status": {
            "type": "string",
            "enum": [
              "planned",
              "running",
              "completed",
              "failed"
            ]
          },
          "completedAt": {
            "type": "string",
            "maxLength": 300,
            "description": "Optional ISO completion timestamp"
          }
        },
        "required": [
          "experimentId",
          "status"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    supersede_experimentAction

    Identify a newer run as replacing an earlier run and mark dependent manuscript objects stale for review.

    View tool JSON
    {
      "name": "supersede_experiment",
      "kind": "act",
      "impl": "imperative",
      "description": "Identify a newer run as replacing an earlier run and mark dependent manuscript objects stale for review.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "olderExperimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Superseded run id"
          },
          "newerExperimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Replacement run id"
          }
        },
        "required": [
          "olderExperimentId",
          "newerExperimentId"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    create_experiment_evidenceAction

    Turn a run metric, configuration, result, figure, or table artifact into durable evidence for the paper. A superseded evidence id rewires its manuscript links and creates Research Diffs.

    View tool JSON
    {
      "name": "create_experiment_evidence",
      "kind": "act",
      "impl": "imperative",
      "description": "Turn a run metric, configuration, result, figure, or table artifact into durable evidence for the paper. A superseded evidence id rewires its manuscript links and creates Research Diffs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "experimentId": {
            "type": "string",
            "maxLength": 300,
            "description": "Originating experiment id"
          },
          "label": {
            "type": "string",
            "maxLength": 300,
            "description": "Evidence label"
          },
          "type": {
            "type": "string",
            "enum": [
              "experiment-result",
              "result-file",
              "evaluation-script",
              "configuration",
              "implementation",
              "figure-source",
              "table-source",
              "dataset",
              "commit",
              "analysis-artifact",
              "other"
            ]
          },
          "evidenceKind": {
            "type": "string",
            "maxLength": 300,
            "description": "Quantitative result, comparison, methodology, ablation, figure, or table result"
          },
          "metric": {
            "type": "string",
            "maxLength": 500,
            "description": "Machine-readable metric, for example accuracy=17.3%"
          },
          "value": {},
          "baseline": {},
          "artifactId": {
            "type": "string",
            "maxLength": 300,
            "description": "Artifact id"
          },
          "uri": {
            "type": "string",
            "maxLength": 1000,
            "description": "Artifact URI"
          },
          "notes": {
            "type": "string",
            "maxLength": 2000,
            "description": "Research notes"
          },
          "supersedesEvidenceId": {
            "type": "string",
            "maxLength": 300,
            "description": "Optional older evidence id to replace"
          }
        },
        "required": [
          "experimentId",
          "label"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }
    link_evidence_to_manuscriptAction

    Connect existing experiment evidence to an existing claim, figure, table, or method in the same visible workspace.

    View tool JSON
    {
      "name": "link_evidence_to_manuscript",
      "kind": "act",
      "impl": "imperative",
      "description": "Connect existing experiment evidence to an existing claim, figure, table, or method in the same visible workspace.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "evidenceId": {
            "type": "string",
            "maxLength": 300,
            "description": "Evidence id"
          },
          "objectId": {
            "type": "string",
            "maxLength": 300,
            "description": "Tracked manuscript object id"
          },
          "relation": {
            "type": "string",
            "enum": [
              "supports",
              "produces",
              "describes",
              "derived-from"
            ]
          }
        },
        "required": [
          "evidenceId",
          "objectId"
        ],
        "additionalProperties": false
      },
      "page": "/openai-webmcp-challenge/"
    }