Skip to main content
Glama

ClassMarker MCP by usefulapi

Server Details

Read ClassMarker groups, links, exams and recent results; manage question bank and access codes.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

15 tools
classmarker_add_access_codesAdd access codes to a listInspect

WRITE: add access codes (1-100 per call, up to 255 characters each; a list holds at most 20,000) to a link's access-code list, so those people can start the exam. The access_list_id comes from classmarker_list_groups_links_exams (links[].access_list_id). Only adds; removing codes is not offered. Does not count against the 30 requests per hour limit. API: POST /v1/accesslists/{access_list_id}.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
codesYes1-100 access codes to add.
access_list_idYesThe access list id (links[].access_list_id).
classmarker_create_categoryCreate a categoryInspect

WRITE: create a question category under a parent category. Returns its category_id. Counts as one of ClassMarker's 30 requests per hour per API key. API: POST /v1/categories/category.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
category_nameYesName of the new category.
parent_category_idYesThe parent category id (from classmarker_list_categories).
classmarker_create_parent_categoryCreate a parent categoryInspect

WRITE: create a new top-level question category. Returns its parent_category_id. Counts as one of ClassMarker's 30 requests per hour per API key. API: POST /v1/categories/parent_category.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_category_nameYesName of the new parent category.
classmarker_create_questionCreate a questionInspect

WRITE: add a new question to the question bank. Only multiplechoice, multipleresponse, truefalse and essay can be created. Returns the new question_id. For truefalse, give only correct_options ["A"] (True) or ["B"] (False). Counts as one of ClassMarker's 30 requests per hour per API key. API: POST /v1/questions.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
pointsNoPoints for a correct answer (for an essay: the maximum score).
optionsNoAnswer options keyed by letter A-J (up to 10), e.g. {"A": "Apply oil", "B": "Soak in water"}. Needed for multiplechoice and multipleresponse; not allowed for truefalse and essay.
questionYesThe question text.
category_idNoCategory id (from classmarker_list_categories).
grade_styleNomultipleresponse only: partial credit with or without deduction, or off (all-or-nothing).
question_typeYesmultiplechoice (one correct option), multipleresponse (one or more), truefalse, or essay (graded by hand). Free text, grammar and matching cannot be written.
random_answersNoShuffle the order of the options for each test-taker (multiplechoice / multipleresponse).
correct_optionsNoLetters of the correct options, e.g. ["C"]. multiplechoice: exactly one; multipleresponse: one or more; truefalse: ["A"] (True) or ["B"] (False); not allowed for essay.
correct_feedbackNoFeedback shown for a correct answer.
incorrect_feedbackNoFeedback shown for an incorrect answer.
classmarker_get_questionGet a question
Read-only
Inspect

Get one question-bank question by id (ids from classmarker_list_questions). Counts as one of ClassMarker's 30 requests per hour per API key. API: GET /v1/questions/{question_id}.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
question_idYesThe question id.
classmarker_list_categoriesList question categories
Read-only
Inspect

List the question-bank categories with their parent categories and ids (needed for creating and updating questions). Counts as one of ClassMarker's 30 requests per hour per API key. API: GET /v1/categories.json.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

classmarker_list_questionsList question-bank questions
Read-only
Inspect

List the questions of the question bank, 200 per page (page 1, 2, ...): question text, type, category, points, options, correct options, status. A full page means more may follow, so ask for the next page. Counts as one of ClassMarker's 30 requests per hour per API key. API: GET /v1/questions.json?page=N.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1).
classmarker_recent_group_exam_resultsRecent results for one group exam
Read-only
Inspect

Recent finished results for ONE exam in ONE group (ids from classmarker_list_groups_links_exams), oldest first, PAGED by finish time. Contains personal data: use small pages. Counts as one of ClassMarker's 30 requests per hour per API key. API: GET /v1/groups/{group_id}/tests/{test_id}/recent_results.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per request, 1-200 (default 25; ClassMarker's own default is 200).
test_idYesThe exam (test) id.
group_idYesThe group id.
include_monitor_eventsNoInclude each result's detailed monitor_events.events list (default false: only the counts).
finished_after_timestampNoUNIX time in SECONDS: only results finished after this are returned (oldest first). Default: 14 days ago. Maximum look-back is 3 months. To page, pass next_finished_after_timestamp from the previous reply.
classmarker_recent_group_resultsRecent results across all groups
Read-only
Inspect

