meshful.ai
Study tools for your AI agent.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 5 · Act 7 · Transact 1 · Score: Not yet scored
Tool inspector
submit_grade
Atomically submit the learner's exact answer and the agent's grade, evidence, and feedback. Grade meaning and unaided recall, not wording: Again for missing or contradicted essential meaning; Hard for correct but effortful unaided recall; Good for correct normal or unknown effort; Easy only for effortless unaided recall. Do not grade a materially defective card or pre-attempt assistance without an established failure. Cover every required concept. For signed-in accounts, this action reuses this client's Study-writer grant or acquires a new one only when none is active. It never replaces an active grant. If this client is superseded or a writer is active elsewhere, stop and ask the learner to choose Continue here in the Study UI, then retry. The transaction schedules, records, and advances the canonical session exactly once; the site reveals the just-graded definition and keeps it visible until the learner selects Next card. Give the saved specific feedback in chat while that definition is visible. Do not introduce the next term or call get_study_session merely to bypass the learner-controlled transition. Retry uncertain results only with identical arguments and key. This never navigates.
Page: /?demo=empty
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
session_id |
string | yes | Copy the current session_id from the live session response; never invent it. |
card_id |
string | yes | Copy current_card.card_id from this session, not a remembered or next-card identity. |
expected_card_revision |
integer | yes | Copy the exact current_card.card_revision used to assess this answer. |
expected_session_revision |
integer | yes | Copy the exact session.session_revision for this unanswered card; reread and reconcile conflicts. |
answer_text |
string | yes | The learner's exact submitted answer, including whitespace, symbols, errors, and self-corrections. Do not replace it with a summary or canonical definition. If it exceeds the limit, do not silently truncate it. |
answer_origin |
— | yes | Use chat for the default chat-led attempt; website only when the answer actually came from the website. |
rating |
— | yes | Apply definition-recall.v1: again = failed essential recall; hard = complete unaided but difficult; good = complete with ordinary/unknown effort; easy = complete with positively evidenced effortless unaided recall. Confidence is not fluency. |
rubric_evidence |
array | yes | One row for each returned required_concepts ID, with truthful semantic status and answer-grounded note. Use only returned IDs; do not add legacy rubric fields to a v2 card. Explain material recall context in an existing note or feedback. |
feedback |
string | yes | Prepare 1–3 chat-ready sentences privately: credit specific correct content and name the decisive gap/correction if present. For a complete answer, briefly confirm its meaning without invented criticism or a routine explanation of unused rating choices. After verifying the matching receipt, deliver this feedback once in chat. Preserve the original feedback on an exact retry. |
misconceptions |
array | yes | Plain-language substantial misconceptions actually expressed; [] when none. Missing material, low confidence, or weak card criteria are not learner misconceptions. |
confidence |
number | yes | Your confidence in the semantic assessment, from 0 to 1; not a correctness score, recall-speed measure, or Easy signal. Material assessment uncertainty means stop rather than invent a grade. |
idempotency_key |
string | yes | A fresh identity for this one logical review. On uncertain delivery, retry exactly the same arguments and key; never create a second review just to obtain a receipt. |
Raw JSON schema
{
"type": "object",
"properties": {
"session_id": {
"type": "string",
"minLength": 1,
"maxLength": 257,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
"description": "Copy the current session_id from the live session response; never invent it."
},
"card_id": {
"type": "string",
"minLength": 1,
"maxLength": 257,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
"description": "Copy current_card.card_id from this session, not a remembered or next-card identity."
},
"expected_card_revision": {
"type": "integer",
"minimum": 1,
"description": "Copy the exact current_card.card_revision used to assess this answer."
},
"expected_session_revision": {
"type": "integer",
"minimum": 1,
"description": "Copy the exact session.session_revision for this unanswered card; reread and reconcile conflicts."
},
"answer_text": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The learner's exact submitted answer, including whitespace, symbols, errors, and self-corrections. Do not replace it with a summary or canonical definition. If it exceeds the limit, do not silently truncate it."
},
"answer_origin": {
"enum": [
"chat",
"website"
],
"description": "Use chat for the default chat-led attempt; website only when the answer actually came from the website."
},
"rating": {
"enum": [
"again",
"hard",
"good",
"easy"
],
"description": "Apply definition-recall.v1: again = failed essential recall; hard = complete unaided but difficult; good = complete with ordinary/unknown effort; easy = complete with positively evidenced effortless unaided recall. Confidence is not fluency."
},
"rubric_evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rubric_item_id": {
"type": "string",
"minLength": 1,
"maxLength": 257,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
"description": "Copy an ID returned on this current card. Native v2 normally exposes required-1, required-2, etc.; do not assume those IDs for other cards."
},
"status": {
"enum": [
"met",
"partial",
"missed",
"contradicted"
],
"description": "met = full semantic support; partial = some required meaning; missed = no support; contradicted = unretracted incompatible claim. For an optional legacy major-error row, contradicted means the named misconception was actually asserted."
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 1000,
"description": "Briefly identify the answer phrase and its semantic support, omission, or conflict. No invented quotes, timing, assistance, or hidden reasoning transcript."
}
},
"required": [
"rubric_item_id",
"status",
"note"
],
"additionalProperties": false
},
"maxItems": 40,
"uniqueItems": true,
"description": "One row for each returned required_concepts ID, with truthful semantic status and answer-grounded note. Use only returned IDs; do not add legacy rubric fields to a v2 card. Explain material recall context in an existing note or feedback."
},
"feedback": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "Prepare 1–3 chat-ready sentences privately: credit specific correct content and name the decisive gap/correction if present. For a complete answer, briefly confirm its meaning without invented criticism or a routine explanation of unused rating choices. After verifying the matching receipt, deliver this feedback once in chat. Preserve the original feedback on an exact retry."
},
"misconceptions": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"maxItems": 20,
"uniqueItems": true,
"description": "Plain-language substantial misconceptions actually expressed; [] when none. Missing material, low confidence, or weak card criteria are not learner misconceptions."
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Your confidence in the semantic assessment, from 0 to 1; not a correctness score, recall-speed measure, or Easy signal. Material assessment uncertainty means stop rather than invent a grade."
},
"idempotency_key": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "A fresh identity for this one logical review. On uncertain delivery, retry exactly the same arguments and key; never create a second review just to obtain a receipt."
}
},
"required": [
"session_id",
"card_id",
"expected_card_revision",
"expected_session_revision",
"answer_text",
"answer_origin",
"rating",
"rubric_evidence",
"feedback",
"misconceptions",
"confidence",
"idempotency_key"
],
"additionalProperties": false
}
Similar websites
pocketgull.app
Pocket Gull is a real-time clinical AI consult engine powered by Google Gemini. Features 10D multi-paradigm strategy, FHIR R4 export & 3D spatial anatomy.
webmcp-six-lac.vercel.app
AI Navigation Layer: Model Context Protocol (MCP) Semantic DOM integration for intelligent, safe, and observable web navigation.
ghqsandbox.net
Interactive math and physics tools an AI agent can drive directly through WebMCP.
app.formative.com
Formative classroom assessment and learning platform