Recent finished test results taken in the key's groups (all groups, all exams), oldest first, PAGED by finish time: test-taker name, email, score, percentage, pass/fail, timing, certificate. Contains personal data: use small pages. Max look-back 3 months. Counts as one of ClassMarker's 30 requests per hour per API key. API: GET /v1/groups/recent_results.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per request, 1-200 (default 25; ClassMarker's own default is 200).
include_monitor_eventsNoInclude each result's detailed monitor_events.events list (default false: only the counts).
finished_after_timestampNoUNIX time in SECONDS: only results finished after this are returned (oldest first). Default: 14 days ago. Maximum look-back is 3 months. To page, pass next_finished_after_timestamp from the previous reply.
classmarker_update_categoryUpdate a category
DestructiveIdempotent
Inspect

WRITE: rename a category and/or move it to another parent (overwrites both fields: send the name and parent_category_id you want it to have). Counts as one of ClassMarker's 30 requests per hour per API key. API: PUT /v1/categories/category/{category_id}.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
category_idYesThe category id (from classmarker_list_categories).
category_nameYesThe category's name (new or unchanged).
parent_category_idYesThe parent category id (new or unchanged).
classmarker_update_parent_categoryRename a parent category
DestructiveIdempotent
Inspect

WRITE: rename an existing parent category (overwrites its name). Counts as one of ClassMarker's 30 requests per hour per API key. API: PUT /v1/categories/parent_category/{parent_category_id}.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_category_idYesThe parent category id (from classmarker_list_categories).
parent_category_nameYesThe new name.
classmarker_update_questionUpdate a question
DestructiveIdempotent
Inspect

WRITE (overwrites): replace an existing question-bank question. Send the COMPLETE question (type, text, options, correct options, points, feedback), not only the changed fields; read it first with classmarker_get_question. Only multiplechoice, multipleresponse, truefalse and essay questions can be updated. Counts as one of ClassMarker's 30 requests per hour per API key. API: PUT /v1/questions/{question_id}.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
pointsNoPoints for a correct answer (for an essay: the maximum score).
optionsNoAnswer options keyed by letter A-J (up to 10), e.g. {"A": "Apply oil", "B": "Soak in water"}. Needed for multiplechoice and multipleresponse; not allowed for truefalse and essay.
questionYesThe question text.
category_idNoCategory id (from classmarker_list_categories).
grade_styleNomultipleresponse only: partial credit with or without deduction, or off (all-or-nothing).
question_idYesThe question id (from classmarker_list_questions).
question_typeYesmultiplechoice (one correct option), multipleresponse (one or more), truefalse, or essay (graded by hand). Free text, grammar and matching cannot be written.
random_answersNoShuffle the order of the options for each test-taker (multiplechoice / multipleresponse).
correct_optionsNoLetters of the correct options, e.g. ["C"]. multiplechoice: exactly one; multipleresponse: one or more; truefalse: ["A"] (True) or ["B"] (False); not allowed for essay.
correct_feedbackNoFeedback shown for a correct answer.
incorrect_feedbackNoFeedback shown for an incorrect answer.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updates
    • First observedclassmarker_add_access_codes
    • First observedclassmarker_create_category
    • First observedclassmarker_create_parent_category
    • First observedclassmarker_create_question
    • First observedclassmarker_get_question
    • First observedclassmarker_list_categories
    • First observedclassmarker_list_groups_links_exams
    • First observedclassmarker_list_questions
    • First observedclassmarker_recent_group_exam_results
    • First observedclassmarker_recent_group_results
    • First observedclassmarker_recent_link_exam_results
    • First observedclassmarker_recent_link_results
    • First observedclassmarker_update_category
    • First observedclassmarker_update_parent_category
    • First observedclassmarker_update_question

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.